📄 sal_enter_backshiporder_c1.pas
字号:
unit Sal_Enter_BackShipOrder_C1;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, StdCtrls, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids,
DBGridEh, ExtCtrls, ComCtrls, ToolWin, jpeg;
Type
TFrm_Sal_Enter_BackShipOrder_C1 = Class(TFrm_Base_Qry)
btn_ok: TButton;
btn_Cancel: TButton;
AdoQry_MainShipNo: TStringField;
AdoQry_MainSloNo: TStringField;
AdoQry_MainSloLineNo: TIntegerField;
AdoQry_MainItemCode: TStringField;
AdoQry_MainShipQty: TFloatField;
AdoQry_MainWHCode: TStringField;
AdoQry_MainWhPositionCode: TStringField;
AdoQry_MainBatchNo: TStringField;
AdoQry_MainNoTaxPrice: TFloatField;
AdoQry_MainNoTaxAmount: TFloatField;
AdoQry_MainTaxPrice: TFloatField;
AdoQry_MainTaxAmount: TFloatField;
AdoQry_MainDiSCountRate: TFloatField;
AdoQry_MainDiSCountAmount: TFloatField;
AdoQry_MainShipLineRemArk: TStringField;
AdoQry_MainItemName: TStringField;
AdoQry_MainUomName: TStringField;
AdoQry_MainWhName: TStringField;
AdoQry_MainWhPositionName: TStringField;
btn_reselect: TButton;
AdoQry_MainInvBillLineNo: TStringField;
AdoQry_MainTmpField: TFloatField;
AdoQry_MainCurrencyCode: TStringField;
AdoQry_MainCurrencyName: TStringField;
AdoQry_MaInBillTypeCode: TStringField;
procedure FormDestroy(Sender: TObject);
procedure btn_CancelClick(Sender: TObject);
procedure DBGridEhTitleClick(Column: TColumnEh);
procedure btn_okClick(Sender: TObject);
procedure btn_reselectClick(Sender: TObject);
private
Flag:Boolean ;
{ Private declarations }
public
CreateDateStArt,CreateDateend,SloNoStArt,SloNoend,CustomerCode,CustomerName:string;
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Sal_Enter_BackShipOrder_C1: TFrm_Sal_Enter_BackShipOrder_C1;
implementation
uses Sal_Enter_BackShipOrder_C, Sal_Enter_BackShipOrder, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Enter_ShipOrder_C1 }
procedure TFrm_Sal_Enter_BackShipOrder_C1.InitForm(
AdOConnection: TAdOConnection; ReadOnly: Boolean);
begin
inherited;
Frm_Sys_Condition:= TFrm_Sal_Enter_BackShipOrder_C.Create(self);
act_filter.Execute;
SelectFromSql:=' Select InvOutBill.InvBillNo,InvOutBill.BillTypeCode,InvOutBill.CurrencyCode,Currency.CurrencyName, '
+' InvOutBill.WhCode,InvOutBill.WhPositionCode,InvOutBillLine.* ,Item.ItemName,Uom.UomName,'
+' Warehouse.WhName,WhPosition.WhPositionName '
+' From InvOutBillLine '
+' Join InvOutBill '
+' On InvOutBillLine.InvBillId=InvOutBill.InvBillId '
+' and InvOutBill.BillTypeCode in (''0205'',''0206'') '
+' left Join Currency on InvOutBill.CurrencyCode=Currency.CurrencyCode '
+' left Join Item '
+' On InvOutBillLine.ItemCode=Item.ItemCode '
+' left Join Uom '
+' On Item.UomCode=Uom.UomCode '
+' left Join Warehouse '
+' On InvOutBill.WhCode=Warehouse.WhCode '
+' left Join WhPosition '
+' On (InvOutBill.WhCode=WhPosition.WhCode '
+' And InvOutBill.WhPositionCode=WhPosition.WhPositionCode)'
+' Where CustomerCode= '''+CustomerCode +''''
+' And (InvOutBill.InvBillNo between '''+SloNoStArt+''' and '''+SloNoend+''')'
+' And (InvBillDate Between '''+CreateDateStArt+''' And '''+CreateDateend+''') '
+' And InvBillWhChCk=1'
+' and InvBillQty>0 ';
Getdata;
Flag:=False;
DBGridEhTitleClick(DBGridEh.Columns[0] );
end;
procedure TFrm_Sal_Enter_BackShipOrder_C1.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Sal_Enter_BackShipOrder_C1:=nil;
end;
procedure TFrm_Sal_Enter_BackShipOrder_C1.btn_CancelClick(Sender: TObject);
begin
inherited;
Frm_Sal_Enter_BackShipOrder_C1.Close;
end;
procedure TFrm_Sal_Enter_BackShipOrder_C1.DBGridEhTitleClick(
Column: TColumnEh);
var
BookMArk:String;
begin
inherited;
If Trim(Column.Title.Caption)<>'标记' Then
Abort;
If AdoQry_Main.RecordCount=0 Then
Abort;
BookMArk:=AdoQry_Main.BookmArk;
If Not Flag Then
begin
AdoQry_Main.First;
While Not AdoQry_Main.Eof Do
begin
AdoQry_Main.Edit;
AdoQry_Main.fieldbyname('TmpField').AsInteger:=1;
AdoQry_Main.Post;
AdoQry_Main.Next;
end;
end
Else
begin
AdoQry_Main.First;
While Not AdoQry_Main.Eof Do
begin
AdoQry_Main.Edit;
AdoQry_Main.fieldbyname('TmpField').AsInteger:=0;
AdoQry_Main.Post;
AdoQry_Main.Next;
end;
end;
AdoQry_Main.BookmArk:=BookMArk;
Flag:=Not Flag;
end;
procedure TFrm_Sal_Enter_BackShipOrder_C1.btn_okClick(Sender: TObject);
var
I:boolean;
CurrencyCode,BillTypeCode : String;
begin
inherited;
I:=False;
CurrencyCode := '++++++++';
BillTypeCode := '********';
AdoQry_Main.First;
While Not AdoQry_Main.Eof do
begin
If AdoQry_Main.fieldbyname('TmpField').AsInteger>0 Then
begin
if Not ( (CurrencyCode='++++++++') and (BillTypeCode='********')
) then
begin
if Not( (AdoQry_Main.fieldbyname('CurrencyCode').AsString=CurrencyCode)
and (AdoQry_Main.fieldbyname('BillTypeCode').AsString=BillTypeCode)
)then
begin
DispInfo('必须选择单据类型、货币相同的销售发货单!',3);
abort;
end;
end
else
begin
CurrencyCode := AdoQry_Main.fieldbyname('CurrencyCode').AsString;
BillTypeCode := AdoQry_Main.fieldbyname('BillTypeCode').AsString;
end;
I := True;
end;
AdoQry_Main.Next;
end;
If I=True 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.BillTypeCode := BillTypeCode;
Frm_Sal_Enter_BackShipOrder.InitForm(DbConnect,'Add',AdoQry_Main);
Frm_Sal_Enter_BackShipOrder_C1.Hide;
Frm_Sal_Enter_BackShipOrder.ShowModal;
if Frm_Sal_Enter_BackShipOrder_C1<>nil then
Frm_Sal_Enter_BackShipOrder_C1.Close;
if Frm_Sal_Enter_BackShipOrder<>nil then
Frm_Sal_Enter_BackShipOrder.Close;
end
Else
begin
DispInfo('没有选定记录,不能执行新增操作!',3);
Abort;
end;
end;
procedure TFrm_Sal_Enter_BackShipOrder_C1.btn_reselectClick(
Sender: TObject);
begin
inherited;
act_filter.Execute;
SelectFromSql:=' Select InvOutBill.InvBillNo,InvOutBill.BillTypeCode,InvOutBill.CurrencyCode, Currency.CurrencyName, '
+' InvOutBill.WhCode,InvOutBill.WhPositionCode,InvOutBillLine.* ,Item.ItemName,Uom.UomName,'
+' Warehouse.WhName,WhPosition.WhPositionName '
+' From InvOutBillLine '
+' Join InvOutBill '
+' On InvOutBillLine.InvBillId=InvOutBill.InvBillId '
+' and InvOutBill.BillTypeCode in (''0205'',''0206'') '
+' left Join Currency on InvOutBill.CurrencyCode=Currency.CurrencyCode '
+' left Join Item '
+' On InvOutBillLine.ItemCode=Item.ItemCode '
+' left Join Uom '
+' On Item.UomCode=Uom.UomCode '
+' left Join Warehouse '
+' On InvOutBill.WhCode=Warehouse.WhCode '
+' left Join WhPosition '
+' On (InvOutBill.WhCode=WhPosition.WhCode '
+' And InvOutBill.WhPositionCode=WhPosition.WhPositionCode)'
+' Where CustomerCode= '''+CustomerCode +''''
+' And (InvOutBill.InvBillNo between '''+SloNoStArt+''' and '''+SloNoend+''')'
+' And (InvBillDate Between '''+CreateDateStArt+''' And '''+CreateDateend+''') '
+' And InvBillWhChCk=1'
+' and InvBillQty>0 ';
Getdata;
Flag:=False;
DBGridEhTitleClick(DBGridEh.Columns[0] );
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -