السلام عليكم و رحمة الله و بركاته
ما هي الطريقة الصحيحة لعمل رقم فاتورة تلقائي يكون كالتالي
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
و جزاكم الله خيرا ...
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;