亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品国产123| 日韩中文字幕区一区有砖一区| 日本高清免费不卡视频| 日韩一区欧美小说| 日韩中文字幕91| 日本不卡视频在线| 蜜臀久久久久久久| 激情深爱一区二区| 成人免费精品视频| 9l国产精品久久久久麻豆| 国产福利一区二区三区在线视频| 国产一区在线观看视频| 久久精品国产成人一区二区三区 | 亚洲成av人综合在线观看| 中文字幕一区二区在线播放| 日韩一区欧美一区| 五月综合激情网| 久久爱另类一区二区小说| 国产成人午夜精品5599| 91毛片在线观看| 7777精品伊人久久久大香线蕉的| 欧美一区二区视频观看视频| xf在线a精品一区二区视频网站| 中文字幕欧美区| 亚洲一区中文日韩| 国精产品一区一区三区mba桃花| 成人免费精品视频| 欧美一区二区在线免费播放| 久久综合色综合88| 亚洲福利视频一区| 国产精品综合一区二区| 欧日韩精品视频| 精品国产一区二区三区不卡 | 亚洲第一福利视频在线| 理论片日本一区| 99这里只有久久精品视频| 欧美日韩国产天堂| 国产精品天美传媒沈樵| 日日夜夜一区二区| av亚洲精华国产精华精| 这里只有精品电影| 亚洲日韩欧美一区二区在线| 久久国产精品色婷婷| 一本色道久久综合精品竹菊| 精品区一区二区| 亚洲一线二线三线视频| 成人精品免费看| 欧美一卡二卡在线观看| 一区二区三区国产精品| 成人污视频在线观看| 日韩欧美www| 亚洲一区二区三区三| 96av麻豆蜜桃一区二区| 国产午夜久久久久| 卡一卡二国产精品 | 日韩一区二区三区免费观看| √…a在线天堂一区| 国产精品一区在线观看乱码| 日韩一区二区电影| 亚洲成人av在线电影| 色又黄又爽网站www久久| 国产精品嫩草99a| 韩国一区二区视频| 亚洲一二三区在线观看| 99精品视频一区| 国产精品系列在线| 国产成人精品网址| 欧美国产日本韩| 成人三级伦理片| 国产精品久久国产精麻豆99网站| 国产在线观看免费一区| 久久久三级国产网站| 韩国女主播一区二区三区| 欧美mv和日韩mv国产网站| 麻豆专区一区二区三区四区五区| 777午夜精品视频在线播放| 午夜亚洲国产au精品一区二区| 欧美在线免费播放| 婷婷激情综合网| 欧美一区二区三区性视频| 蜜桃视频在线观看一区二区| 欧美一级一区二区| 国产一区二区三区免费看| 久久伊人蜜桃av一区二区| 国产成人免费视| 国产精品网曝门| 91国偷自产一区二区开放时间| 国产精品卡一卡二| 91成人在线观看喷潮| 人人精品人人爱| 久久日韩精品一区二区五区| 丰满白嫩尤物一区二区| 亚洲精品国产一区二区精华液| 欧美日韩国产中文| 亚洲一区二区免费视频| 欧美精品乱码久久久久久 | 日韩精品综合一本久道在线视频| 免费观看在线色综合| 国产午夜精品在线观看| www.色精品| 欧美综合久久久| 免费在线看一区| 国产精品久久久久9999吃药| 91福利国产精品| 麻豆高清免费国产一区| 国产精品初高中害羞小美女文| 色久优优欧美色久优优| 久久99九九99精品| 成人欧美一区二区三区| 欧美一区二区视频在线观看2020| 国产精品亚洲成人| 亚洲国产成人av网| 国产日韩一级二级三级| 精品视频一区二区不卡| 成人综合婷婷国产精品久久| 亚洲成av人在线观看| 国产女同性恋一区二区| 在线不卡欧美精品一区二区三区| 成人激情综合网站| 久久99精品网久久| 亚洲国产精品天堂| 国产精品乱码一区二区三区软件| 欧美日韩不卡一区| 91免费小视频| 粉嫩av亚洲一区二区图片| 美女网站一区二区| 亚洲国产精品一区二区www在线| 欧美激情综合五月色丁香| 欧美一区二区三区四区视频| 色域天天综合网| 波多野结衣在线一区| 国产资源在线一区| 天堂在线亚洲视频| 亚洲私人影院在线观看| 欧美经典一区二区| 日韩视频一区二区三区| 欧美久久一区二区| 在线精品亚洲一区二区不卡| 国产成人精品亚洲777人妖 | 亚洲成人手机在线| 亚洲欧洲精品成人久久奇米网| 久久精品在线免费观看| 欧美成人伊人久久综合网| 91精品国产麻豆国产自产在线| 在线免费观看视频一区| 色一情一乱一乱一91av| 91视频www| 日本韩国欧美一区二区三区| 91美女蜜桃在线| 在线观看日韩av先锋影音电影院| 99热这里都是精品| 91在线观看一区二区| 91原创在线视频| 欧美色图在线观看| 欧美日韩一区二区三区不卡| 欧美美女网站色| 日韩丝袜情趣美女图片| 久久亚洲捆绑美女| 中文字幕精品一区二区三区精品| 中文字幕第一区| 亚洲精品视频在线观看免费| 亚洲综合久久av| 青青草原综合久久大伊人精品优势| 亚洲国产色一区| 美女国产一区二区三区| 国产一区欧美一区| 99久久99久久久精品齐齐| 91国偷自产一区二区三区成为亚洲经典| 欧美亚洲国产一区在线观看网站| 欧美日韩一区二区三区视频| 91精品国产综合久久精品性色| 精品国产乱子伦一区| 中文字幕电影一区| 亚洲成a人片在线不卡一二三区| 日韩成人精品视频| 国产99久久精品| 在线观看日韩高清av| 日韩片之四级片| 亚洲国产精品成人综合| 亚洲韩国一区二区三区| 久久99国产精品久久99| 一区二区三区色| 午夜视频一区二区| 国产精品亚洲第一| 欧美日韩一级大片网址| 久久精品一级爱片| 亚洲国产综合91精品麻豆| 国产一区二区视频在线播放| 99视频精品免费视频| 精品久久久久久亚洲综合网 | 91麻豆产精品久久久久久 | 国产三级精品在线| 香蕉乱码成人久久天堂爱免费| 精品一区二区三区视频 | 久久精品国产免费看久久精品| 成人高清视频免费观看| 日韩欧美视频在线| 亚洲精品国产无天堂网2021| 紧缚奴在线一区二区三区| 在线国产亚洲欧美|