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

📄 ar_enter_saleinvoice1.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
begin
  If Edt_InvoiceNo.Text= '' then
  begin
    DispInfo('请输入发票号!',3);
    Edt_InvoiceNo.SetFocus;
    Abort;
  end;
  try
    Edt_ExchangeRate.Text := floattostr(strtofloat(Edt_ExchangeRate.text));
  except
    DispInfo('汇率输入错误!',3);
    Edt_ExchangeRate.SetFocus;
    Abort;
  end;
  inherited;
  with Frm_Ar_Enter_SaleInvoice1H.AdoQry_Head do
  begin
    If CurrentFormStatus='Add' Then
      Append
    else
      edit;
    fieldbyname('InvOiceNo').AsString:=Edt_InvOiceNo.Text;
    fieldbyname('active').asinteger:=1;
    fieldbyname('CustomerCode').AsString:=Edt_CustomerCode.Text;
    fieldbyname('CustomerName').AsString:=Edit2.text;
    fieldbyname('CreateEmployeeCode').AsString:=Edt_CreateEmployeeCode.Text;
    fieldbyname('BillDate').Asstring:=MEdt_CreateDate.Text;
    fieldbyname('InAccountDate').AsString := medt_InAccountDate.Text;
    fieldbyname('CurrencyCode').AsString:=Edt_CurrencyCode.Text;
    fieldbyname('CurrencyName').AsString:=Lab_CurrencyName.Caption;
    fieldbyname('SaleTermCode').AsString:=Edt_SaleTermCode.Text;
    fieldbyname('PayTermName').AsString:=Lab_SaleTermName.Caption;
    fieldbyname('SaleDeptCode').asstring:=edt_DeptCode.text;
    fieldbyname('DeptName').asstring:=edt_DeptName.Text;
    fieldbyname('SaleEmployeeCode').asstring:=edt_SaleEmployeeCode.Text;
    fieldbyname('SaleEmployeeName').asstring:=edt_SaleEmployeeName.Text;
    fieldbyname('SaleTypeCode').asstring:=edt_SaleTypeCode.Text;
    fieldbyname('SaleTypeName').asstring:=edt_SaleTypeName.text;
    fieldbyname('ExportTradeTypeCode').AsString := Edt_ExportTypeCode.Text;
    fieldbyname('ExportTradeTypeName').AsString := Edt_ExportTypeName.Text;
    
    fieldbyname('Bank').AsString:=Edt_CustomerBank.Text ;
    fieldbyname('BankActNo').AsString:=Edt_CustomerBankActNo.Text ;
    fieldbyname('ExchangeRate').AsString:=Edt_ExchangeRate.text;
    fieldbyname('TaxRate').AsString := Edt_TaxRate.Text;
  //  fieldbyname('assessorName').Asstring:=Label20.Caption;
    fieldbyname('edItEmployeeCode').asstring:=userCode;
    fieldbyname('editdate').asstring:=GetServerDateTime(dbconnect);
    fieldbyname('TotalTaxAmount').Asstring:=Edt_TotalTaxAmount.Text;
    fieldbyname('TotalNoTaxAmount').AsString := Edt_TotalNoTaxAmount.Text;
    fieldbyname('TotalTax').AsString := Edt_TotalTax.Text;
    fieldbyname('RemArk').AsString:=Edt_RemArk.Text;
    post;
  end;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_CustomerCodeExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButtton4' then exit;
  if Trim(Tedit(sender).text)='' then 
     begin 
      edit2.Text:='';
      exit;
     end;
  Executesql(AdoQry_tmp,'select * from customer where customerCode='+quotedstr(Trim(Tedit(sender).text)),0);
  if AdoQry_tmp.RecordCount=0 then 
    begin
      DispInfo('销售客户代码错误!',1);
      Tedit(sender).setfocus;
      abort;
    end;
  Edit2.text:=AdoQry_tmp.fieldbyname('customerName').asstring;  
  edt_Customerbank.Text:=AdoQry_tmp.fieldbyname('customerbank').asstring;
  edt_Customerbankactno.Text:=AdoQry_tmp.fieldbyname('customerbankaccno').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_CurrencyCodeExit(Sender: TObject);
