كشف حساب مورد تقليدي السلام عليكم ورحمة الله و بركاته سأل أحد الأعضاء عن كيفية الحصول علي كشف حساب مورد تفصيلي بالشكل التقليدي (تاريخ- رقم/نوع المستند- الشرح- مدين- دائن- الرصيد ) غير موجود بجريت بلينز فأقترحت أن يتم عملة عن طريق الكريستال ريبورت و هذه محاولتي لعمل التقرير و يتبقي رصيد أول المدة في تاريخ محدد:- الجداول المستخدمة PM00200 , PM30200 , POP30300 , RPT10101 الجانب الدائن Formula Filed select {PM30200.DOCTYPE} CASE 1,2,3 :{PM30200.DOCAMNT} default :0 الجانب المدين Formula Filed select {PM30200.DOCTYPE} case 4,5,6 :{PM30200.DOCAMNT} default :0 و علي ذلك فالرصيد المدور المدين - الدائن و سيكون بصيغة Running Total فهل أحد لدية فكرة عن طريقة إحتساب رصيد أول المدة بتاريخ محدد |
السلام عليكم ورحمة الله وبركاته هذا الإستعلام يتم بناءه داخل قاعدة البيانات و هو يدمج الحركات الحالية و الحركات التاريخية SELECT dbo.PM30200.VCHRNMBR, dbo.PM30200.VENDORID, dbo.PM30200.DOCTYPE, dbo.PM30200.DOCDATE, dbo.PM30200.DOCNUMBR, dbo.PM30200.DOCAMNT, dbo.PM30200.CURTRXAM, dbo.PM30200.DISTKNAM, dbo.PM30200.BCHSOURC, dbo.PM30200.TRXDSCRN, dbo.PM30200.VOIDED, dbo.PM30200.HOLD, dbo.PM30200.CURNCYID, dbo.POP30300.XCHGRATE, dbo.PM30200.TRXSORCE, dbo.PM30200.PTDUSRID, GETDATE() - dbo.PM30200.DOCDATE AS TRAGE, dbo.PM30200.PORDNMBR FROM dbo.PM30200 LEFT OUTER JOIN dbo.POP30300 ON dbo.PM30200.VCHRNMBR = dbo.POP30300.VCHRNMBR UNION ALL SELECT VCHRNMBR, VENDORID, DOCTYPE, DOCDATE, DOCNUMBR, DOCAMNT, CURTRXAM, DISTKNAM, BCHSOURC, TRXDSCRN, VOIDED, HOLD, CURNCYID, '0' AS XCHGRATE, TRXSORCE, PTDUSRID, GETDATE() - DOCDATE AS TRAGE, PORDNMBR FROM dbo.PM20000 |
اضافة صغيرة SELECT PERCENT dbo.PM20000.VENDORID, dbo.PM00200.VENDNAME, dbo.PM20000.DOCTYPE, dbo.PM20000.DOCDATE, dbo.PM20000.DOCNUMBR, dbo.PM20000.DOCAMNT, dbo.PM20000.VCHRNMBR, dbo.PM20000.CURNCYID, dbo.PM20000.TRXDSCRN, CASE WHEN dbo.PM20000.DOCTYPE < 5 AND dbo.PM20000.DOCDATE = '12/31/2007' THEN dbo.PM20000.DOCAMNT ELSE 0 END AS fcrdt, CASE WHEN dbo.PM20000.DOCTYPE < 5 THEN dbo.PM20000.DOCAMNT ELSE 0 END AS crdt, CASE WHEN dbo.PM20000.DOCTYPE > 4 AND dbo.PM20000.DOCDATE = '12/31/2007' THEN dbo.PM20000.DOCAMNT ELSE 0 END AS fdebt, CASE WHEN dbo.PM20000.DOCTYPE > 4 THEN dbo.PM20000.DOCAMNT ELSE 0 END AS debt, dbo.PM00200.VNDCLSID FROM dbo.PM00200 INNER JOIN dbo.PM20000 ON dbo.PM00200.VENDORID = dbo.PM20000.VENDORID ORDER BY dbo.PM00200.VENDORID |
جزاك الله خيرا مفيد جدا التقرير بس عندي ملاحظة انا عملت التقرير من غير جدول rpt10101 لاني لم اجده علي فكره انا اعمل علي جريت بلينز 10 |
السلام عليكم صحيح ياأخى الفاضل هذا الجدول غير موجود- كان لإستخدام خاص و ليس له قيمه معك اقتباس:
|
السلام عليكم بالنسبة لرصيد أول مدة يتم إدراج التاريخ Parameter Field و إختيار Type ك Date يتم عمل Edit له لتغير [ Allow range value << True ] رصيد أول المدة يتم تجميع الحركات قبل ذلك التاريخ بعد ذلك يتم عمل Formula Field لرصيد أول المدة و يتم إستخدام الجملة If لإرجاع القيمة True إذا كانت الحركة أقل من تاريخ كسف الحساب و صفر إذا كانت غير ذلك يتم إخفاء تلك التفاصيل في ٍSelection Expert بالجملة if {@aaDate_Range} = true then false else true |
السلام عليكم اشكر الاستاذ osamamakled على الرد جزاء الله خيرا ولكن لى طلب عنده ارجو ان يتسع صدره له وهو اننى مازلت مبتدأ crystal لذا ياريت يكون فيه توضيح اكثر من ذلك ان امكن بمثال ................ وشكرا |
لو سمحت ممكن توضيح اكثر لكيفية عمل رصيد اول المدة ضرورى جدا جدا جدا واكون شاكر على تعاونكم معنا ،،،،،،،،،،،،،،،،، |
اقتباس:
بفرض ان لديكم جميع الحركات مرتبة تاريخيا بملف إكسيل و تريد الوصول لرصيد أول المدة فى تاريخ محدد - بالطبع سيكون مجموع الحركات المدينة و الدائنة قبل هذا التاريخ - و هذا الرصيد سيظهر فى اول سطر اما باقى الأسطر (قبل هذا التاريخ) و بعد التاريخ سيتم إخفاؤهـا فيتم إخفاؤها هذا ما يقابل عمله بالكريستال ريبورت - هناك دوال فى الإكسيل تقوم بحساب الرصيد بطريقة أكثر تعقيدا مثل IFSUM , Dsum , أما عن شرح للكريستال ريبورت - فيمكن مراجعة المواضيع الموجودة بالمنتدى |
كشف حساب مورد 1 مرفق السلام عليكم ورحمة الله وبركاتة يمكن عمل الرصيد الافتتاحي عن طريق عمل برسيديور علي الدتا بيز وربطة بالجداول في التقرير وليكم البرسيديور كود PHP: |
جميع الأوقات بتوقيت GMT +3. الساعة الآن 12:33 PM. |
Powered by vBulletin® Version 3.8.3
الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم