亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ap_pay_d.pas

?? 一個MRPII系統源代碼版本
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
//功能:付款表單明細控制.最后更新時間:5月21日
unit Ap_Pay_D;

Interface

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

Type
  TFrm_Ap_Pay_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    edt_VendorCode1: TExtEdit;
    Label4: TLabel;
    Lbl_VendorName1: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    edt_PayBillno: TExtEdit;
    edt_PayAmount: TExtEdit;
    edt_Paydate: TMaskEdit;
    edt_PayModeCode: TComboBox;
    Label5: TLabel;
    Label8: TLabel;
    edt_CurrencyCode: TExtEdit;
    edt_EmployeeCode: TExtEdit;
    Label9: TLabel;
    Lbl_EmployeeName: TLabel;
    Label11: TLabel;
    Lbl_CURRENCYName: TLabel;
    Label10: TLabel;
    edt_PayRemArk: TExtEdit;
    Label12: TLabel;
    Edt_input: TMaskEdit;
    Label13: TLabel;
    edt_RemArkNo: TExtEdit;
    Lbl_VendorName: TEdit;
    edt_VendorCode: TLinkEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure edt_PayAmountExit(Sender: TObject);
    procedure btn_CancelClick(Sender: TObject);
    procedure edt_VendorCode1Exit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure Edt_inputExit(Sender: TObject);
    procedure edt_VendorCodeExit(Sender: TObject);
    procedure edt_VendorCodeButtonClick(Sender: TObject);
  private
    { Private declarations }
    lc_PayId,lc_Old_Vendor:string;
    Lc_Match:boolean;
    lc_Old_Amount:real;
    function  ApCheckout(Month: String): Boolean;                    //檢查錄入月份是否允許變更
    function  GetApInvoiced(VendorCode:string):real;                 //獲得已開發應付款的值
    procedure Pay_Backup(Action_flag:string);                        //插入日志文件PayJournalLog
    procedure Delete_Old_MatchPay(VendorCodeS:string;CurrPay:real);  //刪除一張付款記錄時發票匹配過程函數
    procedure MatchPay(VendorCodeS:string;CurrPay:real);             //增加一張付款記錄時發票匹配過程函數
    procedure MatchPay_negative(VendorCodeS:string;CurrPay:real);             //增加一張紅沖付款記錄時發票匹配過程函數
    procedure MArk_File(ApId,InvoiceId:integer;PayedAmout:real;PayedDate:string);//插入日志文件PayJournalLineLog
    procedure Add_CurrentAp(VendorCodeS:string;CurrPay:real);       //增加一張付款票據時,在當前應付款CurrentAp表中減去相應數據
    procedure Delete_CurrentAp(VendorCodeS:string;CurrPay:real);    //刪除一張付款票據時,在當前應付款CurrentAp表中修改相應數據
  public
    { Public declarations }
  protected
    procedure InitControls; Override;
    procedure SaveData; Override;
  end;

var
  Frm_Ap_Pay_D: TFrm_Ap_Pay_D;

implementation
uses Sys_Global,Ap_Pay;
{$R *.DFM}
procedure TFrm_Ap_Pay_D.Pay_Backup(Action_flag:string);
//Action_flag為'A'代表增加,'M'代表修改,'D'代表刪除.
var
  Sql_Txt:string;
  Temp_Qry_log:TAdoQuery;
  Temp_Date:string;
