📄 ar_enter_saleinvoice1.pas
字号:
AdoQry_Body.fieldbyname('TaxPrice').AsString:=AdoQry_tmp.fieldbyname('InvBillPrice').AsString;
AdoQry_Body.fieldbyname('TaxAmount').AsString:=AdoQry_tmp.fieldbyname('InvBillAmount').AsString;
AdoQry_Body.fieldbyname('TaxPriceC').AsString := AdoQry_Tmp.fieldbyname('InvBillPriceC').AsString;
AdoQry_Body.fieldbyname('TaxAmountC').AsString := AdoQry_Tmp.fieldbyname('InvBillAmountC').AsString;
AdoQry_Body.fieldbyname('NoTaxPrice').AsString:=AdoQry_tmp.fieldbyname('InvBillNoTaxPrice').AsString;
AdoQry_Body.fieldbyname('NoTaxAmount').AsString:=AdoQry_tmp.fieldbyname('InvBillNoTaxAmount').AsString;
AdoQry_Body.fieldbyname('DiSCountRate').AsString:=AdoQry_tmp.fieldbyname('DiSCountRate').AsString;
AdoQry_Body.fieldbyname('DiSCountAmount').AsString:=AdoQry_tmp.fieldbyname('DiSCountAmount').AsString;
AdoQry_Body.Post;
AdoQry_tmp.Next;
end;
end;
AdoQuery.Next;
end;
DataSource.DataSet:=AdoQry_Body;
end
else
begin
If FormStatus='Edit' then
begin
CurrentFormStatus:='Edit';
Pnl_Title.Caption := IIfString(Param1='0','普通发票','出口发票');
Pnl_Title.Refresh;
Frm_Ar_Enter_SaleInvoice1H.Caption := IIfString(Param1='0','普通发票','出口发票');
With AdoQry_Head do
begin
// TaxRate := fieldbyname('TaxRate').AsFloat;
Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
Edt_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
Edt_CreateEmployeeCode.Text:=fieldbyname('CreateEmployeeCode').AsString;
Edt_CreateEmployeeName.Text := fieldbyname('CreaterName').AsString;
ExecuteSql(AdoQry_tmp,'select EmployeeName from Employee where EmployeeCode='+QuotedStr(Edt_CreateEmployeeCode.Text),0);
Edt_CreateEmployeeName.Text := AdoQry_tmp.fieldbyname('EmployeeName').AsString;
MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('BillDate').asdatetime);
MEdt_InAccountDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('InAccountDate').asdatetime);
Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
edt_SaleTypeCode.Text:=fieldbyname('SaleTypeCode').asstring;
edt_SaleTypeName.Text:=fieldbyname('SaleTypeName').asstring;
Edt_ExportTypeCode.Text := fieldbyname('ExportTradeTypeCode').AsString;
Edt_ExportTypeName.Text := fieldbyname('ExportTradeTypeName').AsString;
edt_Customerbank.Text:=fieldbyname('bank').asstring;
edt_Customerbankactno.Text:=fieldbyname('bankactno').asstring;
edt_DeptCode.Text:=fieldbyname('SaleDeptCode').asstring;
edt_DeptName.Text:=fieldbyname('DeptName').asstring;
edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').asstring;
edt_SaleEmployeeName.Text:=fieldbyname('SaleEmployeeName').asstring;
Edt_SaleTermCode.Text:=fieldbyname('SaleTermCode').AsString;
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
Edt_TotalTaxAmount.Text:=fieldbyname('TotalTaxAmount').AsString;
Edt_TotalNoTaxAmount.Text := fieldbyname('TotalNoTaxAmount').AsString;
Edt_TotalTax.Text := fieldbyname('TotalTax').AsString;
Edit1.Text :=fieldbyname('CurrencyName').AsString;
Edit2.Text:=fieldbyname('CustomerName').AsString;
Edit3.Text:=fieldbyname('PayTermName').AsString;
Edt_ExchangeRate.Text:=fieldbyname('ExchangeRate').AsString;
Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
Edt_InvoiceNo.Text:=fieldbyname('InvoiceNo').AsString;
Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
Lab_SaleTermName.Caption:=fieldbyname('PayTermName').AsString;
SqlText:=' Select Sa_SaleInvoiceLine.InvoiceNo,Sa_SaleInvoiceLine.InvBillId, '
+' InvOutBill.InvBillNo as ShipNo,Sa_SaleInvoiceLine.InvBillLineNo as ShipLineNo, '
+' InvOutBillLine.ItemCode, '
+' InvOutBillLine.InvBillQty as ShipQty , InvOutBillLine.InvBillPrice as TaxPrice, InvOutBillLine.InvBillPriceC as TaxPriceC,'
+' InvOutBillLine.InvBillAmount as TaxAmount, InvOutBillLine.InvBillAmountC as TaxAmountC,InvOutBillLine.InvBillNoTaxPrice as NoTaxPrice, '
+' InvOutBillLine.InvBillNoTaxAmount as NoTaxAmount,InvOutBillLine.DiSCountRate, '
+' InvOutBillLine.DiSCountAmount , '
+' Item.ItemName,Uom.UomName '
+' From Sa_SaleInvoiceLine '
+' Join InvOutBillLine on Sa_SaleInvoiceLine.InvBillId=InvOutBillLine.InvBillId '
+' and Sa_SaleInvoiceLine.InvBillLineNo=InvOutBillLine.InvBillLineNo '
+' Join InvOutBill on InvOutBillLine.InvBillId = InvOutBill.InvBillId '
+' left Join Item '
+' On InvOutBillLine.ItemCode=Item.ItemCode '
+' left Join Uom '
+' On Item.UomCode=Uom.UomCode '
+' where Sa_SaleInvoiceLine.InvoiceNo= '''+fieldbyname('InvoiceNo').AsString+''' ' ;
AdoQry_Body.Close;
AdoQry_Body.SQL.Text:=SqlText;
AdoQry_Body.Open;
end
end
else
begin
If FormStatus='Query' then
begin
CurrentFormStatus:='Query';
Pnl_Title.Caption := IIfString(Param1='0','普通发票查询','出口发票查询');
Pnl_Title.Refresh;
Frm_Ar_Enter_SaleInvoice1H.Caption := IIfString(Param1='0','普通发票查询','出口发票查询');
With AdoQry_Head do
begin
// TaxRate := fieldbyname('TaxRate').AsFloat;
Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
Edt_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
Edt_CreateEmployeeCode.Text:=fieldbyname('CreateEmployeeCode').AsString;
Edt_CreateEmployeeName.Text := fieldbyname('CreaterName').AsString;
ExecuteSql(AdoQry_tmp,'select EmployeeName from Employee where EmployeeCode='+QuotedStr(Edt_CreateEmployeeCode.Text),0);
Edt_CreateEmployeeName.Text := AdoQry_tmp.fieldbyname('EmployeeName').AsString;
MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('BillDate').asdatetime);
Medt_InAccountDate.Text := FormatDateTime('yyyy.mm.dd',fieldbyname('InAccountDate').AsDateTime);
Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
edt_SaleTypeCode.Text:=fieldbyname('SaleTypeCode').asstring;
edt_SaleTypeName.Text:=fieldbyname('SaleTypeName').asstring;
Edt_ExportTypeCode.Text := fieldbyname('ExportTradeTypeCode').AsString;
Edt_ExportTypeName.Text := fieldbyname('ExportTradeTypeName').AsString;
edt_DeptCode.Text:=fieldbyname('SaleDeptCode').asstring;
edt_DeptName.Text:=fieldbyname('DeptName').asstring;
edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').asstring;
edt_SaleEmployeeName.Text:=fieldbyname('SaleEmployeeName').asstring;
Edt_SaleTermCode.Text:=fieldbyname('SaleTermCode').AsString;
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
Edt_TotalTaxAmount.Text:=fieldbyname('TotalTaxAmount').AsString;
Edt_TotalNoTaxAmount.Text := fieldbyname('TotalNoTaxAmount').AsString;
Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
Edit1.Text :=fieldbyname('CurrencyName').AsString;
Edit2.Text:=fieldbyname('CustomerName').AsString;
Edit3.Text:=fieldbyname('PayTermName').AsString;
Edt_ExchangeRate.Text:=fieldbyname('ExchangeRate').AsString;
Edt_InvoiceNo.Text:=fieldbyname('InvoiceNo').AsString;
Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
Lab_SaleTermName.Caption:=fieldbyname('PayTermName').AsString;
SqlText:=' Select Sa_SaleInvoiceLine.InvoiceNo,Sa_SaleInvoiceLine.InvBillId, '
+' InvOutBill.InvBillNo as ShipNo,Sa_SaleInvoiceLine.InvBillLineNo as ShipLineNo, '
+' InvOutBillLine.ItemCode, '
+' InvOutBillLine.InvBillQty as ShipQty , InvOutBillLine.InvBillPrice as TaxPrice, InvOutBillLine.InvBillPriceC as TaxPriceC,'
+' InvOutBillLine.InvBillAmount as TaxAmount, InvOutBillLine.InvBillAmountC as TaxAmountC,InvOutBillLine.InvBillNoTaxPrice as NoTaxPrice, '
+' InvOutBillLine.InvBillNoTaxAmount as NoTaxAmount,InvOutBillLine.DiSCountRate, '
+' InvOutBillLine.DiSCountAmount , '
+' Item.ItemName,Uom.UomName '
+' From Sa_SaleInvoiceLine '
+' Join InvOutBillLine on Sa_SaleInvoiceLine.InvBillId=InvOutBillLine.InvBillId '
+' and Sa_SaleInvoiceLine.InvBillLineNo=InvOutBillLine.InvBillLineNo '
+' Join InvOutBill on InvOutBillLine.InvBillId = InvOutBill.InvBillId '
+' left Join Item '
+' On InvOutBillLine.ItemCode = Item.ItemCode '
+' left Join Uom '
+' On Item.UomCode=Uom.UomCode '
+' where Sa_SaleInvoiceLine.InvoiceNo= '''+fieldbyname('InvoiceNo').AsString+''' ' ;
AdoQry_Body.Close;
AdoQry_Body.SQL.Text:=SqlText;
AdoQry_Body.Open;
end ;
end;
end;
end;
end;
procedure TFrm_Ar_Enter_SaleInvoice1.InitControls;
begin
If Status<>'Add' then
begin
CurrentFormStatus:='PArtEdit';
SetFocus_Control:=Edt_CustomerCode;
end
Else
begin
CurrentFormStatus:='Add';
end;
{ If Status='Query' Then
begin
Caption:='普通发票';
Pnl_Title.Caption:='普通发票';
end; }
inherited;
act_Modify.Enabled:=False;
act_insertline.Enabled:=False;
act_Deleteline.Enabled:=False;
edt_ExchangeRate.Enabled:=False;
Edt_TaxRate.Enabled := False;
edt_CurrencyCode.Enabled:=False;
Edt_CustomerCode.Enabled := False;
Edt_SaletermCode.Enabled := False;
Edt_TotalTaxAmount.Enabled := False;
Edt_TotalNoTaxAmount.Enabled := False;
Edt_TotalTax.Enabled := False;
Edt_SaleTypeCode.Enabled := False;
Edt_DeptCode.Enabled := False;
Edt_SaleEmployeeCode.Enabled := False;
Edt_CreateEmployeeCode.Enabled := False;
Label19.Visible := IIFValue(Param1='0',False,True);
Edt_ExportTypeCode.Visible := IIFValue(Param1='0',False,True);
Edt_ExportTypeName.Visible := IIFValue(Param1='0',False,True);
Edit1.Enabled := False;
Edit2.Enabled := False;
Edit3.Enabled := False;
Edt_SaleTypeName.Enabled := False;
Edt_DeptName.Enabled := False;
Edt_SaleEmployeeName.Enabled :=False;
Edt_CreateEmployeeName.Enabled :=False;
end;
procedure TFrm_Ar_Enter_SaleInvoice1.Edt_SaleTermCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'PayTermName','付款条款名称','PayTermCode',
'付款条款代号',' PayTerm ');
end;
procedure TFrm_Ar_Enter_SaleInvoice1.Edt_SaleTermCodeExit(Sender: TObject);
begin
inherited;
If Trim(Edt_SaleTermCode.text)='' then
begin
// DispInfo('付款条款不能为空!',3);
// Edt_SaleTermCode.SetFocus;
//Abort;
end
else
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select * from PayTerm where PayTermCode='''+Trim(Edt_SaleTermCode.text)+''' ';
AdoQry_Tmp.Open;
if AdoQry_Tmp.Eof then
begin
DispInfo('付款条款输入错误!',3);
Edt_SaleTermCode.SetFocus;
Abort;
end;
end;
Edit3.Text :=AdoQry_tmp.fieldbyname('PayTermName').asstring;
end;
procedure TFrm_Ar_Enter_SaleInvoice1.AdoQry_BodyAfterPost(DataSet: TDataSet);
var
BookMArk:String;
begin
inherited;
TotalNoTaxAmount:=0;
TotalTaxAmount:=0;
if AdoQry_Body.RecordCount >0 then
BookMArk:=AdoQry_Body.BookMArk;
AdoQry_Body.First;
while not AdoQry_Body.Eof do
begin
TotalTaxAmount:= TotalTaxAmount +AdoQry_Body.fieldbyname('TaxAmount').asfloat;
TotalNoTaxAmount := TotalNoTaxAmount + AdoQry_Body.fieldbyname('NoTaxAmount').AsFloat;
AdoQry_Body.Next;
end;
if AdoQry_Body.RecordCount >0 then
AdoQry_Body.BookMArk:=BookMArk;
Edt_TotalTaxAmount.Text := FormatFloat('####0.##',TotalTaxAmount);
Edt_TotalNoTaxAmount.Text := FormatFloat('####0.##',TotalNoTaxAmount);
Edt_TotalTax.Text := FormatFloat('####0.##',TotalTaxAmount-TotalNoTaxAmount);
end;
procedure TFrm_Ar_Enter_SaleInvoice1.SetStatus(CurrentStatus: String;
var AnswerStatus, EnableControls: String);
begin
inherited;
if CurrentFormStatus='Add' then
begin
AnswerStatus:='Add';
EnableControls:=' MEdt_CreateDate,MEdt_InAccountDate,Edt_CustomerBank,Edt_CustomerBankActNo,Edt_RemArk,Edt_InvoiceNo,';
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -