delphi4arab منتديات دلفي للعرب
تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي (/showthread.php?tid=11413)



تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 26-06-2021

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

للحصول على تقرير مجموع المبيعات اليومية بالكود التالي
كود :
With ABSQuery1 Do     begin     case RadioGroup1.ItemIndex of     // daily     0: begin     Close;     SQL.Clear;     SQL.Add('select date_sale as date_day, sum(total_sale) as total_day from table1 where Date_sale >= :PdateFirst and Date_sale <= :PdateEnd group by date_sale order by date_sale');     Params.ParamByName('PdateFirst').AsDate := DateTimePicker1.Date;     Params.ParamByName('PdateEnd').AsDate := DateTimePicker2.Date;     Open;      end;

للحصول على تقرير مجموع المبيعات الشهرية بالكود التالي
كود :
//monthly     1: begin     Close;     SQL.Clear;     SQL.Add('select extract(month from Date_sale) as date_month, sum(total_sale) as total_month from table1 where Date_sale >= :PdateFirst and Date_sale <= :PdateEnd group by date_month order by date_month');     Params.ParamByName('PdateFirst').AsDate := DateTimePicker1.Date;     Params.ParamByName('PdateEnd').AsDate := DateTimePicker2.Date;     Open;       end;


الكود تمام
هل يمكن استخراج النتيجة بافضل من هذا الكود؟

كيفية استخراج التقرير الاسبوعي باعتبار يوم السبت هو اول الاسبوع ؟ وليس يوم الاثنين الافتراضي

بحثت ووجدت بعض الدوال التي تستخرج رقم الاسبوع مثل WEEKNUM لكنها خاصة للاكسس والاكسل
فاذا عرفنا رقم اسبوع لكل يوم وعلى اعتبار يوم السبت اول الاسبوع . سهل الامر ان شاء الله تعالى

جزاكم الله كل خير


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 28-06-2021

هل الموضوع غير مفهوم؟؟؟

يوجد دالة لمعرفة رقم الاسبوع من السنة WEEKOfTheYEAR(Now)
لكنها على اعتبار يوم الاثنين هو اول يوم من الاسبوع
فكيف يمكن استخراج رقم الاسبوع باعتبار السبت هو اول الاسبوع؟


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - مبرمج حر - 01-07-2021

(28-06-2021, 10:26 AM)samnaj00 كتب : يوجد دالة لمعرفة رقم الاسبوع من السنة WEEKOfTheYEAR(Now)
لكنها على اعتبار يوم الاثنين هو اول يوم من الاسبوع
ابحث عن سورس WEEKOfTheYEAR وعدل عليها ليكون اول يوم السبت


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 01-07-2021

(01-07-2021, 10:00 AM)مبرمج حر كتب :
(28-06-2021, 10:26 AM)samnaj00 كتب : يوجد دالة لمعرفة رقم الاسبوع من السنة WEEKOfTheYEAR(Now)
لكنها على اعتبار يوم الاثنين هو اول يوم من الاسبوع
ابحث عن سورس WEEKOfTheYEAR وعدل عليها ليكون اول يوم السبت
سورس الدالة لا يوجد فيه ايام الاسبوع
كود :
function WeekOfTheYear(const AValue: TDateTime): Word; var   LYear, LDOW: Word; begin   DecodeDateWeek(AValue, LYear, Result, LDOW); end;

وجدت طريقة وهي اضافة 2+على التاريخ
كود :
ABSTable1num_week.Value := WeekOfTheYear(ABSTable1date_sale.Value + 2);

حيث num_week هو عمود في جدول table1


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - مبرمج حر - 01-07-2021

(01-07-2021, 02:27 PM)samnaj00 كتب : وجدت طريقة وهي اضافة 2+على التاريخ
ماذا عن اخر اسبوع في السنة ؟ 31/12/2021 ؟؟؟ تكون النتيجة غير صحيحة ؟


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 03-07-2021

(01-07-2021, 02:32 PM)مبرمج حر كتب : ماذا عن اخر اسبوع في السنة ؟ 31/12/2021 ؟؟؟ تكون النتيجة غير صحيحة ؟

لكن النتيجة عندي تمام حيث الاسبوع الاخير رقم52 يبدأ من السبت 25 / 12 / 2021 الى الجمعة 31 / 12 / 2021


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 31-08-2021

السلام عليكم وحمة الله وبركاته
بعد هذا الغياب
تم التعديل بطريقة مختلفة
لكن هناك مشكلة وهي
عند جلب التقرير شهري او اسبوعي او ربع سنوي لا يتم جمع قيمة السجل الاول فقط من عمود total_sale
اما اذا عملت تقرير يومي وبعد ذلك عملت تقرير شهري او اسبوعي او ربع سنوي فإنه يتم جمع السجل الاول
؟


RE: تقرير بالمبيعات يومي اسبوعي شهري ربع سنوي - samnaj00 - 06-09-2021

اين المشكلة؟