الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نقاش في طريقة برمجة تقرير مخزون المواد الغذائية

بدأه Yassin_VFP9 في 5 نوفمبر 2010 · 4 رد · 1,663 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله تعلى وبركاته

من اجل الاستفادة للمبتدئين وتطوير اساليب البرمجة للسادة الاعضاء

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

اليكم مرفقات و صورة للتوضيح

post-203519-047592200 1288941138_thumb.j

Yassin_VFP9 كتب:

السلام عليكم ورحمة الله تعلى وبركاته

من اجل الاستفادة للمبتدئين وتطوير اساليب البرمجة للسادة الاعضاء

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

اليكم مرفقات و صورة للتوضيح

اعتدر هناك تعديل بسيط

اليكم الصورة الصحيحة

post-203519-015581900 1288941708_thumb.j

مخزون المواد الغذائية.doc

مخزون المواد الغذائية.doc

المرفقات
fiche.JPGfiche.JPG

تم تعديل هذه المشاركة بواسطة HGB في 6 نوفمبر 2010 في 15:36

<<--DON CORLEONNE-->>

#2

اليكم الجداول من اجل المساعدة

article.rar

<<--DON CORLEONNE-->>

#3

السلام عليكم ورحمة الله تعلى وبركاته

اليكم اقتراحي في الحصول على هده النتيجة

post-203519-032130200 1289031475_thumb.j

كود الاجراء Init

Close Databases All

Set Talk Off

Set Century On

Set Console Off

Set REPORTBEHAVIOR 80

Clear

Set Century On

Set Confirm On

Set StrictDate To 0

Set Date To French

Set Deleted On

Set Multilocks On

Set Escape Off

Set Exact On

Set Lock On

Set Notify On

Set Safety On

Set Exclusive On

Set Clock Stat

Set Hours To 24

Set Scoreboard On

Set Bell To 1000,2

Set Decimals To 3

Set Reprocess To 1 Seconds

Set Refresh To 3,5

Set Echo Off

Set NullDisplay To ""

Set Null On

*-------------------------

Delete File temp.*

Create Table temp (a3 c(50), e3 N(13,2), s3 N(13,2), r3 N(13,2),;

  	a2 c(50), e2 N(13,2), s2 N(13,2), r2 N(13,2),;

  	a1 c(50), e1 N(13,2), s1 N(13,2), r1 N(13,2),;

  	dat d(8), pag N(3))

Index On Alltrim(Str(pag))+Alltrim(Dtos(dat)) Tag cle Of temp.Cdx

*-------------------------

Close Databases All

Public ran, rmois, varticle, nb

*-------------------------

Select 1

Use article

Count To nb

If nb<>0

  	Dimension varticle(nb,2)

  	Copy To Array varticle Fields articles, lots

  	Thisform.ch1.Enabled=.T.

Endif

*--------------------------

Select 2

Use rjn Order Tag cle Of rjn.Cdx

Calculate Max(dat) To rdat1

If rdat1<>{}

  	ran=Year(rdat1)

  	rmois=Month(rdat1)

Else

  	ran=Year(Date())

  	rmois=Month(Date())

Endif

*--------------------------

Select 3

Use temp Order Tag cle Of temp.Cdx

كود الزر معاينة

*--------------افراغ الجدول المؤقت في حالة تكرار الضغط علي الزر------------

Select 3

Delete All

Pack

*-----------------------------------------------------------------------

*---------نبدأ اولا بتحديد عدد ايام الشهر المطلوب-------------------------

If rmois<12

  	rdat="01/"+Alltrim(Str(rmois+1))+"/"+Alltrim(Str(ran))

Else

  	rdat="01/01/"+Alltrim(Str(ran+1))

Endif

rdat=Ctod(rdat)

rdat=rdat-Day(rdat)

rnb_day=Day(rdat)

*-----------------------------------------------------------------------

c=1

rpag=1

*--------------------تحديد حلقة المواد الغذائية --------------------------