begin
  inherited;
  IF Trim(Edt_CurrencyCode.Text)<>'' Then
     CurrencyCodeCheck(Sender);
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.clear;
  AdoQry_Tmp.SQL.Text:=' Select CurrencyCode,CurrencyName,IsMaster from Currency '
                      +'          where CurrencyCode= '''+Edt_CurrencyCode.Text+''' ';
  AdoQry_Tmp.Open;
  Edit1.Text := AdoQry_Tmp.fieldbyname('CurrencyName').AsString;
  If AdoQry_Tmp.fieldbyname('IsMaster').AsInteger=1 then 
  begin 
    Edt_ExchangeRate.Text := '1';
    Exit;{如果是本位币则不用判断是否有外币汇率资料}
  end;
  ExecuteSql(AdoQry_Tmp,' select * from ExchRate  '
                       + '  where CurrencyCode= '+QuotedStr(Edt_CurrencyCode.Text)
                       + '    and ExchMonth= '+QuotedStr(copy(Medt_CreateDate.Text,1,7)),0);
  if AdoQry_tmp.RecordCount=0 then 
  begin
    DispInfo('没有该货币'+Copy(Medt_CreateDate.Text,1,7)+'月的外币汇率!',3);
    If Edt_CurrencyCode.CanFocus then  Edt_CurrencyCode.SetFocus;
    Abort;    
  end;
  Edt_ExchangeRate.Text := AdoQry_Tmp.fieldbyname('ExchRate').AsString;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_SaletermCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommOnHint(Sender,AdoQry_Tmp,'PayTermName','付款条款名称','PayTermCode',
             '付款条款代码',' PayTerm ');
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_DeptCodeExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButton4' then exit;
  if Trim(Tlinkedit(sender).text)='' then exit;
  Executesql(AdoQry_tmp,'select * from Dept where DeptCode='+quotedstr(Tlinkedit(sender).text),0);
  if AdoQry_tmp.RecordCount=0 then 
   begin
    DispInfo('该部门代码不存在!',3);
    abort;
   end;
  edt_DeptName.Text:=AdoQry_tmp.fieldbyname('DeptName').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_SaleEmployeeCodeExit(
  Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButton4' then exit;
  if Trim(Tlinkedit(sender).text)='' then exit;
  Executesql(AdoQry_tmp,'select * from Employee where EmployeeCode='+quotedstr(Tlinkedit(sender).text),0);
  if AdoQry_tmp.RecordCount=0 then 
   begin
    DispInfo('该营销业务员代码不存在!',3);
    abort;
   end;
  edt_SaleEmployeeName.Text:=AdoQry_tmp.fieldbyname('EmployeeName').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_SaleTypeCodeKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  if key=120 then 
    CommOnHint(Sender,AdoQry_Tmp,'SaleTypeName','销售类型名称','SaleTypeCode',
             '销售类型代码',' SaleType ');
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_SaleTypeCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommOnHint(Sender,AdoQry_Tmp,'SaleTypeName','销售类型名称','SaleTypeCode',
             '销售类型代码',' SaleType ');
end;

procedure TFrm_Ar_Enter_SaleInvoice1.edt_SaleTypeCodeExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButton4' then exit;
  if Trim(Tlinkedit(sender).text)='' then exit;
  Executesql(AdoQry_tmp,'select * from SaleType where SaleTypeCode='+quotedstr(Tlinkedit(sender).text),0);
  if AdoQry_tmp.RecordCount=0 then 
   begin
    DispInfo('该销售类型代码不存在!',3);
    abort;
   end;
  edt_SaleTypeName.Text:=AdoQry_tmp.fieldbyname('SaleTypeName').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Act_SaveExecute(Sender: TObject);
begin
  inherited;
  act_New.Enabled:=False;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.FormActivate(Sender: TObject);
begin
  inherited;
  if uppercase(CurrentFormStatus)='AdD' then
  Act_Save.Enabled := True;
end;


procedure TFrm_Ar_Enter_SaleInvoice1.Edt_ExportTypeCodeKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  If Key=Vk_F9 then 
  CommOnHint(Sender,AdoQry_Tmp,'ExportTradeTypeName','出口贸易类型名称','ExportTradeTypeCode',
             '出口贸易类型代码',' Sa_ExportTradeType');
  
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_ExportTypeCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommOnHint(Sender,AdoQry_Tmp,'ExportTradeTypeName','出口贸易类型名称','ExportTradeTypeCode',
             '出口贸易类型代码',' Sa_ExportTradeType');

end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_ExportTypeCodeExit(
  Sender: TObject);
begin
  inherited;
  if activecontrol.Name='ToolButton4' then exit;
  if Trim(Tlinkedit(sender).text)='' then 
  begin
    Edt_ExportTypeName.Text := '';
    exit;
  end;
  Executesql(AdoQry_tmp,'select * from Sa_ExportTradeType '
                       +' where ExportTradeTypeCode='+quotedstr(Tlinkedit(sender).text),0);
  if AdoQry_tmp.RecordCount=0 then 
   begin
     DispInfo('该出口贸易类型代码不存在!',3);
     If TLinkEdit(Sender).CanFocus then TLinkEdit(Sender).SetFocus;
     abort;
   end;
  Edt_ExportTypeName.Text:=AdoQry_tmp.fieldbyname('ExportTradeTypeName').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.MEdt_InAccountDateExit(
  Sender: TObject);
var StArtDate : String;
begin
  inherited;
  DateCheck(Sender);
  ExecuteSql(AdoQry_Tmp,' Select ParamValuec From Ar_Param '
                     +'    Where ParamCode=''clsperiod'' ',0);
  If AdoQry_tmp.RecordCount>0 then  
    StArtDate := AdoQry_Tmp.fieldbyname('ParamValueC').AsString
  else 
  begin
    ExecuteSql(AdoQry_Tmp,'Select ParamValuec From Ar_Param '
                        +' Where ParamCode=''StartUseAr'' ',0);
    If AdoQry_tmp.RecordCount>0 then
    StArtDate := AdoQry_Tmp.fieldbyname('ParamValueC').AsString
    else begin
      DispInfo('模块未启用,不能入帐!',3);
      Medt_InAccountDate.SetFocus;
      abort;
    end;;
  end;
  If Not ( (StrToDateTime(Medt_InAccountDate.Text)>=StrToDateTime(StArtDate+'.01'))
          and (StrToDateTime(Medt_InAccountDate.Text)<IncMonth(StrToDateTime(StArtDate+'.01'),2))
         ) then 
  begin
    DispInfo('入帐日期必须大于等于'+QuotedStr(StArtDate+'.01')+',小于'+QuotedStr(DateTimeToStr(IncMonth(StrToDateTime(StArtDate+'.01'),2)))+'!',3);
    Medt_InAccountDate.SetFocus;
    abort;
  end;
end;

end.

⌨️ 快捷键说明

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