10-02-18, 10:07 PM
10-02-18, 11:27 PM
انت تقصد قائمة الدخل والميزانية
10-02-18, 11:35 PM
نعم وميزان المراجعة
11-02-18, 12:07 AM
اذا حدا بيربمجهم ويعرضهم بيكون جزاه الله خيرا
11-02-18, 12:35 AM
11-02-18, 10:57 AM
سلام عليكم
بافتراض عنك جدولين
الاول : اسمه ACCOOUNT لاسماء الحسابات (البنوك الخزينة عملاء الخ ..............)
الثاني : اسمه DATA وهو لاثبات القيود اليومية (او العمليات على الحساب)
طبعا ده الشكل البدائي للقوائم انت مهمتك انك تفهم الكود وبعد كده عدل زي ما انت عاوز
يعني مثلا علشان تعمل ميزان المراجعة او عاوز تفصل بين مجموع المدين في عمود والدائن كذالك هضيف عمدان اخرى هي شبيها بنفس الاكواد دي مش هتخرج عنها المهم انا زي ما قلتلك افهم الكود وانت هتوصل الى تريده
وطلما ليك فكرة عن البرامج المحاسبة وكتابة الكود بال SQL هتعرف الباقي
ودي صورة للنتائج عندي
ملاحظة : طبعا المثال عملته على عجالة وارقمه للتجربة فقط قد تكون هناك ارقام غير واقعية مثلا الخزينة بالسالب وغير ذلك لكن الترصيد صحيح
[attachment=17118]
بافتراض عنك جدولين
الاول : اسمه ACCOOUNT لاسماء الحسابات (البنوك الخزينة عملاء الخ ..............)
الثاني : اسمه DATA وهو لاثبات القيود اليومية (او العمليات على الحساب)
PHP كود :
CREATE FUNCTION OK()
RETURNS TABLE
AS
RETURN (
WITH DT AS(
SELECT
ACCOUNT.Name, -- اسم الحساب من جدول ACCOUNT
ACCOUNT.ac_type, --نوع الحساب(مدين او دائن)
Sum(DATA.M_T) AS M, --جمع قيمة المدين من جدول DATA
Sum(DATA.D_T) AS D --جمع قيمة الدائن من جدول DATA
FROM ACCOUNT, DATA_T --الجدولين
WHERE (((ACCOUNT.Name)=DATA.ACCOUNT_T)) --شرط وجود اسم الحساب في جدولين
GROUP BY ACCOUNT.Name, ACCOUNT.ac_type
)
SELECT
DT.NAME,
DT.AC_TYPE,
Sum(M) AS M,
Sum(D) AS D,
(CASE WHEN DT.AC_TYPE ='مدين' THEN Sum([M]-[D]) ELSE Sum([D]-[M]) END)AS BALANCE
FROM DT
GROUP BY DT.NAME,DT.AC_TYPE
)
SELECT * FROM OK()--استدعاء FUNCTION
يعني مثلا علشان تعمل ميزان المراجعة او عاوز تفصل بين مجموع المدين في عمود والدائن كذالك هضيف عمدان اخرى هي شبيها بنفس الاكواد دي مش هتخرج عنها المهم انا زي ما قلتلك افهم الكود وانت هتوصل الى تريده
وطلما ليك فكرة عن البرامج المحاسبة وكتابة الكود بال SQL هتعرف الباقي
ودي صورة للنتائج عندي
ملاحظة : طبعا المثال عملته على عجالة وارقمه للتجربة فقط قد تكون هناك ارقام غير واقعية مثلا الخزينة بالسالب وغير ذلك لكن الترصيد صحيح
[attachment=17118]
11-02-18, 12:02 PM
اسف
مع التعديل null ب 0 في عمودين المدين والدائن في الكود لتظهر باقي الارصدة
مع التعديل null ب 0 في عمودين المدين والدائن في الكود لتظهر باقي الارصدة
11-02-18, 07:25 PM
معنى كلامي انك هتستخدم دالة isnull
علشان تكون هكذا
انا غيرت m و d الى Debit وCredit
اما لو عاوز تعمل ميزان مراجعة بالمجاميع والارصدة مثلا هتقسم الكود السابق على اثين هكذا
علشان يكون الشكل الميزان كده
[attachment=17121]
علشان تكون هكذا
انا غيرت m و d الى Debit وCredit
PHP كود :
(CASE WHEN DT.AC_TYPE ='مدين' THEN Sum(ISNULL([Debit],0)-ISNULL([Credit],0)) ELSE Sum(ISNULL([Credit],0)-ISNULL([Debit],0)) END)AS Balance,
اما لو عاوز تعمل ميزان مراجعة بالمجاميع والارصدة مثلا هتقسم الكود السابق على اثين هكذا
PHP كود :
(CASE WHEN DT.AC_TYPE ='مدين' THEN Sum(ISNULL([Debit],0)-ISNULL([Credit],0)) END)AS Debit_Balance,
(CASE WHEN DT.AC_TYPE ='دائن' THEN Sum(ISNULL([Credit],0)-ISNULL([Debit],0)) END)AS Credit_Balance
[attachment=17121]
11-02-18, 07:34 PM
هو دا الشغل
كيف اظهر الحسابات الرئيسية واعمل ليها مجاميع
كيف اظهر الحسابات الرئيسية واعمل ليها مجاميع
11-02-18, 07:52 PM
عادي زي ما انت عامل في بروسيجر
على فكرة دي function عادي ممكن تضعها في البروسيجر
على فكرة دي function عادي ممكن تضعها في البروسيجر