بتاريخ: 6 مايو 201411 سنة comment_250189 السلام عليكم مشرفين واعضاء منتدنا الرئع ارجو ان تكونو بصحة وعافية لدي استفسار وهو كالتالي في التقرير عندي حقل مقبوضات وحقل مصروفات ولدي كذلك حقل الرصيد اريد التالي المصروفات - المقبوضات = الرصيد ولكن بشرط ان يكون ناتج الرصيد بناء على رقم المستفيد حولت بهذا الكود ولكن كانت النتائج خاطئه function CF_3Formula return Number is DUMMY NUMBER(14,2); begin IF :SOURCE_NO = :SOURCE_NO THEN DUMMY := :CF_2 - :CF_1 ; RETURN(DUMMY); END IF; end; ارجو التصحيح ان وجد الخطا او اعطائي طريقة لعمل المطلوب ولكم خالص الشكر التقدير تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة comment_250208 السلام عليكم نفرض ان التقرير لديك كالتالي: رقم المستفيد المصروفات المقبوضات الرصيد 1000 5000 3000 2000 ضع CF_3 داخل الـ Repeating Frame على مستوى المستفيد وستظهر النتائج صحيحة. حيث أن الـ CF_2 ستكون المصروفات. CF_1 ستكون المقبوضات. تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة كاتب الموضوع comment_250235 السلام عليكم نفرض ان التقرير لديك كالتالي: رقم المستفيد المصروفات المقبوضات الرصيد 1000 5000 3000 2000 ضع CF_3 داخل الـ Repeating Frame على مستوى المستفيد وستظهر النتائج صحيحة. حيث أن الـ CF_2 ستكون المصروفات. CF_1 ستكون المقبوضات. اولا اشكر اخي احمد حسن لسرعىة الرد والتفاعل مع الموضوع CF_3 هي فعلا داخل الـ Repeating Frame على مستوى المستفيد ومع ذلك النتيجة لم تكن صحيحه هل هناك خطا في الكود اما هناك شي اخر ارفقت لك صوره لما اريده اخي احمد هذا هو هدفي كما في الصوره ارجو المساعده ولك خالص الشكر والتقدير تم تعديل 7 مايو 201411 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة comment_250239 ماذا تقصد بالنتيجة لم تكن صحيحة ؟ هل نتيجة عملية الطرح تعطي نتيجة خاطئة ؟؟ تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة كاتب الموضوع comment_250241 ماذا تقصد بالنتيجة لم تكن صحيحة ؟ هل نتيجة عملية الطرح تعطي نتيجة خاطئة ؟؟ تعم تعطي النتيجة خاطئه لانها بنا على خانة المصروف المقابلة فمثلا اذا كان المستفيد رقم 1 صرف له مبلغ 4000 وبعد 10 ايام قام باعاده المبلغ 4000 هنا المفروض ان يكون رصيده هو 0 لانه قام بتصفية عهدته ما يضهر عند هكذا وهذ خطا رقم المستفيد اسم ا لستفيد المقبوض المصروف الرصيد 1 احمد 0 4000 4000 2 علي 500 0 500- 1 احمد 4000 0 4000- اعتقد اذا لم يتكرر رقم المستفيد ستكون النتيجه صحيحه ولكني لا اعرف الطريقه لدمج رقم المستفيد ام هناك طريقه اخرى اخي احمد اشكر جزيل الشكر مهندس احمد تم تعديل 7 مايو 201411 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة comment_250242 لان المشكلة لديك في الكويري: يجب عمل Sum لكل من المصروف والمقبوض وتعمل Grouping على المستفيد. تقديم بلاغ
بتاريخ: 7 مايو 201411 سنة كاتب الموضوع comment_250243 لان المشكلة لديك في الكويري: يجب عمل Sum لكل من المصروف والمقبوض وتعمل Grouping على المستفيد. هذا ما عملتة استاذ احمد واليك الكويري ارجو التصحيح اخي العزيز SELECT SUM(LOC_TRANS_AMOUNT ) "LOC_TRANS_AMOUNT", ACCOUNT_TYPE || COMP# || REGION_CODE || BRANCH# || ACCOUNT_NO "TRANS_LOC" , SOURCE_TYPE ,SOURCE_NO, PAYMENT_TYPE, TRANS_TYPE FROM CFL_TRANSACTIONS WHERE (account_type||comp#||region_code||branch# = _CASHIER_BANK||_CO||_ACT||_BR OR _CASHIER_BANK||_CO||_ACT||_BR IS NULL ) AND (ACCOUNT_NO= _ACCT_NO OR _ACCT_NO IS NULL) AND trunc(TRANS_DATE) BETWEEN :FROM_DATE_TIME AND :TO_DATE_TIME and TRANS_TYPE NOT IN ('01' , '02') AND (TRANS_TYPE = _TRANS_TYPE OR _TRANS_TYPE IS NULL) GROUP BY ACCOUNT_TYPE || COMP# || REGION_CODE || BRANCH# || ACCOUNT_NO , SOURCE_TYPE ,SOURCE_NO, PAYMENT_TYPE,TRANS_TYPE اكرر شكري وامتناني اخي العزيز احمد تقديم بلاغ
بتاريخ: 8 مايو 201411 سنة كاتب الموضوع comment_250301 السلام عليكم مشرفين واعضا منتدنا المبدع كي اوضح ما اقصده بشكل مبسط المشكلة عندي كالتالي ليد نافذه سند صرف مرتبطه بجدول مصروفات ونافذه سند قبض مرتبطه بجول سند قبض ولدي برسيجر يقوم بترحيل البينانات من الجدولين الي جدول سميته الحركات مع العلم بان حقل المبلغ في جدول الحركات هو وحد لكل من المصروفات والمقبوضات الا قمت بعمل تقرير لمعرفتة التدفق النقدي ومصدر بيانته من جدول الحركات وفيه وهو كالتالي رقم المستفيد اسم ا لستفيد المقبوض المصروف الرصيد 1 احمد 0 4000 4000 2 علي 500 0 500- 1 احمد 4000 0 4000- طبعا المقبوضات انا عمالها فورميلا وكي اافرق بين المقبوضات والمصروفات عملت الكود التالي فيها IF :TRANS_TYPE < 50 THEN RETURN(:LOC_TRANS_AMOUNT1); ELSE RETURN(NULL); END IF; اما المصروفات فقد عملت نفس الشرط ولكن بد عن > عملت < كا لتالي function CF_2Formula return Number is begin IF :TRANS_TYPE > 50 THEN RETURN(:LOC_TRANS_AMOUNT1); ELSE RETURN(NULL); END IF; اما بالنسبه للرصيد فقد عملت حقل واريده الفرق بين المصروفات والمقبوضات وهو كالتالي function CF_3Formula return Number is DUMMY NUMBER(14,2); begin IF :SOURCE_NO = :SOURCE_NO THEN DUMMY := :CF_2 - :CF_1 ; RETURN(DUMMY); END IF; end; فكانت النتيجة خاطئه لان هناك تكرار لاسم المستفيد بمعنى ان المصروف لا يظهر مقابل المقبوض لنفس المستفيد وبهذا عمليه الطرح تتم بشكل خاطا ارجو المساعده ولكم مني جزيل الشكر والتقدير تم تعديل 8 مايو 201411 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 8 مايو 201411 سنة comment_250302 السلام عليكم نفذ الجملة التالية على التود وشوف النتيجة: SELECT SUM (loc_trans_amount), source_no FROM cfl_transactions WHERE ( account_type || comp# || region_code || branch# = _cashier_bank || _co || _act || _br OR _cashier_bank || _co || _act || _br IS NULL ) AND (account_no = _acct_no OR _acct_no IS NULL) AND TRUNC (trans_date) BETWEEN :from_date_time AND :to_date_time AND trans_type NOT IN ('01', '02') AND (trans_type = _trans_type OR _trans_type IS NULL) GROUP BY source_no تقديم بلاغ
بتاريخ: 8 مايو 201411 سنة كاتب الموضوع comment_250306 السلام عليكم نفذ الجملة التالية على التود وشوف النتيجة: SELECT SUM (loc_trans_amount), source_no FROM cfl_transactions WHERE ( account_type || comp# || region_code || branch# = _cashier_bank || _co || _act || _br OR _cashier_bank || _co || _act || _br IS NULL ) AND (account_no = _acct_no OR _acct_no IS NULL) AND TRUNC (trans_date) BETWEEN :from_date_time AND :to_date_time AND trans_type NOT IN ('01', '02') AND (trans_type = _trans_type OR _trans_type IS NULL) GROUP BY source_no اشكرا اخي الكريم احمد حسن لحسن المتابع نفذ من غير تكرار وكذلك الكيوري السابق نفذ من غير تكرار ولكن اعتقد ان مشكلة التكرار هي من الشرط الذي في حقل CF_1 واال CF_2 H الذي في التقرير وقد وضحت كود الشرط وهو كالتالي السلام عليكم مشرفين واعضا منتدنا المبدع كي اوضح ما اقصده بشكل مبسط المشكلة عندي كالتالي ليد نافذه سند صرف مرتبطه بجدول مصروفات ونافذه سند قبض مرتبطه بجول سند قبض ولدي برسيجر يقوم بترحيل البينانات من الجدولين الي جدول سميته الحركات مع العلم بان حقل المبلغ في جدول الحركات هو وحد لكل من المصروفات والمقبوضات الا قمت بعمل تقرير لمعرفتة التدفق النقدي ومصدر بيانته من جدول الحركات وفيه وهو كالتالي رقم المستفيد اسم ا لستفيد المقبوض المصروف الرصيد 1 احمد 0 4000 4000 2 علي 500 0 500- 1 احمد 4000 0 4000- طبعا المقبوضات انا عمالها فورميلا وكي اافرق بين المقبوضات والمصروفات عملت الكود التالي فيها IF :TRANS_TYPE < 50 THEN RETURN(:LOC_TRANS_AMOUNT1); ELSE RETURN(NULL); END IF; اما المصروفات فقد عملت نفس الشرط ولكن بد عن > عملت < كا لتالي function CF_2Formula return Number is begin IF :TRANS_TYPE > 50 THEN RETURN(:LOC_TRANS_AMOUNT1); ELSE RETURN(NULL); END IF; اما بالنسبه للرصيد فقد عملت حقل واريده الفرق بين المصروفات والمقبوضات وهو كالتالي function CF_3Formula return Number is DUMMY NUMBER(14,2); begin IF :SOURCE_NO = :SOURCE_NO THEN DUMMY := :CF_2 - :CF_1 ; RETURN(DUMMY); END IF; end; فكانت النتيجة خاطئه لان هناك تكرار لاسم المستفيد بمعنى ان المصروف لا يظهر مقابل المقبوض لنفس المستفيد وبهذا عمليه الطرح تتم بشكل خاطا ارجو المساعده ولكم مني جزيل الشكر والتقدير اخي احمد انت شخص رئع بما تعني الكلمة ربي يفتح عليك ويفقك تقديم بلاغ
بتاريخ: 12 مايو 201411 سنة كاتب الموضوع comment_250481 السلام عليكم تم حل المشكلة ؟ وعليكم السلام ايها المشرف المبدع احمد حسن الشكر الكثير لمشرفنا المبدع احمد حسن لمتابعتة للموضع والفضل بعد الله يعود له في حل المشكلة وكي تعم الفائده فقد كان الخطاء من الكيوري وهذا تصحيح الكيوري SELECT trans_loc, source_type, source_no, SUM (expenses) expenses, SUM (receipts) receipts, (SUM (expenses) - SUM (receipts)) balance FROM (SELECT trans_loc, source_type, source_no, expenses, receipts FROM (SELECT (SELECT NVL (SUM (b.loc_trans_amount), 0) FROM cfl_transactions b WHERE 1 = 1 AND TRUNC (b.trans_date) BETWEEN :from_date_time AND :to_date_time AND b.trans_type NOT IN ('01', '02') AND b.trans_type > 50 AND b.source_no = a.source_no AND b.account_type = a.account_type AND b.comp# = a.comp# AND b.region_code = a.region_code AND b.branch# = a.branch# AND b.account_no = a.account_no AND b.trans_no = a.trans_no) expenses, (SELECT NVL (SUM (b.loc_trans_amount), 0) FROM cfl_transactions b WHERE 1 = 1 AND TRUNC (b.trans_date) BETWEEN :from_date_time AND :to_date_time AND b.trans_type NOT IN ('01', '02') AND b.trans_type < 50 AND b.source_no = a.source_no AND b.account_type = a.account_type AND b.comp# = a.comp# AND b.region_code = a.region_code AND b.branch# = a.branch# AND b.account_no = a.account_no AND b.trans_no = a.trans_no) receipts, a.account_type || a.comp# || a.region_code || a.branch# || a.account_no "TRANS_LOC", a.source_type, a.source_no, a.payment_type, a.trans_type FROM cfl_transactions a WHERE 1 = 1 AND ( a.account_type || a.comp# || a.region_code || a.branch# = _cashier_bank || _co || _act || _br OR _cashier_bank || _co || _act || _br IS NULL ) AND (a.account_no = _acct_no OR _acct_no IS NULL) AND TRUNC (a.trans_date) BETWEEN :from_date_time AND :to_date_time AND a.trans_type NOT IN ('01', '02') /*AND source_no = '01010136'*/)) GROUP BY trans_loc, source_type, source_no وكانت تكمن المشكلة بان يتم عمل تكرار للمستفيد اذا كان له مصروفات ومقبوضات لانه حقل المصروفات والمقبوضات كان حقل وحد جزاك الله خير اخي العزيز احمد حسن وان شالله في ميزان حسنتك تقديم بلاغ
بتاريخ: 13 مايو 201411 سنة كاتب الموضوع comment_250541 السلام عليكم اخي العزيز المهندس احمد حسن السلام عليكم اعضاء ومشرفين منتدنا الرئع بقي لي استفسار بما يخص التقرير وهو للتطوير التقرير كا التالي لدي في التقرير نوع لمستفيد وقد يكون ( عهاد - اعمال - موردين الخ ) ولدي المستفيد بحد ذاته اي كل نوع مستفيد يحتوي عدد من المستفيد ين كل مستفيد يتم تجميع المبالغ الذي المصروفه او المدفوعه له الان انا لدي اعمال كل عمل صرف مثلا 10000 ولكن لم تصرف بشكل مباشر صرف مثلا على الموردين 5000 وعلى العهد 5000 انا اريد في التقرير ان يظهر اجمالي 10000 تحت نو العمستفد اعمال المستفيد ( اسم العمل ) مرفق لكم صوره للتوضيح ارجو المساعده ولكم خالص الشكر والتقدير تم تعديل 13 مايو 201411 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 14 مايو 201411 سنة comment_250602 بسم الله الرحمن الرحيم function F_1FormatTrigger return boolean is begin IF :EPENSES_VALUE IS NOT NULL THEN RETURN (FALSE) ; ELSE return (TRUE); END IF; End; تقديم بلاغ
بتاريخ: 15 مايو 201411 سنة كاتب الموضوع comment_250612 بسم الله الرحمن الرحيم function F_1FormatTrigger return boolean is begin IF :EPENSES_VALUE IS NOT NULL THEN RETURN (FALSE) ; ELSE return (TRUE); END IF; End; السلام عليكم اخي م. اسلام لم افهم هل لك ان توضح لي اكثر اخي الكريم ولك خالص الشكر والتقدير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.