selam
arkadaşlar herkes için tşk ederrim
sonumu çzödüm ve taksitli satış modulünü yaptık sonun da
belki başkasına yaralı olabilir düşüncesiyle buraya koyuyorum
Taksitli Satış Modulü:
Kod: Tümünü seç
unit Unit47;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, SUIImagePanel, StdCtrls, Mask, RzEdit, Buttons,
ComCtrls, Grids, DBGrids, RzDBGrid, SUIButton, RzButton, RzRadChk,
RzPanel, RzLabel, RzBtnEdt, RzLstBox, ToolEdit,DateUtils, XPMan, DBCtrls,
RzDBEdit;
type
Ttsat = class(TForm)
suiPanel1: TsuiPanel;
Label8: TLabel;
Label9: TLabel;
RzButtonEdit1: TRzButtonEdit;
RzButtonEdit2: TRzButtonEdit;
Bevel1: TBevel;
Bevel2: TBevel;
RzLabel1: TRzLabel;
Tutar: TRzNumericEdit;
RzLabel2: TRzLabel;
Pesinat: TRzNumericEdit;
RzLabel3: TRzLabel;
Vadefarki: TRzNumericEdit;
RzLabel4: TRzLabel;
Taksitsayisi: TRzNumericEdit;
RzGroupBox1: TRzGroupBox;
RzRadioButton1: TRzRadioButton;
fark: TRzNumericEdit;
RzRadioButton2: TRzRadioButton;
RzLabel5: TRzLabel;
Bevel3: TBevel;
RzLabel6: TRzLabel;
Nettutar: TRzNumericEdit;
Bevel4: TBevel;
Bevel5: TBevel;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
Bevel6: TBevel;
Bevel7: TBevel;
DateEdit1: TDateEdit;
RzDBGrid1: TRzDBGrid;
XPManifest1: TXPManifest;
Label1: TLabel;
RzDBMemo1: TRzDBMemo;
borc: TRzDBEdit;
procedure suiButton3Click(Sender: TObject);
procedure RzButtonEdit1ButtonClick(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure TutarKeyPress(Sender: TObject; var Key: Char);
procedure PesinatKeyPress(Sender: TObject; var Key: Char);
procedure VadefarkiKeyPress(Sender: TObject; var Key: Char);
procedure farkKeyPress(Sender: TObject; var Key: Char);
procedure TaksitsayisiKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DateEdit1KeyPress(Sender: TObject; var Key: Char);
procedure suiButton2Click(Sender: TObject);
procedure VadefarkiExit(Sender: TObject);
procedure RzRadioButton1Click(Sender: TObject);
procedure RzRadioButton2Click(Sender: TObject);
procedure PesinatExit(Sender: TObject);
procedure RzDBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure RzDBGrid1ColEnter(Sender: TObject);
procedure RzDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
tsat: Ttsat;
implementation
uses Unit9, Unit1, Unit49;
Function GunSAY(
DateValue : TDateTime;
DateMovement : Integer): TDateTime;
Begin
Result := DateValue + DateMovement;
End;
function Taksitlendir(Sayi : Extended ;
TaksitAdedi : Integer;
var Result_Taksit : Extended;
var Result_Artan : Extended;
Yuvarlama : Integer = 0): boolean;
var
sTaksit : String;
i, Digits : Integer;
begin
result:=False;
if (TaksitAdedi=0) then exit;
Result_Taksit:=Sayi / TaksitAdedi;
sTaksit:=FloatToStrF(Result_Taksit, ffFixed, 18, 0);
if Length(sTaksit) - Yuvarlama < 1 then exit;
SetLength(sTaksit, length(sTaksit) - Yuvarlama);
sTaksit:=sTaksit + StringOfChar('0', Yuvarlama);
Result_Taksit:=StrToFloat(sTaksit);
Result_Artan:=Sayi - (Result_Taksit * TaksitAdedi);
result:=True;
end;
{$R *.dfm}
procedure Ttsat.suiButton3Click(Sender: TObject);
begin
close;
end;
procedure Ttsat.RzButtonEdit1ButtonClick(Sender: TObject);
begin
cara1.show;
end;
procedure Ttsat.suiButton1Click(Sender: TObject);
var
taksit_say,i:integer;
bas_tar:Tdatetime;
taksit:currency;
begin
if tsat.RzRadioButton2.Checked=true then begin
datamodule1.IBDataSet13.Close;
datamodule1.IBDataSet13.SelectSQL.Clear;
datamodule1.IBDataSet13.SelectSQL.Add('select * from tsat');
datamodule1.IBDataSet13.open;
taksit:=strtocurr(nettutar.Text)/strtocurr(taksitsayisi.Text);
bas_tar:=dateedit1.Date-30;
for i:=1 to taksitsayisi.IntValue do
begin
datamodule1.IBDataSet2.Edit;
datamodule1.IBDataSet13.Append;
datamodule1.IBDataSet13SK.AsInteger:=i;
datamodule1.IBDataSet13TARIH.AsString:=datetostr(IncMonth(bas_tar,i));
datamodule1.IBDataSet13ACIKLAMA.AsString:=tsat.RzDBMemo1.Text;
datamodule1.IBDataSet13BORC.AsString:=currtostr(taksit);
datamodule1.IBDataSet13.Post;
end;
end
else
if tsat.RzRadioButton1.Checked=true then begin
datamodule1.IBDataSet13.Close;
datamodule1.IBDataSet13.SelectSQL.Clear;
datamodule1.IBDataSet13.SelectSQL.Add('select * from tsat');
datamodule1.IBDataSet13.open;
taksit:=strtocurr(nettutar.Text)/strtocurr(taksitsayisi.Text);
bas_tar:=Dateedit1.Date;
taksit_say:=strtoint(taksitsayisi.Text);
for i:=1 to taksit_say do
begin
datamodule1.IBDataSet13.Append;
datamodule1.IBDataSet13SK.AsInteger:=i;
datamodule1.IBDataSet13TARIH.AsString:=datetostr(GUNSAY(bas_tar,STRTOINT(fark.Text)));
datamodule1.IBDataSet13ACIKLAMA.AsString:=tsat.RzDBMemo1.Lines.DelimitedText;
datamodule1.IBDataSet13BORC.AsString:=currtostr(taksit);
datamodule1.IBDataSet13.Post;
BAS_TAR:=BAS_TAR+STRTOINT(FARK.Text);
datamodule1.ibquery23.Close;
datamodule1.IBQuery23.Open;
end;
end;
end;
procedure Ttsat.TutarKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
Pesinat.SetFocus;
end;
end;
procedure Ttsat.PesinatKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
Vadefarki.SetFocus;
end;
end;
procedure Ttsat.VadefarkiKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
Taksitsayisi.SetFocus;
end;
end;
procedure Ttsat.farkKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
dateedit1.SetFocus;
end;
end;
procedure Ttsat.TaksitsayisiKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
dateedit1.SetFocus;
end;
end;
procedure Ttsat.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Rzbuttonedit1.Clear;
Rzbuttonedit2.Clear;
tutar.Clear;
pesinat.Clear;
vadefarki.Clear;
taksitsayisi.Clear;
Nettutar.Clear;
datamodule1.IBQuery20.ExecSQL;
datamodule1.IBDataSet13.Close;
datamodule1.IBDataSet13.SelectSQL.Clear;
datamodule1.IBDataSet13.SelectSQL.Add('select* from TSAT');
datamodule1.IBDataSet13.Open;
end;
procedure Ttsat.DateEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
suibutton1.SetFocus;
end;
end;
procedure Ttsat.suiButton2Click(Sender: TObject);
begin
datamodule1.IBDataSet13.First;
while not datamodule1.IBDataSet13.Eof do begin
datamodule1.IBDataSet2.Edit;
datamodule1.IBDataSet2.FieldByName('SN').AsString:='Tak'+ '-' +datamodule1.IBDataSet13.fieldbyname('SK').AsString;
datamodule1.IBDataSet2.FieldByName('VTarih').AsString:=datamodule1.IBDataSet13.fieldbyname('tarih').AsString;
datamodule1.IBDataSet2.FieldByName('ACIKLAMA').AsString:=datamodule1.IBDataSet13.fieldbyname('ACIKLAMA').AsString;
datamodule1.IBDataSet2.FieldByName('Miktar').Value:=1;
datamodule1.IBDataSet2.FieldByName('Fiyat').AsString:=datamodule1.IBDataSet13.fieldbyname('borc').AsString;
datamodule1.IBDataSet2.FieldByName('tutar').AsString:=datamodule1.IBDataSet13.fieldbyname('borc').AsString;
datamodule1.IBDataSet2.FieldByName('nettutar').AsString:=datamodule1.IBDataSet13.fieldbyname('borc').AsString;
datamodule1.IBDataSet2.FieldByName('kdvnettutar').AsString:=datamodule1.IBDataSet13.fieldbyname('borc').AsString;
datamodule1.IBDataSet2.Edit;
datamodule1.IBDataSet2.fieldbyname('CGRUP').AsString:=datamodule1.IBDataSet1.fieldbyname('CGRUP').AsString;
datamodule1.IBDataSet2BAKIYE.AsFloat:=datamodule1.IBDataSet2KDVNETTUTAR.AsFloat-datamodule1.IBDataSet2ODENEN.AsFloat;
datamodule1.IBDataSet2.Append;
datamodule1.IBQuery1.Close;
datamodule1.IBQuery1.Open;
datamodule1.IBQuery2.Close;
datamodule1.IBQuery2.Open;
datamodule1.IBQuery3.Close;
datamodule1.IBQuery3.Open;
datamodule1.IBDataSet2.Post;
datamodule1.IBDataSet13.Next;
end;
end;
procedure Ttsat.VadefarkiExit(Sender: TObject);
begin
nettutar.Value:=((tutar.Value-pesinat.Value)*vadefarki.Value/100)+(tutar.Value-pesinat.Value);
end;
procedure Ttsat.RzRadioButton1Click(Sender: TObject);
begin
fark.visible:=true;
end;
procedure Ttsat.RzRadioButton2Click(Sender: TObject);
begin
fark.visible:=false;
end;
procedure Ttsat.PesinatExit(Sender: TObject);
begin
nettutar.Value:=tutar.Value-pesinat.Value;
end;
procedure Ttsat.RzDBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_DOWN) then
begin
datamodule1.ibquery23.Close;
datamodule1.IBQuery23.Open;
end;
end;
procedure Ttsat.RzDBGrid1ColEnter(Sender: TObject);
begin
datamodule1.ibquery23.Close;
datamodule1.IBQuery23.Open;
end;
procedure Ttsat.RzDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
datamodule1.ibquery23.Close;
datamodule1.IBQuery23.Open;
end;