⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piutangcard.~pas

📁 this is sample for traders
💻 ~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 + -