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

📄 ap_enter_noinvoiceinvinorder1.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 3 页
字号:
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.SaveHeadData;
begin
  inherited;
  with AdoQry_Head do
  begin
    fieldbyname('VendorCode').asstring:=LkEdt_VendorCode.text;
    fieldbyname('VendorName').asstring:=Edt_VendorName.text;
    fieldbyname('InvBillNo').asstring:=Edt_InvBillNo.text;
    fieldbyname('InvBillDate').asstring:=Edt_InvBillDate.text;
    fieldbyname('BillTypeCode').asstring:=CmBx_BillTypeCode.text;
    fieldbyname('BillTypeName').asstring:=Edt_BillTypeName.text;
    if  pos('%',Edt_InvBillTaxRate.text)>0  then
      fieldbyname('InvBillTaxRate').asstring:=copy(Trim(Edt_InvBillTaxRate.text),1, pos('%',Edt_InvBillTaxRate.text)-1)
    else
      fieldbyname('InvBillTaxRate').asstring:=Edt_InvBillTaxRate.text;
    fieldbyname('WhCode').asstring:= CmBx_WhCode.text;
    fieldbyname('WhName').asstring:=Edt_WhName.text;
    fieldbyname('WhPositionCode').asstring:=Edt_WhPositionCode.text;
    fieldbyname('WhPositionName').asstring:=Edt_WhPositionName.text;
    fieldbyname('CurrencyCode').asstring:=Edt_CurrencyCode.text;
    fieldbyname('CurrencyName').asstring:=Edt_CurrencyName.text;
    fieldbyname('VendorBillNo').asstring:=Edt_VendorBillNo.text;
    fieldbyname('InvBillRemArk').asstring:=Edt_InvBillRemArk.text;
  end;
  //此程序不能做这一事件,因为用了CASE语句,所以不能增加

end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.SetStatus(
  CurrentStatus: String; var AnswerStatus, EnableControls: String);
begin
  inherited;
  if CurrentStatus='Add' then
  begin
    AnswerStatus:='Add';
    EnableControls:='Edt_InvBillRemArk,Edt_InvBillNo,';
  end
  else if CurrentStatus='ReadOnly' then
  begin
    AnswerStatus:='ReadOnly';
    EnableControls:='';
  end;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.FormCreate(Sender: TObject);