For i=1 To nb

  	rarticle=varticle(i,1)

  	rlot=varticle(i,2)

  	*-----------من اجل التخزين temp تحديد حقول الجدول المؤقت ------------------

  	rvar1="a"+Alltrim(Str(c))

  	rvar2="e"+Alltrim(Str(c))

  	rvar3="s"+Alltrim(Str(c))

  	rvar4="r"+Alltrim(Str(c))

  	*---------------------------تحديد حلقة الايام ----------------------------

  	For j=0 To rnb_day

        	If j=0

              	*-------------تحديد مخزون المادة الغذائية في آخر الشهر الماضي ---------------

              	rdat="01/"+Alltrim(Str(rmois))+"/"+Alltrim(Str(ran))

              	rdat=Ctod(rdat)

              	rdat=rdat-1

              	Select 2

              	Sum qte To re_qte For typ=1 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat<=rdat

              	Sum qte To rs_qte For typ=2 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat<=rdat

              	*-----------مخزون هذه المادة الغذائية في آخر الشهر الماضي هو ---------------

              	reste=re_qte-rs_qte

              	reste1=re_qte-rs_qte

        	Else

              	rdat=Alltrim(Str(j))+"/"+Alltrim(Str(rmois))+"/"+Alltrim(Str(ran))

              	rdat=Ctod(rdat)

              	Select 2

              	Sum qte To re_qte For typ=1 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat=rdat

              	Sum qte To rs_qte For typ=2 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat=rdat

              	Sum qte To re_qte1 For typ=1 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat<=rdat

              	Sum qte To rs_qte1 For typ=2 And Alltrim(articles)=Alltrim(rarticle) And Alltrim(lots)=Alltrim(rlot) And dat<=rdat

              	reste=re_qte1-rs_qte1

        	Endif

        	*-------------- temp تخزين البيانات داخل الجدول المؤقت --------------------

        	Select 3

        	Seek Alltrim(Str(rpag))+Alltrim(Dtos(rdat))

        	If Not Found()

              	Append Blank

              	Replace pag With rpag;

                    	dat With rdat

        	Endif

        	If re_qte<>0 Or rs_qte<>0 Or reste<>0 Or reste1<>0

              	Replace &rvar1 With rarticle;

                    	&rvar2 With re_qte;

                    	&rvar3 With rs_qte;

                    	&rvar4 With reste

        	Endif

  	Endfor

  	*--------------- temp تحديد الحقل الموالي للجدول المؤقت ---------------------

  	Select 3

  	Sum &rvar2, &rvar3, &rvar4 To rtest1, rtest2, rtest3 For pag=rpag

  	If rtest1<>0 Or rtest2<>0 Or rtest3<>0

        	Replace All &rvar1 With Alltrim(rarticle) For pag=rpag

        	If c<3

              	c=c+1

        	Else

              	c=1

              	rpag=rpag+1

        	Endif

  	Endif

Endfor

Select 3

Go Top

Report Form gestion Preview

Report Form gestion Noconsol To Print Prompt

بعدها ياتي التقرير

post-203519-056276200 1289110983_thumb.j

post-203519-066560400 1289031514_thumb.j

post-203519-007114500 1289111014_thumb.j

انتظر مقترحاتكم للاستفادة

article.rar

المرفقات
1.JPG2.JPG3.JPG4.JPG

تم تعديل هذه المشاركة بواسطة Yassin_VFP9 في 7 نوفمبر 2010 في 09:33

<<--DON CORLEONNE-->>

#4

على ما يبدو ليس هناك من طريقة اخرى؟؟؟؟؟؟؟ والله اعلم؟؟؟؟؟؟؟

<<--DON CORLEONNE-->>

#5
Yassin_VFP9 كتب:

على ما يبدو ليس هناك من طريقة اخرى؟؟؟؟؟؟؟ والله اعلم؟؟؟؟؟؟؟

الرابط الخاص بي

<<--DON CORLEONNE-->>

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…