📄 sal_enter_backshiporderh.pas
字号:
unit Sal_Enter_BackShipOrderH;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
ExtCtrls, ComCtrls, ToolWin, jpeg, ExtPrintReport;
Type
TFrm_Sal_Enter_BackShipOrderH = Class(TFrm_Base_Entry_Head)
AdoQry_HeadInvBillId: TFloatField;
AdoQry_HeadInvBillNo: TStringField;
AdoQry_HeadWHCode: TStringField;
AdoQry_HeadWhPositionCode: TStringField;
AdoQry_HeadInvBillDate: TDateTimeField;
AdoQry_HeadInvBillMonth: TStringField;
AdoQry_HeadBillTypeCode: TStringField;
AdoQry_HeadBillType2Code: TStringField;
AdoQry_HeadVendorCode: TStringField;
AdoQry_HeadEmployeeCode: TStringField;
AdoQry_HeadDeptCode: TStringField;
AdoQry_HeadCUSTOMERCode: TStringField;
AdoQry_HeadCURRENCYCode: TStringField;
AdoQry_HeadPONO: TStringField;
AdoQry_HeadMONO: TStringField;
AdoQry_HeadInvBillValuation: TIntegerField;
AdoQry_HeadInvBillWHCHCK: TIntegerField;
AdoQry_HeadWH_EmployeeCode: TStringField;
AdoQry_HeadInvBillFINCHCK: TIntegerField;
AdoQry_HeadFin_EmployeeCode: TStringField;
AdoQry_HeadPRINTTIMES: TIntegerField;
AdoQry_HeadSaleType: TStringField;
AdoQry_HeadShiftType: TStringField;
AdoQry_HeadInvBillRemArk: TStringField;
AdoQry_HeadInvBillInfo: TStringField;
AdoQry_HeadOWhPositionCode: TStringField;
AdoQry_HeadInvBillStkChck: TIntegerField;
AdoQry_HeadStk_EmployeeCode: TStringField;
AdoQry_HeadInvBillTmpFlag: TIntegerField;
AdoQry_HeadOverPlan: TIntegerField;
AdoQry_HeadPOLineNo: TIntegerField;
AdoQry_HeadMoLineNO: TIntegerField;
AdoQry_HeadInvBillCreateTime: TDateTimeField;
AdoQry_HeadSfc_EmployeeCode: TStringField;
AdoQry_HeadSal_EmployeeCode: TStringField;
AdoQry_HeadWH_EmployeeCode2: TStringField;
AdoQry_HeadInvBilltaxrate: TFloatField;
AdoQry_HeadMpsSale: TIntegerField;
AdoQry_HeadopBill: TIntegerField;
AdoQry_HeadSysBill: TIntegerField;
AdoQry_HeadOldInvBillNo: TStringField;
AdoQry_HeadPriceAdjustBill: TIntegerField;
AdoQry_HeadWipWaster: TIntegerField;
AdoQry_HeadAmountAdjust: TIntegerField;
AdoQry_HeadShipType: TIntegerField;
AdoQry_HeadShipAddresSCode: TStringField;
AdoQry_HeadShipModeCode: TStringField;
AdoQry_HeadSaleEmployeeCode: TStringField;
AdoQry_HeadPayTermCode: TStringField;
AdoQry_HeadInvoiceNo: TStringField;
AdoQry_HeadRemArk: TStringField;
AdoQry_HeadRemArk1: TStringField;
AdoQry_HeadTotalInvBillAmount: TFloatField;
AdoQry_HeadTotalInvBillNoTaxAmount: TFloatField;
AdoQry_HeadTotalInvBillnoTaxAmountc: TFloatField;
AdoQry_HeadTotalInvBillAmountc: TFloatField;
AdoQry_HeadCustomerName: TStringField;
AdoQry_HeadDeptName: TStringField;
AdoQry_HeadEmployeeName: TStringField;
AdoQry_HeadSaleTypeName: TStringField;
AdoQry_HeadCurrencyName: TStringField;
AdoQry_HeadPayTermName: TStringField;
AdoQry_HeadCreateEmployeeName: TStringField;
AdoQry_HeadShipModeName: TStringField;
AdoQry_HeadShipAddressName: TStringField;
AdoQry_HeadWhName: TStringField;
AdoQry_HeadWhPositionName: TStringField;
procedure Act_NewExecute(Sender: TObject);
procedure Act_ModifyExecute(Sender: TObject);
procedure Act_LookExecute(Sender: TObject);
procedure Act_DeleteExecute(Sender: TObject);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Sal_Enter_BackShipOrderH: TFrm_Sal_Enter_BackShipOrderH;
implementation
uses Sal_Enter_BackShipOrder_C1, Sal_Enter_BackShipOrder, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Enter_ShipOrderH }
procedure TFrm_Sal_Enter_BackShipOrderH.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
begin
Application.ProcessMessages;
self.Windowstate:=wsmaximized;
Application.ProcessMessages;
inherited;
If (ReadOnly) Then
begin
Act_New.Enabled:=False;
Act_New.Visible:=False;
Act_Modify.Enabled:=False;
Act_Modify.Visible:=False;
Pnl_Title.Caption:='销售退货查询';
Frm_Sal_Enter_BackShipOrderH.Caption:='销售退货查询';
end
Else
begin
Pnl_Title.Caption:='销售退货';
Frm_Sal_Enter_BackShipOrderH.Caption:='销售退货';
end;
SelectFromSql:=' Select InvOutBill.* ,Warehouse.WhName,WhPosition.WhPositionName,Customer.CustomerName,Dept.DeptName,'
+' Employee.EmployeeName, SaleType.SaleTypeName,'
+' Currency.CurrencyName,PayTerm.PayTermName,'
+' Employee.EmployeeName As CreateEmployeeName,'
+' ShipMode.ShipModeName,CustomerShipAddress.ShipAddressName '
+' From InvOutBill '
+' Left Join Warehouse on InvOutBill.WhCode=Warehouse.WhCode '
+' Left Join WhPosition on InvOutBill.WhCode=WhPosition.WhCode '
+' and InvOutBill.WhPositionCode=WhPosition.WhPositionCode '
+' Left Join Customer '
+' On Customer.CustomerCode=InvOutBill.CustomerCode '
+' Left Join Dept '
+' On Dept.DeptCode=InvOutBill.DeptCode '
+' Left Join Employee '
+' On Employee.EmployeeCode=InvOutBill.SaleEmployeeCode '
+' left Join Currency '
+' On Currency.CurrencyCode=InvOutBill.CurrencyCode '
+' left Join PayTerm '
+' On PayTerm.PayTermCode=InvOutBill.PayTermCode '
+' Left Join ShipMode '
+' On ShipMode.ShipModeCode=InvOutBill.ShipModeCode '
+' left Join SaleType '
+' On SaleType.SaleTypeCode=InvOutBill.SaleType '
+' left Join CustomerShipAddress '
+' On CustomerShipAddress.ShipAddresSCode=InvOutBill.ShipAddresSCode ';
ConditionUserDefine := ' exists (select * from InvOutBillLine where InvOutBillLIne.InvBillId=InvOutBill.InvBillId ) '
+' and BillTypeCode in (''0205'',''0206'') '
+' and ShipType=2 ';
Condition:=' InvBillWhChCk=0 ';
OrderByFields:=' CustomerCode,InvBillDate ';
GetData;
end;
procedure TFrm_Sal_Enter_BackShipOrderH.Act_NewExecute(Sender: TObject);
begin
inherited;
Frm_Sal_Enter_BackShipOrder_C1:=TFrm_Sal_Enter_BackShipOrder_C1.Create(Application);
Frm_Sal_Enter_BackShipOrder_C1.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Sal_Enter_BackShipOrder_C1.InitForm(DbConnect,False);
end;
procedure TFrm_Sal_Enter_BackShipOrderH.Act_ModifyExecute(Sender: TObject);
begin
if AdoQry_Head.RecordCount=0 then exit;
if AdoQry_Head.fieldbyname('InvBillWhChCk').AsInteger=1 then
begin
DispInfo('已审核的销售退货单不可以修改!',3);
Abort;
end;
inherited;
Frm_Sal_Enter_BackShipOrder:=TFrm_Sal_Enter_BackShipOrder.Create(Application);
Frm_Sal_Enter_BackShipOrder.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Sal_Enter_BackShipOrder.InitForm(DbConnect,'Edit',AdoQry_Head);
Frm_Sal_Enter_BackShipOrder.ShowModal;
if Frm_Sal_Enter_BackShipOrder<>nil then
Frm_Sal_Enter_BackShipOrder.Close;
end;
procedure TFrm_Sal_Enter_BackShipOrderH.Act_LookExecute(Sender: TObject);
begin
inherited;
IF AdoQry_Head.RecordCount<>0 Then
begin
Frm_Sal_Enter_BackShipOrder:=TFrm_Sal_Enter_BackShipOrder.Create(Application);
Frm_Sal_Enter_BackShipOrder.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Sal_Enter_BackShipOrder.InitForm(DbConnect,'Query',AdoQry_Head);
Frm_Sal_Enter_BackShipOrder.ShowModal;
if Frm_Sal_Enter_BackShipOrder<>nil then
Frm_Sal_Enter_BackShipOrder.Close;
end;
end;
procedure TFrm_Sal_Enter_BackShipOrderH.Act_DeleteExecute(Sender: TObject);
var
SqlText,BookmArk:String;
AdoQuery:TAdoQuery;
begin
if AdoQry_Head.RecordCount=0 then exit;
If DispInfo('确认真的要删除这张销售退货单吗?',2)<>'y' Then
exit;
if AdoQry_Head.fieldbyname('InvBillWhChCk').AsInteger=1 then
begin
DispInfo('已审核的销售退货单不可以删除!',3);
Abort;
end;
AdoQuery:=TAdoQuery.Create(nil);
AdoQuery.Connection := Dbconnect;
BookmArk:= AdoQry_Head.BookmArk;
try
DbConnect.beginTrans;
// saveBackShipOrderHistory(dbconnect,AdoQry_Head.fieldbyname('InvBillNo').AsString,userCode,2);
SQlText:=' Select * From InvOutBillLine '
+' Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId '
+' and InvBillNo='''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text := SqlText;
AdoQry_Tmp.Open;
AdoQry_Tmp.First;
While Not AdoQry_Tmp.Eof Do
begin
// saveBackShipOrderLineHistory(dbconnect,AdoQry_Head.fieldbyname('InvBillNo').AsString,AdoQry_Tmp.fieldbyname('BackShipLineNo').asinteger,userCode,2);
AdoQry_Tmp.Next;
end;
SqlText:=' Delete InvOutBillLine Where InvBillId='+AdoQry_Tmp.fieldbyname('InvBillId').AsString
+' Delete InvOutBill Where InvBillNo='''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text := SqlText;
AdoQry_Tmp.ExecSQL;
AdoQuery.Free;
DbConnect.CommitTrans;
except
DbConnect.RollBackTrans;
Abort;
end;
getdata;
try
if not AdoQry_Head.Eof then
AdoQry_Head.BookmArk:=BookmArk;
except
end;
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -