Özel ekran çalışmalarında belge numarası türetmek için gerekli
fonksiyon şu şekildedir;
function Fn_YeniBelgeNo(Kayit: string; BelgeTipi:
string):String;
begin
result := '';
with AppQuery do
begin
SQL.Text := 'DECLARE @BELGE_NO AyoDbBelgeNo';
SQL.Text := SQL.Text + ' EXEC PrgProcBtMasBelgeNo’ +QuotedStr(BelgeTipi)+','''','''','+QuotedStr(Kayit)+','
+ QuotedStr(IntToStr(AppInfo.AppSube_Kodu)) + ',''000'',@BELGE_NO OUTPUT';
SQL.Text := SQL.Text + ' SELECT @BELGE_NO AS BELGE_NO';
Open;
if Found then
result := FieldByName('BELGE_NO').AsString;
end;
end;
Bu fonksiyon Kayit
ve BelgeTipi olarak iki
parametre almaktadır.
·
Kayit
: E ya da H olabilir. E seçimi Belge numaratörünü bir arttırır. H seçimi
yeni belge numarasını getirir fakat son
numarayı arttırmaz.
(H : Yeni
kayıt, kayıt sil, yenile gibi işlemlerde , E : Kayıt tamamla işleminde seçilmesi daha
uygundur.)
·
BelgeTipi
: Belge numarasının hangi modüle ait olacağını belirtir. Ör:
Satış faturası için F01 verilmelidir.
Fonksiyonun kodda kullanımı şu şekildedir.
BELGE_NO.TEXT:=Fn_YeniBelgeNo('E','F02');
Alış faturası modülü için yeni belge no türetir. BELGE_NO
editine yazar ve son numarayı bir artırır.
|