📄 sal_enter_othershiporder.pas
字号:
TotalNoTaxAmount:= TotalNoTaxAmount +AdoQry_Body.fieldbyname('InvBillNoTaxAmount').asfloat;
AdoQry_Body.Next;
end;
if AdoQry_Body.RecordCount >0 then
AdoQry_Body.BookMArk:=BookMArk;
Edt_TotalNoTaxAmount.Text:= FormatFloat('#####0.##',TotalNoTaxAmount);
Edt_TotalTaxAmount.Text:= FormatFloat('#####0.##',TotalTaxAmount);
end;
procedure TFrm_Sal_Enter_OtherShipOrder.SetStatus(CurrentStatus: String;
var AnswerStatus, EnableControls: String);
begin
inherited;
if Currentstatus='Add' then
begin
AnswerStatus:='Add';
EnableControls:='Edt_ShipNo,Edt_CustomerCode,'//Edt_CreateEmployeeCode,'
+' MEdt_CreateDate, Edt_SaleDeptCode, Edt_SaleTypeCode,'
+' Edt_SaleEmployeeCode, Edt_CurrencyCode, Edt_TaxRate_Percent,'
+' Edt_ShipModeCode, Edt_ShipAddresSCode, Edt_PayTermCode,'
+' Edt_RemArk,Edt_RemArk1,Edt_AssessorEmployeeCode,Cmb_BillType,';
end
Else If Pos('Edit',CurrentStatus)>0 Then
begin
AnswerStatus:='PArtEdit';
EnableControls:=' Edt_CustomerCode,'//Edt_CreateEmployeeCode,'
+' MEdt_CreateDate, Edt_SaleDeptCode, Edt_SaleTypeCode,'
+' Edt_SaleEmployeeCode, Edt_CurrencyCode, Edt_TaxRate_Percent,'
+' Edt_ShipModeCode, Edt_ShipAddresSCode, Edt_PayTermCode,'
+' Edt_RemArk,Edt_RemArk1,Edt_InvoiceNo,Cx_Assess,Cmb_BillType,Edt_AssessorEmployeeCode,';
end;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_DeleteLineExecute(Sender: TObject);
var
BookMArk:String;
begin
// inherited;
if (not AdoQry_Body.IsEmpty)and
(DispInfo(' 真的删除当前记录吗? ',2)='y') then
begin
DeletedInvBillLine := DeletedInvBillLine+','+QuotedStr(AdoQry_Body.fieldbyname('InvBillId').AsString
+':'+AdoQry_Body.fieldbyname('InvBillLineNo').AsString);
AdoQry_Body.Delete;
end;
If (AdoQry_Body.RecordCount>0) and (Status='Add') Then
begin
BookmArk:=AdoQry_Body.BookmArk;
AdoQry_Body.First;
While Not AdoQry_Body.Eof Do
begin
AdoQry_Body.Edit;
AdoQry_Body.fieldbyname('InvBillLIneNo').AsInteger:=AdoQry_Body.RecNo;
AdoQry_Body.Post;
AdoQry_Body.Next;
end;
AdoQry_Body.BookmArk:=BookMArk;
end;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_PreviewExecute(Sender: TObject);
begin
// inherited;
if Act_Save.Enabled = True then
begin
DispInfo('没有保存数据,不能预览!',1);
Abort;
end;
If AdoQry_Body.RecordCount=0 Then
begin
DispInfo('没有行数据,不能预览!',1);
Abort;
end;
Frm_Sal_Enter_ShipOrder_P:=TFrm_Sal_Enter_ShipOrder_P.Create(Application);
Frm_Sal_Enter_ShipOrder_P.SetDBConnect(DbConnect);
Frm_Sal_Enter_ShipOrder_P.SetSysParam(UserCode,ModuleCode,MenuId,DateTimeToStr(Now));
Frm_Sal_Enter_ShipOrder_P.GetHeadData(AdoQry_Body,Trim(Edt_ShipNo.Text),'Preview');
Frm_Sal_Enter_ShipOrder_P:=Nil;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_PrintExecute(Sender: TObject);
begin
// inherited;
if Act_Save.Enabled = True then
begin
DispInfo('没有保存数据,不能打印!',1);
Abort;
end;
If AdoQry_Body.RecordCount=0 Then
begin
DispInfo('没有行数据,不能打印!',1);
Abort;
end;
Frm_Sal_Enter_ShipOrder_P:=TFrm_Sal_Enter_ShipOrder_P.Create(Application);
Frm_Sal_Enter_ShipOrder_P.SetDBConnect(DbConnect);
Frm_Sal_Enter_ShipOrder_P.SetSysParam(UserCode,ModuleCode,MenuId,DateTimeToStr(Now));
Frm_Sal_Enter_ShipOrder_P.GetHeadData(AdoQry_Body,Trim(Edt_ShipNo.Text),'Print');
Frm_Sal_Enter_ShipOrder_P:=Nil;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_NewExecute(Sender: TObject);
begin
{ if Frm_Sal_Enter_ShipOrder_C1<>nil then
Frm_Sal_Enter_ShipOrder_C1:=TFrm_Sal_Enter_ShipOrder_C1.Create(Application);
Frm_Sal_Enter_ShipOrder_C1.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Sal_Enter_ShipOrder_C1.InitForm(DbConnect,False);}
inherited;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Frm_Sal_Enter_OtherShipOrder:=nil;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_InsertLineExecute(Sender: TObject);
var MaxLineNo : Integer;
BookMArk : String;
begin
IF Trim(Edt_CustomerCode.Text)='' Then
begin
DispInfo('销售客户不能为空!',3);
Edt_CustomerCode.SetFocus;
Abort;
end;
IF Trim(Edt_TaxRate_Percent.Text)='' Then
begin
DispInfo('销售税率不能为空!',3);
Edt_TaxRate_Percent.SetFocus;
Abort;
end;
IF Trim(Edt_CurrencyCode.Text)='' Then
begin
DispInfo('货币不能为空!',3);
Edt_CurrencyCode.SetFocus;
Abort;
end;
IF Trim(Edt_CurrencyCode.Text)<>'' Then
CurrencyCodeCheck(Edt_CurrencyCode);
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;
Edt_CurrencyName.Text := AdoQry_Tmp.fieldbyname('CurrencyName').AsString;
ExchRate := 1;
If AdoQry_Tmp.fieldbyname('IsMaster').AsInteger<>1 then {如果是本位币则不用判断是否有外币汇率资料}
begin
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;
ExchRate := AdoQry_Tmp.fieldbyname('ExchRate').AsFloat;
end;
IF Trim(Edt_WhCode.Text)='' Then
begin
DispInfo('仓库代码不能为空!',3);
Edt_WhCode.SetFocus;
Abort;
end;
IF Trim(Edt_WhPositionCode.Text)='' Then
begin
DispInfo('货位代码不能为空!',3);
Edt_WhPositionCode.SetFocus;
Abort;
end;
Frm_Sal_Enter_OtherShipOrder_D.LineNo := AdoQry_Body.RecordCount;
If Pos('Edit',Status)>0 then
begin
MaxLineNo := 0;
BookMArk := AdoQry_Body.BookmArk;
AdoQry_Body.DisableControls;
AdoQry_Body.First;
While Not AdoQry_Body.Eof do
begin
If AdoQry_Body.fieldbyname('InvBillLineNo').AsInteger>MaxLineNo then
MaxLineNo := AdoQry_Body.fieldbyname('InvBillLineNo').AsInteger;
AdoQry_Body.Next;
end;
AdoQry_Body.BookmArk := BookMArk;
AdoQry_Body.EnableControls;
Frm_Sal_Enter_OtherShipOrder_D.LineNo := MaxLineNo;
end;
TaxRate_Percent:=Edt_TaxRate_Percent.Text;
CustomerCode:=Edt_CustomerCode.Text;
ShipDate:=MEdt_CreateDate.Text ;
WhCode := Edt_WhCode.Text;
WhPositionCode := Edt_WhPositionCode.Text;
inherited;
Edt_ShipNo.Enabled:=False;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Act_ModifyExecute(Sender: TObject);
begin
TaxRate_Percent:=Edt_TaxRate_Percent.Text;
CustomerCode:=Edt_CustomerCode.Text;
ShipDate:=MEdt_CreateDate.Text;
inherited;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Edt_SaleDeptCodeExit(
Sender: TObject);
begin
inherited;
if Edt_SaleDeptCode.Text <> '' then
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select DeptCode,DeptName from Dept '
+' where DeptCode= '''+Edt_SaleDeptCode.Text+''' ';
AdoQry_Tmp.Open;
if not AdoQry_Tmp.Eof then
Edt_SaleDeptName.Text := AdoQry_Tmp.fieldbyname('DeptName').AsString
else
begin
DispInfo('销售部门代码错误,请重新输入',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
begin
Edt_SaleDeptName.Text:='';
end;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Edt_CustomerCodeExit(
Sender: TObject);
begin
inherited;
IF Trim(Edt_CustomerCode.Text)<>'' Then
CustomerCodeCheck(sender);
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select CustomerCode,CustomerName from Customer '
+' where CustomerCode= '''+Edt_CustomerCode.Text+''' ';
AdoQry_Tmp.Open;
Edt_CustomerName.Text := AdoQry_Tmp.fieldbyname('CustomerName').AsString;
if Trim(Edt_CustomerCode.Text) <>Enter_CustomerCode then
begin
GetCustomerItem(Edt_CustomerCode.Text);
Enter_CustomerCode:= Trim(Edt_CustomerCode.Text);
end;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Edt_SaleEmployeeCodeExit(
Sender: TObject);
begin
inherited;
if Edt_SaleEmployeeCode.Text <>'' then
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select EmployeeCode,EmployeeName from Employee '
+' where EmployeeCode= '''+Edt_SaleEmployeeCode.Text+''' ';
AdoQry_Tmp.Open;
if not AdoQry_Tmp.Eof then
begin
Edt_SaleEmployeeName.Text := AdoQry_Tmp.fieldbyname('EmployeeName').AsString;
end
else
begin
DispInfo('销售员代码错误,请重新输入',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
Edt_SaleEmployeeName.Text:='';
end;
procedure TFrm_Sal_Enter_OtherShipOrder.Edt_CurrencyCodeExit(
Sender: TObject);
begin
inherited;
IF Trim(Edt_CurrencyCode.Text)<>'' Then
CurrencyCodeCheck(Sender);
ExchRate := 1;
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;
Edt_CurrencyName.Text := AdoQry_Tmp.fieldbyname('CurrencyName').AsString;
If AdoQry_Tmp.fieldbyname('IsMaster').AsInteger=1 then Exit;{如果是本位币则不用判断是否有外币汇率资料}
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;
ExchRate := AdoQry_Tmp.fieldbyname('ExchRate').AsFloat;
end;
procedure TFrm_Sal_Enter_OtherShipOrder.GetCustomerItem(
CustomerCode: String);
var
SqlText:String;
begin
SqlText:=' Select CustomerTaxRate_Percent,CustomerShipModeCode,ShipModeName,CustomerCurrencyCode,CurrencyName,'
+' CustomerPayTermCode,PayTermName,CustomerSaleTypeCode,SaleTypeName,'
+' CustomerSaleDeptCode,DeptName,CustomerSaleEmployeeCode,EmployeeName '
+' From Customer '
+' Left Join ShipMode '
+' On Customer.CustomerShipModeCode=ShipMode.ShipModeCode '
+' Left Join Currency '
+' On Customer.CustomerCurrencyCode=Currency.CurrencyCode '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -