Yapılan Özel
Ekranda Kaydedilen Veriyi Yazıcı Dizaynına Çekme, Aktif olunan Belge Numarasını
Özel Ekrana çağırma ve Sağ click olayında özel ekran çağırma;
Örnek olarak satış teklif modülü için kullanılan ödeme
detayları ekranını kullanacağız. Ödeme detayları satış teklifi için ödeme
planının kaydedilebilmesi için yapılan özel ekrandır. Satış teklif ekranı kalem
bilgileri sekmesinde sağ click yapılarak Ödeme Detayları ekranına erişilir.(Bkz
Resim 1)
Özel ekrana otomatik olarak belge numarası çekilerek
belgeye ait ödeme planı kaydedilir.(Bkz Resim 2)
Belge numarası referans alınarak kaydedildiği için satış
teklif dizaynına ekranda girilen bilgiler çekilebilir.(Bkz Resim 3)
Resim 1
Resim 2
Resim 3 Özel ekranda kullanılan bazı teknik detaylar;
AtikSE herhangi bir ekranda sağ click özel ekran çağırmak
için aşağıdaki kodlar yazılır;(Bkz Resim 4)
Menu:(ActiveForm) objesinin PopupMenu:1_OnClick
olayına AppInfo.AppRunProject(‘ÖzelEkranKodu’,’SHOW=NORMAL’);
Özel ekrana aktif olunan belge numarasının gönderilmesi
için aşağıdaki kod kullanılır;
AppInfo.AppGlobalString := BELGE_NO.Text;
Özel ekranda formun create olayına ise aşağıdaki kod
yazılır.
BELGE_NO_L.Caption := AppInfo.AppGlobalString;
Dizayna özel ekrandan girilen verilen çekilmesi için
aşağıdaki sql cümlesi kullanılır;
ODEME=SELECT ODEME_TARIHI,TUTAR,ACIKLAMA FROM
ZZTBLODEMEDETAYLARI WHERE BELGE_NO={BELGE_NO}
Özel ekranda girilen verilen tabloya kaydedilmesi için
aşağıdaki kod bloğu kullanılır;
procedure BtnKaydetBtBeforePost(Sender: TObject);
var
Qry:TBTQuery;
with Qry do
begin
Close;
RequestLive:=True;
SQL.Text:='SELECT
* FROM ZZTBLODEMEDETAYLARI WHERE REC_NO='+REC_NO.SQLText;
Open;
if
Found Then Edit Else
Insert;
Fieldbyname('BELGE_NO').AsString:=BELGE_NO_L.Caption;
Fieldbyname('ODEME_TARIHI').AsDateTime:=ODEME_TARIHI.GetAsDate;
Fieldbyname('TUTAR').AsFloat:=TUTAR.GetAsFloat;
Fieldbyname('ACIKLAMA').AsString:=ACIKLAMA.Text;
Post;
end;
Finally
Qry.Free;
BtnKaydet.RunForOperations(rfNew);
end;
end;
Resim 4
|