وعليكم السلام هذه دالة استخدمتها لترقيم الفواتير حسب السنة
وكملاحظة فقط عند حذف سجل يجب ان يكون السجل الاخير فقط لتعمل الدالة بفعالية لتفادي التكرار
الصورة المرفقة توضح طريقة عمل الدالة حبث عند تغيير التاريخ يتغير الترقيم
وكملاحظة فقط عند حذف سجل يجب ان يكون السجل الاخير فقط لتعمل الدالة بفعالية لتفادي التكرار
PHP كود :
function Get_Bill_In_NUM(myDate: TDateTime): ShortString;
var
sltb: TSQLIteTable;
Year: Word;
begin
Year := YearOf(myDate);
// رقم السلع الداخلة
sltb := SQLiteDatabase.GetTable('select count(*) as _count from bills_in where date like "%' + inttostr(Year) + '"');
try
if sltb.Count > 0 then
Result := IntToStr(Year) + '/' + (inttostr(sltb.FieldAsInteger(sltb.FieldIndex['_count']) + 1))
else
Result := IntToStr(Year) + '/' + ('1');
finally
sltb.Free;
end;
end;
الصورة المرفقة توضح طريقة عمل الدالة حبث عند تغيير التاريخ يتغير الترقيم


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)