begin
  Temp_Qry_log:=TAdoQuery.Create(nil);
  Temp_Qry_log.Connection:=AdoQry_Maintain.Connection;
  if Action_flag='M' then
  Sql_Txt:='insert into PayJournalLog(LogDate,'+
                                'LogOperatorCode,'+
                                'LogAction,'+
                                'PayJournalId,'+
                                'VendorCode,'+
                                'CurrencyCode,'+
                                'EmployeeCode,'+
                                'PayModeCode,'+
                                'PayDate,'+
                                'PayInputDate,'+
                                'PayAmount,'+
                                'PayBillNo,'+
                                'PayRemArk)   '+
                   'Values(getdate(),'+
                   ' '''+edt_EmployeeCode.Text+''','+
                   format('''%s''',[action_flag])+','+
                   ' '+AdoQry_Maintain.fieldbyname('PayJournalId').asstring+','+
                   ' '''+edt_VendorCode.Text+''','+
                   ' '''+edt_CurrencyCode.text+''','+
                   ' '''+AdoQry_Maintain.fieldbyname('EmployeeCode').asstring+''','+
                   ' '''+GetCode(edt_PayModeCode.Text)+''','+
                   ' '''+edt_Paydate.Text+''','+
                   ' '''+Edt_input.Text+''','+
                   ' '+edt_PayAmount.Text+','+
                   ' '''+edt_PayBillno.Text+''','+
                   ' '''+edt_PayremArk.Text+''')'
  else
      Sql_Txt:='insert into PayJournalLog(LogDate,'+
                                'LogOperatorCode,'+
                                'LogAction,'+
                                'PayJournalId,'+
                                'VendorCode,'+
                                'CurrencyCode,'+
                                'EmployeeCode,'+
                                'PayModeCode,'+
                                'PayDate,'+
                                'PayInputDate,'+
                                'PayAmount,'+
                                'PayBillNo,'+
                                'PayRemArk)   '+
                   'Values('''+formatdatetime('yyyy.mm.dd',date())+''','+
                   ' '''+edt_EmployeeCode.Text+''','+
                   format('''%s''',[action_flag])+','+
                   ' '''+AdoQry_Maintain.fieldbyname('PayJournalId').asstring+''','+
                   ' '''+edt_VendorCode.Text+''','+
                   ' '''+edt_CurrencyCode.text+''','+
                   ' '''+edt_EmployeeCode.Text+''','+
                   ' '''+GetCode(edt_PayModeCode.Text)+''','+
                   ' '''+edt_Paydate.Text+''','+
                   ' '''+Edt_input.Text+''','+
                   ' '+edt_PayAmount.Text+','+
                   ' '''+edt_PayBillno.Text+''','+
                   ' '''+edt_PayremArk.Text+''')';
  with Temp_Qry_log do
  begin
    sql.clear;
    sql.Add(sql_txt);
    Prepared;
    execSQL;
  end;
end;

procedure TFrm_Ap_Pay_D.FormCreate(Sender: TObject);
begin
  inherited;
  setfocus_Control:=edt_Paydate
end;

procedure TFrm_Ap_Pay_D.InitControls;
begin
  inherited;
  with AdoQry_Maintain do
  begin
    edt_VendorCode.Text:=fieldbyname('VendorCode').asstring;
    edt_Paydate.Text:=fieldbyname('Paydate').asstring;
    edt_PayBillno.Text:=fieldbyname('PayBillno').asstring;
    edt_PayModeCode.Text:=fieldbyname('PayModeCode').asstring;
    edt_PayAmount.Text:=fieldbyname('PayAmount').asstring;
    edt_PayremArk.Text:=fieldbyname('PayremArk').asstring;
    Lbl_VendorName.text:=fieldbyname('VendorName').asstring;
    Lbl_CURRENCYName.Caption:=fieldbyname('currencyName').asstring;
    if Pnl_Add.Caption='修改' then
    begin
      lc_Old_Vendor:=edt_VendorCode.Text;
      lc_Old_Amount:=strtofloat(edt_PayAmount.Text);
      edt_RemArkNo.text:=fieldbyname('RemArkNo').asstring;
      edt_EmployeeCode.Text:=fieldbyname('EmployeeCode').asstring;
      Edt_input.Text:=fieldbyname('PayInputDate').asstring;
      edt_Paydate.SetFocus;
    end
    else
    begin
      edt_RemArkNo.text:='';
      edt_input.text:=formatdatetime('yyyy.mm.dd',now());
      edt_EmployeeCode.Text:=UserCode;
    end;
    edt_EmployeeCode.OnExit(edt_EmployeeCode);
    edt_EmployeeCode.Enabled:=False;
    edt_EmployeeCode.Color:=clmenu;
    edt_CurrencyCode.Text:=fieldbyname('currencyCode').asstring;
    edt_CurrencyCode.Enabled:=False;
    edt_CurrencyCode.Color:=clmenu;
  end;
end;

procedure TFrm_Ap_Pay_D.SaveData;
var
  S:string;
begin
  if ApCheckout(Edt_input.Text) then
  begin
    DispInfo('不允許增加已結帳月份記錄!',1);
    Edt_input.SetFocus;
    abort;
  end;
  if edt_PayModeCode.Text='' then
  begin
    DispInfo('付款方式不可為空!',1);
    edt_PayModeCode.SetFocus;
    Abort;
  end;
  inherited;
  if (Add) then
  begin
    S:=formatdatetime('yyyymm',date);  //付款匹配號流水增加
    edt_PayBillno.Text:=GetNo(AdoQry_Tmp.Connection,S,'ApPay');
  end;

  DbConnect.beginTrans;
  try
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      if(Add)then
      begin
        SQL.Add('insert into PayJournal '+
                '  (PayBillNo,'+
                '   RemArkNo,'+
                '   PayDate,'+
                '   VendorCode,'+
                '   CurrencyCode,'+
                '   EmployeeCode,'+
                '   PayInputDate,'+
                '   PayModeCode,'+
                '   PayAmount,'+
                '   PayremArk) '+
                'Values '+
                '  ('''+edt_PayBillno.Text+''','+
                '   '''+edt_RemArkNo.Text+''','+
                '   '''+edt_Paydate.Text+''','+
                '   '''+edt_VendorCode.Text+''','+
                '   '''+edt_CurrencyCode.text+''','+
                '   '''+edt_EmployeeCode.Text+''','+
                '   '''+edt_input.Text+''','+
                '   '''+GetCode(edt_PayModeCode.Text)+''','+
                '   '+edt_PayAmount.Text+','+
                '   '''+edt_PayremArk.Text+''')');
        execSQL;
        Pay_Backup('A');
      end
      else
      begin
        SQL.Add('update PayJournal '+
                'set PayBillNo='''+edt_PayBillNo.Text+''','+
                '    RemArkNo='''+edt_RemArkNo.Text+''','+
                '    Paydate='''+edt_Paydate.Text+''','+
                '    VendorCode='''+edt_VendorCode.Text+''','+
                '    CurrencyCode='''+edt_CurrencyCode.Text+''','+
                '    PayInputDate='''+edt_input.Text+''','+
                '    EmployeeCode='''+edt_EmployeeCode.Text+''','+
                '    PayModeCode='''+GetCode(edt_PayModeCode.Text)+''','+
                '    PayAmount='+edt_PayAmount.Text+','+
                '    PayRemArk='''+edt_PayremArk.text+''' '+
                'where PayBillno='''+AdoQry_Maintain.fieldbyname('PayBillno').asstring+''' ' );
        execSQL;
        Pay_Backup('M');
        Delete_Old_MatchPay(lc_Old_Vendor,lc_Old_Amount);
        delete_CurrentAp(lc_Old_Vendor,lc_Old_Amount);

      end;

    end;

    with AdoQry_Maintain do
    begin
      fieldbyname('RemArkNo').Value:=edt_RemArkNo.Text;
      fieldbyname('VendorCode').Value:=edt_VendorCode.Text;
      fieldbyname('Paydate').Value:=strtodate(edt_Paydate.Text);
      fieldbyname('PayBillno').Value:=edt_PayBillno.Text;
      fieldbyname('PayModeCode').Value:=GetCode(edt_PayModeCode.Text);
      fieldbyname('PayAmount').Value:=edt_PayAmount.Text;
      fieldbyname('currencyCode').AsString:=edt_CurrencyCode.Text;
      fieldbyname('currencyName').AsString:=Lbl_CurrencyName.Caption;
      fieldbyname('EmployeeCode').asstring:=edt_EmployeeCode.Text;
      fieldbyname('PayremArk').asstring:=edt_PayremArk.Text;
      fieldbyname('PayInputDate').asstring:=edt_Input.Text;
      post;
    end;
    if  StrToFloat(edt_PayAmount.Text)>=0 then
      MatchPay(edt_VendorCode.text,strtofloat(edt_PayAmount.Text))
    else
      MatchPay_negative(edt_VendorCode.text,strtofloat(edt_PayAmount.Text));
    Add_CurrentAp(edt_VendorCode.text,strtofloat(edt_PayAmount.Text));
    DbConnect.CommitTrans;
    DispInfo('發票已按余額承前法匹配完畢!',3);
  except
    DbConnect.RollBackTrans;
    DispInfo('無法匹配發票數據庫!',1);
    Abort;
  end;
end;

procedure TFrm_Ap_Pay_D.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Ap_Pay_D:=nil;
end;

procedure TFrm_Ap_Pay_D.FormActivate(Sender: TObject);
begin
  inherited;
    InitCmBx(AdoQry_Tmp.Connection,Edt_PayModeCode,'PayMode','PayModeCode','PayModeName',False);
    InitCmBxText(Edt_PayModeCode,GetCode(AdoQry_Maintain.fieldbyname('PayModeCode').asstring));
  
  if (Add) then
  begin
    Lbl_VendorName.text:='';
    edt_PayBillno.Text:='';
    edt_Paydate.Text:=DateToStr(Now());
    edt_RemArkNo.Text:='';
    edt_VendorCode.Text:='';
    edt_PayModeCode.Text:='';
    edt_PayAmount.Text:='';
    edt_PayremArk.Text:='';
    edt_CurrencyCode.Text:='';
    Lbl_CURRENCYName.Caption:='';
  end;
end;

procedure TFrm_Ap_Pay_D.MatchPay(VendorCodeS:string;CurrPay: real);
var
  Bill_Tmp_Qry:TAdoQuery;
  SQL_Txt:string;
  Temp_var:real;
begin
  Temp_var:=0.0;
  Bill_tmp_Qry:=TAdoQuery.Create(nil);
  Bill_tmp_Qry.Connection:=AdoQry_Maintain.Connection;
  SQL_Txt:='select ApInvoiceId,'+
           'ApInvoiceInputDate,'+
           'ApInvoiceAmount,'+
           'ApPayedAmount,'+
           'ApPayFlag '+
           'from ApInvoice '+
           'where ApPayFlag<>0 and '+
           'VendorCode='+
           format('''%s''',[VendorCodeS]);
  with Bill_Tmp_Qry do
  begin
    sql.clear;
    sql.Add(sql_txt);
    Prepared;
    open;
    Sort:='ApInvoiceInputDate';
    First;
    while not eof do
    begin
      Temp_var:=fieldbyname('ApPayedAmount').asfloat;
      case fieldbyname('ApPayflag').asinteger of
        1:Temp_var:=fieldbyname('ApInvoiceAmount').asfloat-Temp_var;
        2:Temp_var:=fieldbyname('ApInvoiceAmount').asfloat;
      end;
      AdoQry_Tmp.Close;
      AdoQry_Tmp.sql.clear;
      sql_txt:='select PayJournalId,PayBillNO '+
                     ' from PayJournal'+
                     ' where PayBillNo='+
                     format('''%s''',[edt_PayBillno.Text]);
      AdoQry_Tmp.sql.Add(sql_txt);
      AdoQry_Tmp.Prepared;
      AdoQry_Tmp.open;
      lc_PayId:=AdoQry_Tmp.fieldbyname('PayJournalId').asstring;
      if CurrPay>Temp_var then
      begin
        edit;
        fieldbyname('ApPayflag').asInteger:=0;
        fieldbyname('ApPayedAmount').asfloat:=fieldbyname('ApInvoiceAmount').asfloat;
        CurrPay:=CurrPay-Temp_var;
        post;
        MArk_File(strtoint(lc_PayId),
        fieldbyname('ApInvoiceId').asinteger,Temp_var,
        edt_Paydate.Text);
        next;
      end
      else
      if CurrPay=Temp_var then
      begin
        edit;
        fieldbyname('ApPayflag').asInteger:=0;
        fieldbyname('ApPayedAmount').asfloat:=fieldbyname('ApInvoiceAmount').asfloat;
        CurrPay:=CurrPay-Temp_var;
        post;
        MArk_File(strtoint(lc_PayId),
        fieldbyname('ApInvoiceId').asinteger,Temp_var,
        edt_Paydate.Text);
        exit;
      end
      else
      begin
        edit;
        fieldbyname('ApPayedAmount').asfloat:=fieldbyname('ApPayedAmount').asfloat+CurrPay;
        fieldbyname('ApPayflag').asinteger:=1;
        post;
        MArk_File(strtoint(lc_PayId),
        fieldbyname('ApInvoiceId').asinteger,CurrPay,
        edt_Paydate.Text);
        CurrPay:=0.0;
        Update;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线影院| 国产精品1区2区3区在线观看| 久久久久久99久久久精品网站| 91精品国产91久久综合桃花| 欧美丰满一区二区免费视频 | 91精品国产综合久久久蜜臀图片 | 亚洲成人自拍一区| 一区二区三区国产豹纹内裤在线| 亚洲三级电影网站| 亚洲在线视频免费观看| 午夜成人在线视频| 热久久国产精品| 精品一区二区久久久| 国模套图日韩精品一区二区| 国产精品一二三在| 91精品国产综合久久久久久漫画| 欧美一级二级在线观看| www久久久久| 亚洲视频你懂的| 天天综合色天天综合| 国产一区二三区好的| 成人国产精品视频| 欧美日韩美女一区二区| www久久久久| 亚洲精品免费电影| 蜜桃精品视频在线观看| 国产风韵犹存在线视精品| 91色乱码一区二区三区| 欧美高清精品3d| 欧美国产精品中文字幕| 一区二区久久久久| 国产尤物一区二区在线| 日本精品视频一区二区三区| 日韩一级精品视频在线观看| 中文字幕日韩欧美一区二区三区| 首页欧美精品中文字幕| 成人黄色国产精品网站大全在线免费观看 | 日韩欧美久久一区| 亚洲欧美偷拍卡通变态| 蜜桃传媒麻豆第一区在线观看| 岛国av在线一区| 日韩一区二区免费在线观看| 亚洲欧美综合色| 激情文学综合插| 欧美色男人天堂| 国产精品久久久久一区二区三区共| 亚洲777理论| av激情综合网| 2023国产一二三区日本精品2022| 亚洲一区av在线| 粉嫩在线一区二区三区视频| 91精品国产色综合久久| 依依成人精品视频| 9人人澡人人爽人人精品| 日韩欧美国产综合一区| 午夜日韩在线观看| 精品国产免费人成在线观看| 亚洲成人你懂的| 91在线porny国产在线看| 久久九九国产精品| 久久激情五月激情| 91精品在线免费观看| 一区二区日韩av| 色美美综合视频| 综合自拍亚洲综合图不卡区| 国产999精品久久久久久绿帽| 日韩免费在线观看| 免费在线看成人av| 欧美一卡二卡三卡四卡| 首页欧美精品中文字幕| 在线播放91灌醉迷j高跟美女| 亚洲成人在线观看视频| 欧美亚洲国产一区在线观看网站| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美亚洲高清一区| 亚洲色图视频免费播放| 91麻豆福利精品推荐| 国产午夜精品在线观看| 成人一级片网址| 国产精品丝袜黑色高跟| 91精品国产日韩91久久久久久| 亚洲成va人在线观看| 欧美日本乱大交xxxxx| 日韩黄色在线观看| 精品久久久网站| 国产精品12区| 亚洲视频一区二区在线| 欧美无人高清视频在线观看| 亚洲一区二区三区影院| 制服丝袜一区二区三区| 青青草精品视频| 久久婷婷久久一区二区三区| 成人毛片老司机大片| 一区二区欧美精品| 欧美一区二区三区视频在线| 蜜桃精品视频在线| 国产精品国产三级国产普通话蜜臀| 99这里只有久久精品视频| 亚洲午夜精品一区二区三区他趣| 欧美精品自拍偷拍| 韩国精品免费视频| 亚洲黄色性网站| 欧美xxxxx牲另类人与| 91精品国产福利| 成人一级黄色片| 午夜成人免费电影| 国产精品热久久久久夜色精品三区| 91国产视频在线观看| 久久精品二区亚洲w码| 国产精品欧美综合在线| 欧美精品高清视频| 国产 欧美在线| 日韩精品福利网| 日本一区二区三区四区在线视频| 欧美性猛交xxxx乱大交退制版| 国产精品一区在线| 亚洲成人综合视频| 1024成人网| 国产亚洲成aⅴ人片在线观看| 欧美怡红院视频| eeuss鲁一区二区三区| 麻豆精品一区二区av白丝在线| 国产精品久久久久影视| 欧美大片拔萝卜| 欧美日韩精品电影| 丁香婷婷深情五月亚洲| 日本少妇一区二区| 亚洲午夜一区二区| 亚洲三级在线播放| 国产精品国产自产拍高清av| 欧美videos中文字幕| 欧美日韩三级视频| 在线视频亚洲一区| 99久久精品国产观看| 国产一区二区三区四| 日本欧美一区二区| 亚洲一区影音先锋| 亚洲精品视频在线| 亚洲欧洲一区二区三区| 中文字幕精品三区| 精品国产乱码久久| 久久在线观看免费| 日韩视频永久免费| 日韩欧美成人一区| 日韩欧美国产午夜精品| 制服丝袜亚洲网站| 欧美卡1卡2卡| 欧美日韩久久久| 欧美性猛片aaaaaaa做受| 色老汉一区二区三区| 欧美伊人久久久久久久久影院| 在线一区二区三区| 欧美日韩中文字幕一区| 欧美日韩精品系列| 91精品国产综合久久香蕉麻豆 | 欧美人妖巨大在线| 欧美日韩日日夜夜| 日韩欧美一级二级三级久久久| 日韩亚洲欧美在线| 久久久五月婷婷| 国产精品国模大尺度视频| 亚洲欧美激情插| 视频一区在线视频| 国产综合色产在线精品| 成人深夜视频在线观看| 91污片在线观看| 欧美蜜桃一区二区三区| 欧美一级片免费看| 欧美国产禁国产网站cc| 亚洲自拍偷拍综合| 久久成人免费电影| 91亚洲资源网| 国产不卡在线播放| 色婷婷精品久久二区二区蜜臀av| 精品视频全国免费看| 2023国产精华国产精品| 综合久久久久久久| 日本不卡123| 国产不卡在线一区| 欧美偷拍一区二区| 久久久亚洲精品石原莉奈| 亚洲免费视频中文字幕| 日韩高清不卡一区二区| 成人激情免费网站| 欧美一区永久视频免费观看| 国产欧美日韩精品在线| 亚洲小说春色综合另类电影| 国产原创一区二区三区| 色视频欧美一区二区三区| 欧美成人三级电影在线| 亚洲美女在线国产| 国产在线国偷精品产拍免费yy | 天天综合网 天天综合色| 国产精品一区二区在线播放| 欧美午夜宅男影院| 国产午夜亚洲精品午夜鲁丝片| 亚洲一区二区影院| 国产激情一区二区三区| 欧美日韩精品一区二区在线播放| 国产精品九色蝌蚪自拍|