begin
  inherited;
  Frm_Entry_Detail:=TFrm_Ap_Enter_NoInvoiceInvInOrder1_D.Create(Self);//设置弹出Detail
  SetFocus_Control:=LkEdt_VendorCode ;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.LkEdt_VendorCodeExit(
  Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButton4' then
    abort;
  if Trim(LkEdt_VendorCode.text)='' then
  begin
    DispInfo('供应商代码不能为空',3);
    LkEdt_VendorCode.setfocus;
    abort;
  end;
  UsableVendorCodecheck(sender);
  with AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.Add(' select Vendor.currencyCode,Vendor.VendorName,'+
            ' currency.currencyCode,currency.currencyName,'+
            ' Vendortaxrate_Percent '+
            ' from Vendor '+
            '  left join currency '+
            '   on Vendor.currencyCode=currency.currencyCode '+
            '  where Vendor.VendorCode='''+Trim(LkEdt_VendorCode.text)+'''');
    open;
    if recordCount<>0 then
    begin
      currencyCode:=fieldbyname('currencyCode').asstring;
      Vendortaxrate_Percent:=fieldbyname('Vendortaxrate_Percent').asstring;
      Edt_VendorName.text:=fieldbyname('VendorName').asstring;
      Edt_InvBillTaxRate.text:=fieldbyname('Vendortaxrate_Percent').asstring;
      Edt_CurrencyCode.text:=fieldbyname('currencyCode').asstring;
      Edt_CurrencyName.text:=fieldbyname('currencyName').asstring;
      if IsMasterCurrency(Edt_CurrencyCode.text)then
      begin
        ExchRate:='1';
        Edt_ExchRate.text:='1';
        Edt_ExchRate.Enabled :=False;
      end
      else
      begin
        Close;
        sql.clear;
        sql.Add('select ExchRate from ExchRate where exchMonth='''+copy(Trim(Edt_InvBillDate.text),1,7)+''' and currencyCode='''+currencyCode+'''');
        open;
        if not eof then
        begin
          ExchRate:=fieldbyname('ExchRate').asstring;
          Edt_ExchRate.Text:=fieldbyname('ExchRate').asstring;
          Edt_ExchRate.Enabled :=False;
        end
        else
        begin
          //这里将存在一个问题,暂不考虑
          //DispInfo('该供应商主控货币'+currencyCode+' '+'在'+copy(Edt_InvBillDate.text,1,7)+' 月没有定义!',3);
          Edt_ExchRate.setfocus;
        end;
      end;
    end
    else
    begin
      DispInfo('此供应商代码不存在或没有生效!,请重新输入!',3);
      LkEdt_VendorCode.setfocus;
      abort;
    end;
  end;
  Edt_WhPositionCodeExit(Edt_WhPositionCode);
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.LkEdt_VendorCodeKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  if(Key=120)then
    CommonHint(Sender,AdoQry_Tmp,'VendorName','供应商名称','VendorCode',
      '供应商代码','Vendor','VendorUsable=1');
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.LkEdt_VendorCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommonHint(Sender,AdoQry_Tmp,'VendorName','供应商名称','VendorCode',
      '供应商代码','Vendor','VendorUsable=1');
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Act_PreviewExecute(
  Sender: TObject);
begin
  //inherited;
  IsAfterprint:=True;
  BillPrint(AdoQry_Tmp.Connection,GetCode(CmBx_WhCode.text),Edt_InvBillNo.text,CmBx_BillTypeCode.text,'Stk',True,False,True,'');
  IsAfterprint:=False;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Act_PrintExecute(
  Sender: TObject);
begin
  //inherited;
  IsAfterprint:=True;
  BillPrint(AdoQry_Tmp.Connection,GetCode(CmBx_WhCode.text),Edt_InvBillNo.text,CmBx_BillTypeCode.text,'Stk',False,False,True,'');
  IsAfterprint:=False;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Act_NewExecute(
  Sender: TObject);
begin
  IsAfterprint:=False;
  issecondinsert:=True;
  inherited;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Act_ModifyExecute(
  Sender: TObject);
begin
  //把Detail中要用到的参数从BODY传过去
  LkEdt_VendorCodeExit(LkEdt_VendorCode);
  Frm_Entry_Detail.SetFormParam('','',currencyCode,Vendortaxrate_Percent,ExchRate,'');
  TFrm_Ap_Enter_NoInvoiceInvInOrder1_D(Frm_Entry_Detail).setformParam1(getCode(CmBx_WhCode.text),getCode(Edt_WhPositionCode.text));
  inherited;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.InitCmbbx_WhPositionCode(
  whCode: string);
begin
  //初始化货位,根据当前传入的仓库号码,选出不是待检货位及不是拉式货位的货位
  with AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.Add('select WhPositionCode,WhPositionName '+
            ' from WhPosition  '+
            ' where whCode='''+whCode+''''+
              ' and WhPositionType<>1 '+
              ' and BackFlushWhP=0 '+
              ' Order by WhPositionCode ');
    open;
    Edt_WhPositionCode.clear;
    if not Eof then
    begin
      First;
      while not Eof do
      begin
        Edt_WhPositionCode.Items.Add(fieldbyname('WhPositionCode').asstring+' '+fieldbyname('WhPositionName').asstring);
        //Edt_WhPositionCode.Items.Add(fieldbyname('WhPositionCode').asstring);
        Next;
      end;
      Edt_WhPositionCode.Itemindex:=0;
    end;
  end;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.CmBx_WhCodeChange(
  Sender: TObject);
begin
  inherited;
  initcmbbx_WhPositionCode(getCode(CmBx_WhCode.text));
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Act_InsertLineExecute(
  Sender: TObject);
begin
  LkEdt_VendorCodeExit(LkEdt_VendorCode);
  // Billno:=getno(AdoQry_Body.Connection,getCode(CmBx_WhCode.text)+'R'+copy(Edt_InvBillDate.text,3,2)+copy(Edt_InvBillDate.text,6,2),'InvBill');
  //Edt_InvBillNo.text:=Billno;
  //Edt_InvBillNo.enabled:=False;
  Frm_Entry_Detail.SetFormParam('','',currencyCode,Vendortaxrate_Percent,ExchRate,Trim(LkEdt_VendorCode.text));
  TFrm_Ap_Enter_NoInvoiceInvInOrder1_D(Frm_Entry_Detail).setformParam1(getCode(CmBx_WhCode.text),getCode(Edt_WhPositionCode.text));
  inherited;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Initcmbx_BillTypeCode;
begin
  with AdoQry_Tmp do
  begin
    Close;
    Sql.clear;
    sql.text:=' select BillTypeCode  from BillType where io=0';
    open;
    CmBx_BillTypeCode.clear;
    First;
    while not eof do
    begin
      CmBx_BillTypeCode.Items.Add (fieldbyname('BillTypeCode').asstring);
      next;
    end;
  end;
  CmBx_BillTypeCode.ItemIndex :=0;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.CmBx_BillTypeCodeExit(
  Sender: TObject);
begin
  inherited;
  with AdoQry_Tmp do
  begin
    Close;
    Sql.clear;
    sql.text:=' select BillTypeName  from BillType '
             +' where BillTypeCode='''+Trim(CmBx_BillTypeCode.text)+''''+' and io=0 ';
    open;
    if not eof then
     Edt_BillTypeName.text:=fieldbyname('BillTypeName').asstring;
   end;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.Edt_WhPositionCodeExit(
  Sender: TObject);
begin
  inherited;
  with AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.Add(' select WhPositionName '+
            ' from WhPosition  '+
            ' where WhPositionCode='''+getCode(Edt_WhPositionCode.text)+'''');
    open;
    if not eof  then
      Edt_WhPositionName.text:=fieldbyname('WhPositionName').asstring;
    Close;
  end;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.CmBx_WhCodeExit(
  Sender: TObject);
begin
  inherited;
  with AdoQry_Tmp do
  begin
    Close;
    sql.clear;
    sql.Add('select whName from Warehouse where whCode='''+getCode(CmBx_WhCode.text)+'''');
    open;
    Edt_WhName.text:=fieldbyname('whName').asstring;
    Close;
  end;
end;

procedure TFrm_Ap_Enter_NoInvoiceInvInOrder1.FormActivate(Sender: TObject);
begin
  inherited;
  Initcmbx_BillTypeCode;
end;

function TFrm_Ap_Enter_NoInvoiceInvInOrder1.IsMasterCurrency(
  Currency: string): boolean;
begin
  Result:=False;
  Executesql(AdoQry_tmp,'select isMaster  from Currency where CurrencyCode='''+Currency+'''',0);
  if AdoQry_tmp.fieldbyname('isMaster').asinteger=1 then
    Result:=True;
end;

function TFrm_Ap_Enter_NoInvoiceInvInOrder1.SelectStArtMonthAp: string;
begin
  Result:='';
  Executesql(AdoQry_tmp,' select ApParamValueC from ApParam '
                       +' where ApParamCode=''StartUseAp'' and ApParamName=''应付模块启用'''
                       +' and ApParamValuen=1',0);
  if   AdoQry_tmp.RecordCount>0   then
  Result:=AdoQry_tmp.fieldbyname('ApParamValueC').asstring;
end;

end.

⌨️ 快捷键说明

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