المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كشف حساب مورد تقليدي


osamamakled
29-Dec-2011, 02:58 PM
السلام عليكم ورحمة الله و بركاته
سأل أحد الأعضاء عن كيفية الحصول علي كشف حساب مورد تفصيلي بالشكل
التقليدي (تاريخ- رقم/نوع المستند- الشرح- مدين- دائن- الرصيد ) غير موجود بجريت بلينز
فأقترحت أن يتم عملة عن طريق الكريستال ريبورت
و هذه محاولتي لعمل التقرير و يتبقي رصيد أول المدة في تاريخ محدد:-
الجداول المستخدمة 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

فهل أحد لدية فكرة عن طريقة إحتساب رصيد أول المدة بتاريخ محدد

osamamakled
30-Jun-2012, 03:36 PM
السلام عليكم ورحمة الله وبركاته
هذا الإستعلام يتم بناءه داخل قاعدة البيانات و هو يدمج الحركات الحالية و الحركات التاريخية


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

as_radwan
01-Jul-2012, 12:11 PM
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

itsponsor
29-Dec-2012, 01:32 PM
جزاك الله خيرا مفيد جدا التقرير بس عندي ملاحظة انا عملت التقرير من غير جدول rpt10101 لاني لم اجده علي فكره انا اعمل علي جريت بلينز 10

osamamakled
29-Dec-2012, 07:37 PM
السلام عليكم

صحيح ياأخى الفاضل هذا الجدول غير موجود- كان لإستخدام خاص و ليس له قيمه معك



جزاك الله خيرا مفيد جدا التقرير بس عندي ملاحظة انا عملت التقرير من غير جدول rpt10101 لاني لم اجده علي فكره انا اعمل علي جريت بلينز 10

osamamakled
14-Sep-2013, 11:45 AM
السلام عليكم

بالنسبة لرصيد أول مدة يتم إدراج التاريخ Parameter Field و إختيار Type ك Date
يتم عمل Edit له لتغير [ Allow range value << True ]

رصيد أول المدة يتم تجميع الحركات قبل ذلك التاريخ
بعد ذلك يتم عمل Formula Field لرصيد أول المدة و يتم إستخدام الجملة If لإرجاع القيمة True إذا كانت الحركة أقل من تاريخ كسف الحساب و صفر إذا كانت غير ذلك

يتم إخفاء تلك التفاصيل في ٍSelection Expert بالجملة
if {@aaDate_Range} = true then false else true

bastawy
15-Sep-2013, 10:24 AM
السلام عليكم
اشكر الاستاذ osamamakled على الرد جزاء الله خيرا
ولكن لى طلب عنده ارجو ان يتسع صدره له وهو اننى مازلت مبتدأ crystal لذا ياريت يكون فيه توضيح اكثر من ذلك
ان امكن بمثال ................
وشكرا

sheko9
27-Sep-2013, 12:15 AM
لو سمحت ممكن توضيح اكثر لكيفية عمل رصيد اول المدة ضرورى جدا جدا جدا

واكون شاكر على تعاونكم معنا ،،،،،،،،،،،،،،،،،

osamamakled
27-Sep-2013, 02:14 PM
السلام عليكم
اشكر الاستاذ osamamakled على الرد جزاء الله خيرا
ولكن لى طلب عنده ارجو ان يتسع صدره له وهو اننى مازلت مبتدأ crystal لذا ياريت يكون فيه توضيح اكثر من ذلك
ان امكن بمثال ................
وشكرا

السلام عليكم

بفرض ان لديكم جميع الحركات مرتبة تاريخيا بملف إكسيل
و تريد الوصول لرصيد أول المدة فى تاريخ محدد - بالطبع سيكون مجموع الحركات المدينة و الدائنة قبل هذا التاريخ - و هذا الرصيد سيظهر فى اول سطر اما باقى الأسطر (قبل هذا التاريخ) و بعد التاريخ سيتم إخفاؤهـا فيتم إخفاؤها
هذا ما يقابل عمله بالكريستال ريبورت - هناك دوال فى الإكسيل تقوم بحساب الرصيد بطريقة أكثر تعقيدا مثل IFSUM , Dsum ,
أما عن شرح للكريستال ريبورت - فيمكن مراجعة المواضيع الموجودة بالمنتدى

itsponsor
27-Sep-2013, 04:19 PM
السلام عليكم ورحمة الله وبركاتة
يمكن عمل الرصيد الافتتاحي عن طريق عمل برسيديور علي الدتا بيز وربطة بالجداول في التقرير وليكم البرسيديور
create procedure sp_vendorbalance
@aaadate1 datetime,
@aaadate2 datetime,
@aaaVENDORID char(15)
AS
SELECT VENDORID,SUM(DOCAMNT) AS EXPR1
FROM (SELECT VENDORID,DOCNUMBR, DOCTYPE, DOCDATE,
DOCAMNT= CASE DOCTYPE
WHEN 1 THEN DOCAMNT WHEN 2 THEN DOCAMNT WHEN 3 THEN
DOCAMNT WHEN 4 THEN DOCAMNT*-1 WHEN 5 THEN DOCAMNT*-1 WHEN 6 THEN DOCAMNT*-1 END,
DEX_ROW_ID,VOIDED
FROM pm30200
UNION ALL
SELECT VENDORID,DOCNUMBR, DOCTYPE, DOCDATE,
DOCAMNT= CASE DOCTYPE
WHEN 1 THEN DOCAMNT WHEN 2 THEN DOCAMNT WHEN 3 THEN
DOCAMNT WHEN 4 THEN DOCAMNT*-1 WHEN 5 THEN DOCAMNT*-1 WHEN 6 THEN DOCAMNT*-1 END,
DEX_ROW_ID,VOIDED
FROM pm20000) View1
WHERE (VOIDED = 0) AND ( DOCDATE< CONVERT(DATETIME, @aaadate1, 102)) AND (LTRIM(RTRIM(VENDORID)) = @aaaVENDORID) AND
(DOCNUMBR NOT LIKE ' % RCS % ')
وده نموذج للتقرير

as_radwan
27-Sep-2013, 05:44 PM
لو ممكن عرض محتوي View1

rash_alhakimi
17-Mar-2014, 02:03 PM
السلام عليكم ورحمة الله وبركاته
هذا الإستعلام يتم بناءه داخل قاعدة البيانات و هو يدمج الحركات الحالية و الحركات التاريخية


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
الأخ اسامة شكراً جزيلا على تعاونك .
هل بالامكان ان اضيف اسماء الدائنين الى الإستعلام الخاص بك ؟
مع قبول خالص التقدير