?? matout.~pas
字號(hào):
unit MatOUT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, tabFrm, ImgList, ExtCtrls, ComCtrls, StdCtrls, Buttons, Ex2nmedt,
InvDef, EnhLV, GLLV, ComObj, Math, dpConst, Mask, xlsConst;
type
TfrmMatOUT = class(TTabForm)
pnlInput: TPanel;
lblOutdate: TLabel;
lblCode: TLabel;
lblName: TLabel;
lblRemarks: TLabel;
lblpaper: TLabel;
btnMatQry: TSpeedButton;
lblOutType: TLabel;
lblRecieve: TLabel;
lblUType: TLabel;
lblOutGuageID: TLabel;
lblUnitPrice: TLabel;
lblOutQuantity: TLabel;
lblOutAmount: TLabel;
lblTPrice: TLabel;
lblMoldCode: TLabel;
lblPartCode: TLabel;
btnBom: TSpeedButton;
lblStockID: TLabel;
lblUseQuantity: TLabel;
lblOrderSerial: TLabel;
edtDate: TEdit;
edtMatCode: TEdit;
edtMatName: TEdit;
edtNote: TEdit;
edtPaperNo: TEdit;
cbxMatOut: TComboBox;
cbxRec: TComboBox;
edtRecEmpName: TEdit;
edtRecEmpID: TEdit;
edtMatOutID: TEdit;
edtOutIDName: TEdit;
edtPrice: TEx2NumEdit;
edtIssWeight: TEx2NumEdit;
edtMoldID: TEdit;
edtPartID: TEdit;
Panel4: TPanel;
btnNew: TBitBtn;
Panel9: TPanel;
cbxStk: TComboBox;
edtStkID: TEdit;
edtStkName: TEdit;
edtUseQuantity: TEx2NumEdit;
Panel5: TPanel;
Panel1: TPanel;
btnDelete: TBitBtn;
lblUseTPrice: TLabel;
edtOrderSerial: TEdit;
cbxOutGuage: TComboBox;
edtIssGuageID: TEx2NumEdit;
edtIssGuageName: TEdit;
Panel2: TPanel;
btnSave: TBitBtn;
lblUseAmount: TLabel;
cbxInput: TComboBox;
edtInputEmpID: TEdit;
edtInputEmpName: TEdit;
lblINMan: TLabel;
btnBa1: TSpeedButton;
cbxUseGuage: TComboBox;
lblUseGuageID: TLabel;
lblSuplier: TLabel;
edtSuplierCode: TEx2NumEdit;
lblMaker: TLabel;
edtMakerCode: TEx2NumEdit;
lblCurrQty: TLabel;
edtIssPaperNO: TEdit;
lblIsspaper: TLabel;
lblSupplierNM: TEdit;
cbxSuplier: TComboBox;
lblMakerNM: TEdit;
cbxMaker: TComboBox;
tabsGroup: TTabControl;
Panel11: TPanel;
Panel7: TPanel;
ListViewMatIN: TGradLineListView;
rdoGroupBy: TRadioGroup;
Panel6: TPanel;
Panel8: TPanel;
ckbNew: TCheckBox;
btnRefresh: TBitBtn;
edtSequalNo: TEdit;
edtHatCode: TEdit;
lblSequalNo: TLabel;
lblOrderCode: TLabel;
edtMakerPrice: TEx2NumEdit;
lblProcessCost: TLabel;
cbxOutUPID: TComboBox;
edtUPID: TEx2NumEdit;
edtUPIDName: TEdit;
Label1: TLabel;
btnPaper: TBitBtn;
cbxReportID: TComboBox;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TabControlChanging(Sender: TObject; var AllowChange: Boolean);
procedure ControlChange(Sender: TObject);
procedure ControlExit(Sender: TObject);
procedure edtNoteKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure edtDateKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btnNewClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure ckbNewClick(Sender: TObject);
procedure btnExcelClick(Sender: TObject);
procedure btnExitClick(Sender: TObject);
procedure rdoGroupByClick(Sender: TObject);
procedure tabsGroupChange(Sender: TObject);
procedure cbxStkChange(Sender: TObject);
procedure cbxOutGuageDropDown(Sender: TObject);
procedure cbxOutGuageChange(Sender: TObject);
procedure cbxUseGuageDropDown(Sender: TObject);
procedure cbxUseGuageChange(Sender: TObject);
procedure cbxMatOutDropDown(Sender: TObject);
procedure cbxMatOutChange(Sender: TObject);
procedure cbxRecDropDown(Sender: TObject);
procedure cbxRecChange(Sender: TObject);
procedure cbxInputDropDown(Sender: TObject);
procedure cbxInputChange(Sender: TObject);
procedure chkViewClick(Sender: TObject);
procedure btnBa1Click(Sender: TObject);
procedure btnMatQryClick(Sender: TObject);
procedure btnPaperClick(Sender: TObject);
procedure cbxSuplierDropDown(Sender: TObject);
procedure cbxSuplierChange(Sender: TObject);
procedure cbxMakerDropDown(Sender: TObject);
procedure cbxMakerChange(Sender: TObject);
procedure btnRefreshClick(Sender: TObject);
procedure edtIssGuageNameExit(Sender: TObject);
procedure btnBomClick(Sender: TObject);
procedure cbxOutUPIDChange(Sender: TObject);
procedure edtUPIDChange(Sender: TObject);
private
{ Private declarations }
function ReturnValueToVariable(lcP: PINVENTORY; CtrlList: PCONTROL_LIST; Msg: Boolean): Boolean;
procedure SetData(Item: Pointer);
procedure SetNull;
function ErrorCheck(Item: PINVENTORY): Integer;
function UpdateProc(UpdateListList: TList): Boolean;
procedure UpdateCheck;
procedure SetCopy;
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
procedure Read_IOChangedList;
Function Set_QueryedList(sList: TList): TList;
procedure CreateTabs_ByGroup(rdoIndex: integer; sList: TList);
procedure Set_QryList_FromTabs(iTab: integer; FGroupList: TList);
Function CheckViewData(lcPA: Pointer; rdoTitleIndex,TabIndex: integer): boolean;
procedure SetListView;
function SetListColumn(sListView: TGradLineListView): Integer;
procedure MakeItemCaption(Item: TListItem);
procedure set_tmpdata(i: integer; lcp: PINVENTORY; agp: PAllReadyInOrder);
procedure SetMultilingual;
public
{ Public declarations }
default_stkid: string;
default_isspaper: string;
default_ioid: string;
default_outmanid: string;
default_receivemanid: string;
default_OutUnitPriceID: Integer;
procedure SetNew(Index: Integer);
function RECExists(RecID: LongInt): Boolean;
/////////////////////////////////////////////////////
procedure SetBalanceList(RID: LongInt; List: TList; DT: TDateTime);
function SetInventoryCnt(rec_id,mat_rec_id,guage_id: LongInt; stk_id: string; DT: TDateTime; var Cnt: Double): Double;
/////////////////////////////////////////////////////
function SetInventoryQty(rec_id,mat_rec_id,guage_id: LongInt; stk_id: string;
DT: TDateTime; var Cnt: Double; iMode: Integer): Double;
procedure SetInvUnitPrice(RID: LongInt; List: TList; DT: TDateTime; iMode: Integer);
Procedure Excel_StockOutList(sList: TList);
protected
{ Protected }
function GetTabCaption(Item: Pointer): string; override;
procedure SetKomoku(Item: Pointer); override;
end;
var
frmMatOUT: TfrmMatOUT;
FExitSkip: boolean;
InvCnt: Double;
MatRID: LongInt;
//////////////////////
FMatIOList,
FQueryList: TList;
FListViewClear,
FOnMakeItemCaption: Boolean;
FSelectedItem: TListItem;
FColCnt: Integer;
FCreate: Boolean;
/////////////////////
FGroupValue: array[0..120000] of variant; //-- TabControl tabs group value
sFDate,sEDate: TDateTime;
FList,FListInvUPrice: TList;
implementation
uses Main, InvDM, InvHistory, QryMaterial, QryDeliveryList, MatBalaIn;
{$R *.dfm}
procedure TfrmMatOUT.FormCreate(Sender: TObject);
var ix: integer;
View: TINVENTORY;
begin
inherited;
Top := frmMain.Height;
Left := 0;
Width := Screen.Width;
Height := Screen.Height-(frmMain.Height+20);
FCreate := true;
/////////////////////////////
FMatIOList := TList.Create;
FMatIOList.Clear;
FQueryList := TList.Create;
FQueryList.Clear;
IX := 0;
InitCtrlList(edtRecEmpID, IX, Longint(@View.RECIEVE_EMPID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtPaperNo, IX, Longint(@View.PAPERNO)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtDate, IX, Longint(@View.date)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtMoldID, IX, Longint(@View.ODR_RID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtPartID, IX, Longint(@View.PAT_RID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtSequalNo, IX, Longint(@View.SEQUAL_NO)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtHatCode, IX, Longint(@View.HAT_CODE)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtOrderSerial, IX, Longint(@View.HAT_RID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtMatCode, IX, Longint(@View.MAT_RID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtMatName, IX, Longint(@View.MAT_NM)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtIssGuageID, IX, Longint(@View.GUAGE_ID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtIssWeight, IX, Longint(@View.QUANTITY)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtPrice, IX, Longint(@View.UNT_PRICE)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(cbxUseGuage, IX, Longint(@View.USE_GUAGE)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtUseQuantity, IX, Longint(@View.USE_QUANTITY)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtStkID, IX, Longint(@View.stk_id)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtIssPaperNO, IX, Longint(@View.ISS_PAPERNO)-Longint(@View),nil,nil);
Inc(IX);
InitCtrlList(edtMatOutID, IX, Longint(@View.INOUT_ID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtInputEmpID, IX, Longint(@View.INPUT_EMPID)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtSuplierCode, IX, Longint(@View.SUP_CD)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtMakerCode, IX, Longint(@View.MAK_CD)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtMakerPrice, IX, Longint(@View.MAK_PRICE)-Longint(@View), nil,nil);
Inc(IX);
InitCtrlList(edtNote, 99, Longint(@View.NOTE)-Longint(@View), nil,nil);
PostCtrlList;
SetNull;
SetMultilingual;
FList := TList.Create;
FList.Clear;
FListInvUPrice := TList.Create;
FListInvUPrice.Clear;
end;
procedure TfrmMatOUT.FormShow(Sender: TObject);
begin
Top := frmMain.Height;
Left := 0;
Width := Screen.Width;
Height := Screen.Height-(frmMain.Height+20);
cbxReportID.ItemIndex := 0;
default_OutUnitPriceID := StrToIntDef(frmMain.IniData.OutPrice, -1);
edtUPID.Value := default_OutUnitPriceID;
TabControl.Tabs.Clear;
SetNew(-1);
if TabControl.Tabs.Count > 0 then SelectTabIndex(0);
//////////////////////////////////////////////////////
FCreate := true;
sFDate := Now;
sEDate := Now+1;
dm_Inventory.Read_IOHistory(FMatIOList,trim(edtStkID.Text),1,sFDate,sEDate);
Set_QueryedList(FQueryList);
CreateTabs_ByGroup(rdoGroupBy.ItemIndex,FQueryList);
tabsGroupChange(Self);
end;
procedure TfrmMatOUT.FormDestroy(Sender: TObject);
begin
//
end;
procedure TfrmMatOUT.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var UpdateListList, List: TList;
begin
UpdateListList := GetUpdateListList;
if (UpdateListList.Count>0)then begin
List := UpdateListList[0];
if (List.Count=0) then Exit;
if ErrorCheck(Selected) <> 0 then begin
CanClose := False;
Exit;
end;
UpdateProc(UpdateListList);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -