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

📄 ar_enter_startbalance_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Ar_Enter_StArtBalance_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit, Mask;

Type
  TFrm_Ar_Enter_StArtBalance_D = Class(TFrm_Base_Detail)
    Label12: TLabel;
    edt_remArk: TEdit;
    Label1: TLabel;
    edt_CustomerCode: TEdit;
    Label2: TLabel;
    edt_CustomerName: TEdit;
    Label3: TLabel;
    medt_Month: TMaskEdit;
    Label4: TLabel;
    edt_Amount: TEdit;
    Label5: TLabel;
    edt_NoAmount: TEdit;
    procedure btn_okClick(Sender: TObject);
    procedure edt_CustomerCodeExit(Sender: TObject);
  private
    { Private declarations }
  public
    function getserverdate:string;
    procedure InitControls; Override;
    procedure SaveData;Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
    { Public declarations }
  end;

var
  Frm_Ar_Enter_StArtBalance_D: TFrm_Ar_Enter_StArtBalance_D;
  Balanceid:integer;
implementation
uses Sys_Global;
{$R *.DFM}

{ TFrm_Mrp_Enter_MsItemAssign_D }

procedure TFrm_Ar_Enter_StArtBalance_D.SaveData;
var tmpPmCode:integer;
begin
  inherited;

if (Add) then
 with AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.Add('insert into sa_ArBalance(customerCode,BalanceYearMonth,InvoiceAmount,NoInvoiceAmount,remArk,createEmployeeCode,createdatetime,edItEmployeeCode,editdatetime) '
                                +' Values('
                                 + quotedstr(edt_CustomerCode.Text)+','
                                 +quotedstr(medt_Month.text)+','
                                 +Trim(edt_Amount.Text)+','
                                 +Trim(edt_NoAmount.text)+','
                                 +quotedstr(edt_remArk.text)+','
                                 +quotedstr(userCode)+','
                                 +quotedstr(getserverdate)+','
                                 +'null,null'
                                 +')');


    Prepared;
    execsql;
    Close;
    sql.Text:='select @@identity as Balanceid';
    open;
    Balanceid:=fieldbyname('Balanceid').asinteger;
  end
else
   with AdoQry_tmp do
     begin
    Close;
    sql.clear;
    sql.Add('update sa_ArBalance '
            +' set InvoiceAmount='+Trim(edt_Amount.Text)+','
                  +'NoInvoiceAmount='+Trim(edt_NoAmount.text)+','
                  +' edItEmployeeCode='+quotedstr(userCode)+','
                  +' editdatetime='+quotedstr(getserverdate)+','
                 +' remArk='+quotedstr(edt_remArk.text)
            +' where customerCode='+quotedstr(AdoQry_Maintain.fieldbyname('customerCode').asstring)
            +'   and BalanceYearMonth='+quotedstr(medt_Month.text));
    Prepared;
    execsql;
  end;
 with AdoQry_Maintain do
  begin
    fieldbyname('customerCode').AsString:=Trim(edt_CustomerCode.Text);
    fieldbyname('customerName').asstring:=Trim(edt_CustomerName.text);
    fieldbyname('BalanceYearMonth').asstring:=Trim(medt_Month.text);
    fieldbyname('InvoiceAmount').asfloat:=strtofloat(Trim(edt_Amount.text));
    fieldbyname('NoInvoiceAmount').asfloat:=strtofloat(Trim(edt_NoAmount.text));
    fieldbyname('remArk').asstring:=edt_remArk.Text;
    Post;
  end;

end;

procedure TFrm_Ar_Enter_StArtBalance_D.InitControls;
begin
if (Add) then
 begin
  SetFocus_Control:=edt_CustomerCode;
   edt_CustomerCode.Enabled:=True;
   edt_CustomerName.Enabled:=True;
   medt_Month.Enabled:=True;
  end
else
 SetFocus_Control:=edt_Amount;
  inherited;
  with AdoQry_Maintain do
  begin
    edt_CustomerCode.Text:=fieldbyname('customerCode').AsString;
    edt_CustomerName.text:=fieldbyname('customerName').asstring;
    medt_Month.Text:=fieldbyname('BalanceYearMonth').asstring;
    edt_Amount.Text:=floattostr(fieldbyname('InvoiceAmount').Asfloat);
    edt_NoAmount.Text:=floattostr(fieldbyname('NoInvoiceAmount').Asfloat);
    edt_remArk.Text:=fieldbyname('remArk').asstring;
  end;
if not Add then
begin
edt_CustomerCode.Enabled:=False;
edt_CustomerName.Enabled:=False;
medt_Month.Enabled:=False;
end;

end;

function TFrm_Ar_Enter_StArtBalance_D.getserverdate: string;
var AdoQry:TAdoQuery;
begin
Result:='';
AdoQry:=TAdoQuery.Create(nil);
AdoQry.Connection:=dbconnect;
try
with AdoQry do
  begin
   Close;
   sql.clear;
   sql.Add('select getdate() as serverdate');
   open;
   Result:=fieldbyname('serverdate').asstring;
  end;
finally
  AdoQry.Free;
end;
end;

procedure TFrm_Ar_Enter_StArtBalance_D.SetStatus(CurrentStatus: String;
  var EnableControls: String);
begin
 inherited;
// if Currentstatus='Query' then
//   enablecontrols:='Extedt_rate,Extedt_qty,Extedt_PmCode,';
end;

procedure TFrm_Ar_Enter_StArtBalance_D.btn_okClick(Sender: TObject);
var sqltext:string;
begin
   sqltext:='select * from customer where customerCode='+quotedstr(Trim(edt_CustomerCode.text));
   Executesql(AdoQry_tmp,sqltext,0);
   if AdoQry_tmp.RecordCount=0 then
    begin
     DispInfo('客户代码错误!',3);
     edt_CustomerCode.SetFocus;
     abort;
    end;
   if status='Add' then
    begin
     sqltext:='select * from sa_ArBalance where customerCode='+quotedstr(Trim(edt_CustomerCode.text))+' and BalanceYearMonth='+quotedstr(medt_Month.text);
     Executesql(AdoQry_tmp,sqltext,0);
     if AdoQry_tmp.RecordCount>0 then
       begin
        DispInfo('已存在该客户该月份的期初余额设置!',3);
        edt_CustomerCode.SetFocus;
        abort;
       end;
    end;
  inherited;


end;

procedure TFrm_Ar_Enter_StArtBalance_D.edt_CustomerCodeExit(
  Sender: TObject);
var sqltext:string;
begin
  inherited;
  sqltext:='select customerName from customer where customerCode='+quotedstr(Trim(edt_CustomerCode.text));
  Executesql(AdoQry_tmp,sqltext,0);
  edt_CustomerName.Text:=AdoQry_tmp.fieldbyname('customerName').asstring;  
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -