📄 sal_enter_shiporder.pas
字号:
Edt_WhPositionName.Text := fieldbyname('WhPositionName').AsString;
Edt_SaleTypeCode.Text:=fieldbyname('SaleType').AsString;
Edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').AsString;
Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
Edt_TaxRate_Percent.Text:=fieldbyname('InvBillTaxRate').AsString;
Edt_ShipModeCode.Text:=fieldbyname('ShipModeCode').AsString;
Edt_ShipAddresSCode.Text:=fieldbyname('ShipAddresSCode').AsString;
Edt_PayTermCode.Text := fieldbyname('PayTermCode').AsString;
Cmb_BillType.ItemIndex := IIFValue(Trim(fieldbyname('BillTypeCode').AsString)='0205',0,1);
Edt_RemArk.Text := fieldbyname('RemArk').AsString;
Edt_TotalNoTaxAmount.Text:=fieldbyname('TotalInvBillNoTaxAmount').AsString;
Edt_TotalTaxAmount.Text:=fieldbyname('TotalInvBillAmount').AsString;
Lab_SaleDeptName.Caption:=fieldbyname('DeptName').AsString;
Lab_SaleEmployeeName.Caption:=fieldbyname('EmployeeName').AsString;
Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
Lab_ShipModeName.Caption:=fieldbyname('ShipModeName').AsString;
Lab_SaleTermName.Caption:=fieldbyname('SaleTermName').AsString;
Lab_ShipAddressName.Caption:=fieldbyname('ShipAddressName').AsString;
Edt_SaleDeptName.Text:=fieldbyname('DeptName').AsString;
Edt_SaleEmployeeName.Text:=fieldbyname('EmployeeName').AsString;
Edt_CurrencyName.Text:=fieldbyname('CurrencyName').AsString;
Edt_ShipModeName.Text:=fieldbyname('ShipModeName').AsString;
Edt_SaleTermName.Text:=fieldbyname('SaleTermName').AsString;
Edt_ShipAddressName.Text:=fieldbyname('ShipAddressName').AsString;
Edt_CustomerName.text:=fieldbyname('CustomerName').AsString;
Edt_SaleTypeName.text:=fieldbyname('SaleTypeName').AsString;
Edt_RemArk1.text:=fieldbyname('RemArk1').AsString;
SqlText:=' Select InvOutBill.InvBillId,InvOutBill.InvBillNo,InvOutBillLine.InvBillLineNo,InvOutBillLine.SloNo,'
+' InvOutBillLine.SloLineNo,BatchNo, '
+' InvOutBillLine.ItemCode,ItemName, '
+' UomName, '
+' InvBillQty,TmpField, InvBillPrice,InvBillAmount,InvBillNoTaxPrice,InvBillNoTaxAmount, '
+' InvOutBillLIne.DiSCountRate,InvOutBillLine.DiSCountAmount,BillLineRemArk '
+' From InvOutBillLine '
+' Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId '
+' left Join Item '
+' On Item.ItemCode=InvOutBillLine.ItemCode '
+' left Join Uom '
+' On Item.UomCode=Uom.UomCode'
+' where InvBillNo= '''+fieldbyname('InvBillNo').AsString+''' ' ;
AdoQry_Body.Close;
AdoQry_Body.SQL.Text:=SqlText;
AdoQry_Body.Open;
end
end
else
begin
If FormStatus='Query' then
begin
CurrentFormStatus:='Query';
With AdoQry_Head do
begin
Edt_InvBillNo.Text :=AdoQry_Head.fieldbyname('InvBillNo').AsString;
SqlText:=' Select InvOutBill.*,CustomerName,SaleType.SaleTypeName,'
+' InvOutBill.CustomerCode+'' ''+ CustomerName as CustomerFalg,'
// +' RemArk,InvOutBill.ShipAddresSCode,InvOutBill.ShipModeCode, CreateEmployeeCode,InvOutBill.PayTermCode, InvOutBill.CurrencyCode, CreateDate,InvBillNo,SaleType, InvOutBill.DeptCode,SaleEmployeeCode, '
+' Warehouse.WhName, '
+' WhPosition.WhPositionName, '
+' DeptName,'
+' InvOutBill.DeptCode+'' ''+DeptName As DeptFalg, '
+' Employee.EmployeeName, '
+' SaleEmployeeCode+'' ''+Employee.EmployeeName As EmployeeFalg, '
+' CurrencyName,'
+' InvOutBill.CurrencyCode+'' ''+CurrencyName As CurrencyFalg, '
+' InvOutBill.InvBillTaxRate, '
+' PayTerm.PayTermName as SaleTermName, '
+' InvOutBill.PayTermCode+'' ''+PayTermName As SaleTermFalg,'
+' tt.EmployeeName as CreateEmployeeName, '
+' Sal_EmployeeCode+'' ''+tt.EmployeeName As EmployeeFalg1, '
+' ShipModeName,'
+' InvOutBill.ShipModeCode+'' ''+ShipModeName As ShipModeFalg,'
+' ShipAddressName, '
+' InvOutBill.ShipAddresSCode+'' ''+ShipAddressName As ShipAddressFalg'
+' From InvOutBill left Join Customer '
+' On InvOutBill.CustomerCode=Customer.CustomerCode '
+' left Join Dept '
+' On InvOutBill.DeptCode=Dept.DeptCode '
+' left Join Warehouse on InvOutBill.WhCode=Warehouse.WhCode '
+' left Join WhPosition on (InvOutBill.WhCode=WhPosition.WhCode and InvOutBill.WhPositionCode=WhPosition.WhPositionCode) '
+' left Join Employee '
+' On InvOutBill.SaleEmployeeCode=Employee.EmployeeCode '
+' left Join Currency '
+' On InvOutBill.CurrencyCode=Currency.CurrencyCode '
+' left Join PayTerm '
+' On InvOutBill.PayTermCode=PayTerm.PayTermCode '
+' left Join Employee tt '
+' On InvOutBill.Sal_EmployeeCode=tt.EmployeeCode '
+' left Join ShipMode '
+' On InvOutBill.ShipModeCode=ShipMode.ShipModeCode '
+' left Join SaleType On InvOutBill.SaleType=SaleType.SaleTypeCode '
+' left Join CustomerShipAddress '
+' On InvOutBill.ShipAddresSCode=CustomerShipAddress.ShipAddresSCode '
+' where InvBillNo= '''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ' ;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text := SqlText;
AdoQry_Tmp.Open;
with AdoQry_Tmp do
begin
Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
Lab_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('InvBillDate').asdatetime);
Edt_DeptCode.Text:=fieldbyname('DeptCode').AsString;
Edt_WhCode.Text := fieldbyname('WhCode').AsString;
Edt_WhName.Text := fieldbyname('WhName').AsString;
Edt_WhPositionCode.Text := fieldbyname('WhPositionCode').AsString;
Edt_WhPositionName.Text := fieldbyname('WhPositionName').AsString;
Edt_SaleTypeCode.Text:=fieldbyname('SaleType').AsString;
Edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').AsString;
Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
Edt_TaxRate_Percent.Text:=fieldbyname('InvBillTaxRate').AsString;
Edt_ShipModeCode.Text:=fieldbyname('ShipModeCode').AsString;
Edt_ShipAddresSCode.Text:=fieldbyname('ShipAddresSCode').AsString;
Edt_PayTermCode.Text:=fieldbyname('PayTermCode').AsString;
Cmb_BillType.ItemIndex := IIFValue(Trim(fieldbyname('BillTypeCode').AsString)='0205',0,1);
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
Edt_TotalNoTaxAmount.Text:=fieldbyname('TotalInvBillNoTaxAmount').AsString;
Edt_TotalTaxAmount.Text:=fieldbyname('TotalInvBillAmount').AsString;
// Edt_AssessorEmployeeCode.Text:=fieldbyname('AssessorEmployeeCode').AsString;
// Cx_Assess.ItemIndex :=fieldbyname('Assess').AsInteger;
Lab_SaleDeptName.Caption:=fieldbyname('DeptName').AsString;
Lab_SaleEmployeeName.Caption:=fieldbyname('EmployeeName').AsString;
Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
Lab_ShipModeName.Caption:=fieldbyname('ShipModeName').AsString;
Lab_SaleTermName.Caption:=fieldbyname('SaleTermName').AsString;
Lab_ShipAddressName.Caption:=fieldbyname('ShipAddressName').AsString;
Edt_SaleDeptName.Text:=fieldbyname('DeptName').AsString;
Edt_SaleEmployeeName.Text:=fieldbyname('EmployeeName').AsString;
Edt_CurrencyName.Text:=fieldbyname('CurrencyName').AsString;
Edt_ShipModeName.Text:=fieldbyname('ShipModeName').AsString;
Edt_SaleTermName.Text:=fieldbyname('SaleTermName').AsString;
Edt_ShipAddressName.Text:=fieldbyname('ShipAddressName').AsString;
Edt_CustomerName.text:=fieldbyname('CustomerName').AsString;
Edt_SaleTypeName.text:=fieldbyname('SaleTypeName').AsString;
Edt_RemArk1.text:=fieldbyname('RemArk1').AsString;
end;
SqlText:=' Select InvOutBill.InvBillId,InvOutBill.InvBillNo,InvOutBillLine.InvBillLineNo,InvOutBillLine.SloNo,'
+' InvOutBillLine.SloLineNo,BatchNo, '
+' InvOutBillLine.ItemCode,ItemName, '
+' UomName, '
+' InvBillQty, TmpField,InvBillPrice,InvBillAmount,InvBillNoTaxPrice,InvBillNoTaxAmount, '
+' InvOutBillLine.DiSCountRate,InvOutBillLIne.DiSCountAmount,BillLineRemArk '
+' From InvOutBillLine '
+' Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId '
+' left Join Item '
+' On Item.ItemCode=InvOutBillLine.ItemCode '
+' Left Join Uom '
+' On Item.UomCode=Uom.UomCode'
+' where InvBillNo= '''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ' ;
AdoQry_Body.Close;
AdoQry_Body.SQL.Text:=SqlText;
AdoQry_Body.Open;
end ;
end;
end;
end;
end;
procedure TFrm_Sal_Enter_ShipOrder.FormCreate(Sender: TObject);
begin
inherited;
Frm_Sal_Enter_ShipOrder_D:=TFrm_Sal_Enter_ShipOrder_D.Create(Self);
Frm_Entry_Detail:=Frm_Sal_Enter_ShipOrder_D;
end;
procedure TFrm_Sal_Enter_ShipOrder.InitControls;
begin
inherited;
If Status<>'Add' then
begin
CurrentFormStatus:='PArtEdit';
SetFocus_Control:=Edt_CustomerCode;
end
Else
begin
CurrentFormStatus:='Add';
act_Save.Enabled:=True;
end;
if CurrentFormStatus='Add' then
if CheckAllTypeOrderNoSet(DbConnect,3) then
begin
Edt_InvBillNo.Text := GetAllTypeOrderNo(DbConnect,3);
Edt_InvBillNo.Enabled := False;
if Edt_CustomerCode.CanFocus then
Edt_CustomerCode.SetFocus;
end
else
begin
Edt_InvBillNo.Enabled := True;
if Edt_InvBillNo.CanFocus then
Edt_InvBillNo.SetFocus;
Edt_InvBillNo.Text :='';
end;
Edt_CustomerCode.Enabled := False;
Edt_CustomerName.Enabled :=False;
Edt_TaxRate_Percent.Enabled := False;
Edt_SaleDeptName.Enabled :=False;
Edt_ShipAddressName.Enabled :=False;
Edt_SaleEmployeeName.Enabled :=False;
Edt_SaleTermName.Enabled :=False;
Edt_CurrencyCode.Enabled := False;
Edt_CurrencyName.Enabled :=False;
Edt_SaleTypeName.Enabled :=False;
act_Save.Enabled:=True;
Edt_ShipModeName.Enabled :=False;
Edt_TotalNoTaxAmount.Enabled :=False;
Edt_TotalTaxAmount.Enabled :=False;
// if ReadOnly then act_
end;
procedure TFrm_Sal_Enter_ShipOrder.Edt_SaleTypeCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If (Key=120) Then
CommonHint(Sender,AdoQry_Body,'SaleTypeName','销售类型描述','SaleTypeCode','销售类型代码',
'SaleType');
end;
procedure TFrm_Sal_Enter_ShipOrder.Edt_SaleTypeCodeExit(Sender: TObject);
begin
inherited;
If Trim(TExtEdit(Sender).Text)='' Then
begin
{DispInfo('销售类型代码不能为空!',1);
TWinControl(Sender).SetFocus;
Abort;}
Edt_SaleTypeName.Text :='';
end
else
begin
With AdoQry_Tmp Do
begin
Close;
SQL.clear;
SQL.Add('Select SaleTypeCode,SaleTypeName From SaleType '
+' Where SaleTypeCode='''+TEdit(Sender).Text+'''');
Open;
If Eof Then
begin
DispInfo('销售类型代码错误,请重新输入',1);
TWinControl(Sender).SetFocus;
Abort;
end
else
Edt_SaleTypeName.Text :=AdoQry_tmp.fieldbyname('SaleTypeName').AsString;
end;
end;
end;
procedure TFrm_Sal_Enter_ShipOrder.Edt_TaxRate_PercentExit(
Sender: TObject);
begin
inherited;
IF Trim(Edt_TaxRate_Percent.Text)='' Then
Edt_TaxRate_Percent.Text:='17';
try
Edt_TaxRate_Percent.Text:=FloatToStr(Strtofloat(Edt_TaxRate_Percent.Text));
except
DispInfo('销售税率输入错误!',3);
TWincontrol(Sender).SetFocus;
Abort;
end;
If Strtofloat(Edt_TaxRate_Percent.Text)<0 Then
begin
DispInfo('销售税率不能小于0!',3);
TWincontrol(Sender).SetFocus;
Abort;
end;
end;
procedure TFrm_Sal_Enter_ShipOrder.Edt_PayTermCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'PayTermName','付款条款名称','PayTermCode',
'付款条款代号',' PayTerm ');
end;
procedure TFrm_Sal_Enter_ShipOrder.Edt_PayTermCodeExit(Sender: TObject);
begin
inherited;
If Trim(Edt_PayTermCode.text)='' then
begin
{ DispInfo('付款条款不能为空!',3);
Edt_PayTermCode.SetFocus;
Abort;}
end
else
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select * from PayTerm where PayTermCode='''+Trim(Edt_PayTermCode.text)+''' ';
AdoQry_Tmp.Open;
if AdoQry_Tmp.Eof then
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -