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

رقم فاتورة تلقائي ( رقم + السنة )

بدأه Bachirsoft في 27 مارس 2014 · 1 رد · 1,423 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته 
ما هي الطريقة الصحيحة لعمل رقم فاتورة تلقائي يكون كالتالي
n° f 0001/2014
حيث 2014 تمثل السنة و كلما تغيرت السنة يتغير ترقيم الفاتورة و السنة.
مثال: في سنة 2013 كانت آخر فاتورة هي : N° f 0951/2013 
ففي بداية 2014 من المفروض يكون : n° f 0001/2014
و جزاكم الله خيرا ...

#2
Bachirsoft كتب:

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

ما هي الطريقة الصحيحة لعمل رقم فاتورة تلقائي يكون كالتالي

n° f 0001/2014

حيث 2014 تمثل السنة و كلما تغيرت السنة يتغير ترقيم الفاتورة و السنة.

مثال: في سنة 2013 كانت آخر فاتورة هي : N° f 0951/2013 

ففي بداية 2014 من المفروض يكون : n° f 0001/2014

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

 

Bachirsoft كتب:

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

ما هي الطريقة الصحيحة لعمل رقم فاتورة تلقائي يكون كالتالي

n° f 0001/2014

حيث 2014 تمثل السنة و كلما تغيرت السنة يتغير ترقيم الفاتورة و السنة.

مثال: في سنة 2013 كانت آخر فاتورة هي : N° f 0951/2013 

ففي بداية 2014 من المفروض يكون : n° f 0001/2014

و جزاكم الله

 

نعم يمكنك ذلك

Function Ordre(N: String):String;

Begin

     if N='' then

          Ordre:='0001/'+IntToStr(YearOf(Now))

     Else

     Begin

          if N[6]+N[7]+N[8]+N[9]=IntToStr(YearOf(Now)) then

          Begin

              if StrToInt(N[1]+N[2]+N[3]+N[4])<9 then

                  Ordre:='000'+IntToStr(StrToInt(N[4])+1)+'/'+IntToStr(YearOf(Now))

               Else

                    if StrToInt(N[1]+N[2]+N[3]+N[4])<99 then

                         Ordre:='00'+IntToStr(StrToInt(N[3]+N[4])+1)+'/'+IntToStr(YearOf(Now))

                    Else

                         if StrToInt(N[1]+N[2]+N[3]+N[4])<999 then

                              Ordre:='0'+IntToStr(StrToInt(N[2]+N[3]+N[4])+1)+'/'+IntToStr(YearOf(Now))

                         Else

                              Ordre:=IntToStr(StrToInt(N[1]+N[2]+N[3]+N[4])+1)+'/'+IntToStr(YearOf(Now))

          End

          Else

               Ordre:='0001/'+IntToStr(YearOf(Now));

     End;

End;

 

 

 

 

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