📄 ar_enter_saleinvoice1.pas
字号:
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 + -