📄 piutangcard.~pas
字号:
unit PiutangCard;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SkinCtrls, DynamicSkinForm, JvExControls, JvStaticText, StdCtrls,
ovcbase, ovcspeed, JvExStdCtrls, JvButton, JvCtrls, JvFooter, ExtCtrls,
JvExExtCtrls, JvExtComponent, Grids, DBGrids, JvExDBGrids, JvDBGrid,
JvDBUltimGrid, DB, Mask, DBCtrls, ImgList, Menus;
type
TPiutangCardForm = class(TForm)
spDynamicSkinForm1: TspDynamicSkinForm;
spSkinGroupBox1: TspSkinGroupBox;
JvStaticText5: TJvStaticText;
edFind: TEdit;
OvcSpeedButton1: TOvcSpeedButton;
spSkinGroupBox2: TspSkinGroupBox;
spSkinGroupBox3: TspSkinGroupBox;
JvFooter1: TJvFooter;
PrintSellPrice: TJvFooterBtn;
btnTotalRec: TJvFooterBtn;
JvStaticText1: TJvStaticText;
JvStaticText2: TJvStaticText;
JvStaticText3: TJvStaticText;
JvStaticText4: TJvStaticText;
ItemGrid: TJvDBUltimGrid;
dsPiutangCard: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
dsSalesByPiutang: TDataSource;
dsLgnByPiutang: TDataSource;
DBMemo1: TDBMemo;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
spSkinGroupBox4: TspSkinGroupBox;
JvStaticText6: TJvStaticText;
JvStaticText7: TJvStaticText;
JvStaticText8: TJvStaticText;
JvStaticText9: TJvStaticText;
JvStaticText10: TJvStaticText;
JvStaticText11: TJvStaticText;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
stStatus: TStaticText;
PopupMenu1: TPopupMenu;
Payment: TMenuItem;
N2: TMenuItem;
CancelPayment: TMenuItem;
IL1: TImageList;
dsSales: TDataSource;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure OvcSpeedButton1Click(Sender: TObject);
procedure PaymentClick(Sender: TObject);
procedure ItemGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure CancelPaymentClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure dsSalesByPiutangDataChange(Sender: TObject; Field: TField);
procedure dsPiutangCardDataChange(Sender: TObject; Field: TField);
private
procedure ViewData;
public
end;
var
PiutangCardForm: TPiutangCardForm;
implementation
{$R *.dfm}
uses DataMod1, funclib, SalesPay;
procedure TPiutangCardForm.FormCreate(Sender: TObject);
begin
DateSeparator := '-'; ShortDateFormat := 'dd/mm/yyyy';
Top:=1; Left:=1; Width := 785; Height := 490;
end;
procedure TPiutangCardForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TPiutangCardForm.ViewData;
var
sqltext: String;
begin
QueryPerformanceFrequency(Frequency);
QueryPerformanceCounter(start);
with DM1.qPiutangCard do
begin
Close;
sqltext:='SELECT * '+
'FROM SALESPAYCARD '+
'WHERE SPNO=:nSP '+
'ORDER BY PAYNO ASC ';
SQL.Text:=sqltext;
Params.ParamByName('nSP').Value:=edFind.Text;
Open;
end;
if DM1.qPiutangCard.RecordCount<>0 then
begin
DM1.SalesByPiutang.Close;DM1.SalesByPiutang.Open;
DM1.LgnByPiutang.Close;DM1.LgnByPiutang.Open;
DM1.qPayEdit.Close; DM1.qPayEdit.Open;
end else
begin
ShowMessage('Data Dengan SP-NO : '+edFind.Text+' Tidak di-temukan ...!');
end;
QueryPerformanceCounter(stop);
//stBAR.Panels[1].Text :=format('%.2f',[(stop-start)/frequency])+' Detik';
//stBAR.Panels[2].Text :=formatFloat('#,##0.##',DM1.lsSales.FieldByName('OMZET').Value);
end;
procedure TPiutangCardForm.OvcSpeedButton1Click(Sender: TObject);
begin
ViewData;
end;
procedure TPiutangCardForm.PaymentClick(Sender: TObject);
begin
//DM1.qPayEdit.Close; DM1.qPayEdit.Open;
SalesPayForm:=TSalesPayForm.Create(nil);
SalesPayForm.ShowModal;
RefreshRec(DM1.qPiutangCard);
end;
procedure TPiutangCardForm.CancelPaymentClick(Sender: TObject);
begin
//DM1.qPayEdit.Close; DM1.qPayEdit.Open;
DM1.qPayEdit.Edit;
DM1.qPayEdit.FieldByName('PAYEDDATE').Value:=Null;
DM1.qPayEdit.FieldByName('KWINO').Value:=Null;
DM1.qPayEdit.FieldByName('COLLECTOR').Value:=Null;
DM1.qPayEdit.FieldByName('PAYED').Value:=0;
DM1.qPayEdit.Post;
DM1.qPayEdit.ApplyUpdates;
DM1.qPayEdit.CommitUpdates;
RefreshRec(DM1.qPiutangCard);
end;
procedure TPiutangCardForm.ItemGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Column.Field=DM1.qPiutangCard.FieldByName('PAYED') then
begin
ItemGrid.Canvas.FillRect(Rect);
IL1.Draw(ItemGrid.Canvas,Rect.Left+7,Rect.Top+1,0);
if DM1.qPiutangCard.RecordCount <> 0 then
begin
if DM1.qPiutangCard.FieldByName('PAYED').Value=1 then
IL1.Draw(ItemGrid.Canvas,Rect.Left+7,Rect.Top+1,1)
else
IL1.Draw(ItemGrid.Canvas,Rect.Left+7,Rect.Top+1,0);
end;
end;
end;
procedure TPiutangCardForm.FormShow(Sender: TObject);
begin
edFind.SetFocus;
end;
procedure TPiutangCardForm.dsSalesByPiutangDataChange(Sender: TObject;
Field: TField);
begin
if DM1.SalesByPiutang.FieldByName('TOTALPAYED').Value>=DM1.SalesByPiutang.FieldByName('TRSISA').Value then
stStatus.Caption:='L U N A S' else
stStatus.Caption:='BELUM-LUNAS';
end;
procedure TPiutangCardForm.dsPiutangCardDataChange(Sender: TObject;
Field: TField);
begin
with SQLp do
begin
Script.Clear;
Script.Add('UPDATE SALES SET TOTALPAYED=(SELECT SUM(AMOUNT) FROM SALESPAYCARD WHERE PAYED=1 AND SPNO=:nSP), ');
Script.Add('TOTALBAL=TRSISA-TOTALPAYED ;');
ParamByName('nSP').Value:=DM1.SalesByPiutangTRNO.Value;
Execute;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -