📄 invdef.pas
字号:
quantity: Double;
total_price: Double;
supplier_code: Integer;
maker_code: Integer;
mak_price: Double;
sequal_no: array[0..60] of char;
hat_code: array[0..30] of char;
iss_paperno: array[0..30] of char;
paperno: array[0..30] of char;
input_empid: array[0..30] of char;
date: TDatetime;
note: array[0..60] of char;
Item: TListItem;
end;
TAllReadyInValue = record
OrderID: LongInt;
PartID: LongInt;
u_price: Double;
mak_price: Double;
sup: integer;
mak: integer;
sequal_no: array[0..60] of char;
hat_code: array[0..30] of char;
iss_paper: array[0..30] of char;
paper: string;
indate: TDatetime;
note: string;
end;
//-- 仓库进出存量
PInOutStkList = ^TInOutStkList;
TInOutStkList = record
mtl_rec_id: integer;
initqty: double;
inqty: double;
outqty: double;
returnqty: double;
tuneqty: double;
stkqty: double;
item: TListItem;
end;
PInOutStkListOfCost = ^TInOutStkListOfCost;
TInOutStkListOfCost = record
mtl_rec_id: integer;
initqty: double;
initAmount: double;
inqty: double;
inAmount: double;
outqty: double;
outAmount: double;
returnqty: double;
returnAmount: double;
tuneqty: double;
tuneAmout: double;
stkqty: double;
stkAmout: double;
item: TListItem;
end;
TINVENTORY_VALUE = record
inv_rec_id: Integer;
input_order_rec_id:Integer;
input_part_rec_id: Integer;
order_rec_id: Integer;
part_rec_id: Integer;
process_rec_id: Integer;
hiyo_kubun_rec_id: Integer;
material_rec_id: Integer;
quantity: Double;
unit_price: Double;
total_price: Double;
order_no: Integer;
ikind: Integer;
PaperNo: array[0..30] of Char;
Inout_Type: array[0..30] of Char;
recieve_EmpID: array[0..30] of Char;
input_empid: array[0..30] of Char;
invoice_no: array[0..30] of char;
is_account: Byte;
end;
//////////////////////////////////////////////////////////////////////
PUserPrivilege = ^TUserPrivilege;
TUserPrivilege = record
paperno: string;
user_id: integer;
user_name: string;
password: string;
rec_date: Tdatetime;
bom_func: integer;
stk_func: integer;
matin_func: integer;
matout_func: integer;
othin_func: integer;
othout_func: integer;
iohis_func: integer;
rpt_func: integer;
invoice_func: integer;
undelivery_func: integer;
incheck_func: integer;
rtnmana_func: integer;
params_func: integer;
iotype_func: integer;
paperno_func: integer;
invguage_func: integer;
dataexport_func: integer;
expdatarpt_func: integer;
userprivilege_func: integer;
item: TListItem;
end;
/////////////////////////////////////////////////////////////////////
//--
PUPDATE_LIST = ^TUPDATE_LIST;
TUPDATE_LIST = Record
REC_ID: LongInt;
TARGET: Pointer; //--
INDEX,
LEVEL: Integer;
PARENT: Pointer; //--
end;
//--
PUPDATE_COLUMN = ^TUPDATE_COLUMN;
TUPDATE_COLUMN = record
RecId,
ColumnIndex: Longint;
ColumnPointer: Pointer;
end;
//--
PTABLEDEF = ^TTABLEDEF;
TTABLEDEF = record
TableIndex: Smallint;
TableName: string;
ColumnOffset: Smallint;
ColumnName: string;
DataType,
DataLength: SmallInt
end;
////////////////////////////////////////////////////////////////
Function Get_PosBeforeStr(LocalStr,sPos: string): string;
Function Get_PosAfterStr(LocalStr,sPos: string): string;
const
TableDefCount = 38;
sqTINYINT_TYPE = 2;
sqSMALLINT_TYPE = 3;
sqINTEGER_TYPE = 4;
sqTEXT_TYPE = 1;
sqTEXTINT_TYPE = 10;
sqDATETIME_TYPE = 11;
sqMONEY_TYPE = 3;
sqFLOAT_TYPE = 6;
sqUNIQUE_KEY = 99;
TableDefs: array[0..TableDefCount - 1] of TTABLEDEF =
(
(TableIndex:0; TableName:'shizai'; ColumnOffset:0; ColumnName:'rec_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:0; TableName:'shizai'; ColumnOffset:1; ColumnName:'code'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:0; TableName:'shizai'; ColumnOffset:2; ColumnName:'name'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:0; TableName:'shizai'; ColumnOffset:3; ColumnName:'unit_price'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:0; TableName:'shizai'; ColumnOffset:4; ColumnName:'maker_cd'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:0; TableName:'shizai'; ColumnOffset:5; ColumnName:'shiire_cd'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:0; TableName:'shizai'; ColumnOffset:6; ColumnName:'unit_type'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:0; TableName:'shizai'; ColumnOffset:7; ColumnName:'standard'; DataType:sqTEXT_TYPE; DataLength:24),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:0; ColumnName:'rec_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:1; ColumnName:'kind'; DataType:sqTINYINT_TYPE; DataLength:2),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:2; ColumnName:'stk_id'; DataType:sqTEXT_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:3; ColumnName:'date'; DataType:sqDATETIME_TYPE; DataLength:11),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:4; ColumnName:'material_rec_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:5; ColumnName:'material_name'; DataType:sqTEXT_TYPE; DataLength:100),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:6; ColumnName:'guage_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:7; ColumnName:'supplier_code'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:8; ColumnName:'maker_code'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:9; ColumnName:'maker_price'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:10; ColumnName:'quantity'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:11; ColumnName:'unit_price'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:12; ColumnName:'total_price'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:13; ColumnName:'use_guage'; DataType:sqTEXT_TYPE; DataLength:100),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:14; ColumnName:'use_quantity'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:15; ColumnName:'use_amount'; DataType:sqFLOAT_TYPE; DataLength:8),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:16; ColumnName:'order_rec_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:17; ColumnName:'parts_rec_id'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:18; ColumnName:'sequal_no'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:19; ColumnName:'order_no'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:20; ColumnName:'order_code'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:21; ColumnName:'paperno'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:22; ColumnName:'iss_paperno'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:23; ColumnName:'inout_id'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:24; ColumnName:'recieve_empid'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:25; ColumnName:'input_empid'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:26; ColumnName:'invoice_no'; DataType:sqTEXT_TYPE; DataLength:30),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:27; ColumnName:'is_account'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:28; ColumnName:'is_close'; DataType:sqINTEGER_TYPE; DataLength:4),
(TableIndex:1; TableName:'inventory_sheet'; ColumnOffset:29; ColumnName:'note'; DataType:sqTEXT_TYPE; DataLength:60)
);
var
ShizaiView: TSHIZAI;
InventoryView: TINVENTORY;
procedure SetTableDefs;
implementation
procedure SetTableDefsShizai(TableDef: PTABLEDEF);
var IView: LongInt;
begin
IView := LongInt(@ShizaiView);
if TableDef^.ColumnName = 'rec_id' then
TableDef^.ColumnOffset := Longint(@ShizaiView.REC_ID)-IView
else if TableDef^.ColumnName = 'code' then
TableDef^.ColumnOffset := Longint(@ShizaiView.SHIZAI_CD)-IView
else if TableDef^.ColumnName = 'name' then
TableDef^.ColumnOffset := Longint(@ShizaiView.SHIZAI_NM)-IView
else if TableDef^.ColumnName = 'unit_price' then
TableDef^.ColumnOffset := Longint(@ShizaiView.UNT_PRICE)-IView
else if TableDef^.ColumnName = 'maker_cd' then
TableDef^.ColumnOffset := Longint(@ShizaiView.MAKER_CD)-IView
else if TableDef^.ColumnName = 'shiire_cd' then
TableDef^.ColumnOffset := Longint(@ShizaiView.SHIIRE_CD)-IView
else if TableDef^.ColumnName = 'unit_type' then
TableDef^.ColumnOffset := Longint(@ShizaiView.UNT_TYPE)-IView
else if TableDef^.ColumnName = 'standard' then
TableDef^.ColumnOffset := Longint(@ShizaiView.STANDARD)-IView;
end;
procedure SetTableDefsInventory(TableDef: PTABLEDEF);
var IView: LongInt;
begin
IView := LongInt(@InventoryView);
if TableDef^.ColumnName = 'rec_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.REC_ID)-IView
else if TableDef^.ColumnName = 'kind' then
TableDef^.ColumnOffset := Longint(@InventoryView.KIND)-IView
else if TableDef^.ColumnName = 'stk_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.STK_ID)-IView
else if TableDef^.ColumnName = 'date' then
TableDef^.ColumnOffset := Longint(@InventoryView.DATE)-IView
else if TableDef^.ColumnName = 'material_rec_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.MAT_RID)-IView
else if TableDef^.ColumnName = 'material_name' then
TableDef^.ColumnOffset := Longint(@InventoryView.MAT_NM)-IView
else if TableDef^.ColumnName = 'guage_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.GUAGE_ID)-IView
else if TableDef^.ColumnName = 'supplier_code' then
TableDef^.ColumnOffset := Longint(@InventoryView.SUP_CD)-IView
else if TableDef^.ColumnName = 'maker_code' then
TableDef^.ColumnOffset := Longint(@InventoryView.MAK_CD)-IView
else if TableDef^.ColumnName = 'maker_price' then
TableDef^.ColumnOffset := Longint(@InventoryView.MAK_PRICE)-IView
else if TableDef^.ColumnName = 'quantity' then
TableDef^.ColumnOffset := Longint(@InventoryView.QUANTITY)-IView
else if TableDef^.ColumnName = 'unit_price' then
TableDef^.ColumnOffset := Longint(@InventoryView.UNT_PRICE)-IView
else if TableDef^.ColumnName = 'total_price' then
TableDef^.ColumnOffset := Longint(@InventoryView.TTL_PRICE)-IView
else if TableDef^.ColumnName = 'use_guage' then
TableDef^.ColumnOffset := Longint(@InventoryView.use_guage)-IView
else if TableDef^.ColumnName = 'use_quantity' then
TableDef^.ColumnOffset := Longint(@InventoryView.use_quantity)-IView
else if TableDef^.ColumnName = 'use_amount' then
TableDef^.ColumnOffset := Longint(@InventoryView.use_amount)-IView
else if TableDef^.ColumnName = 'order_rec_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.ODR_RID)-IView
else if TableDef^.ColumnName = 'parts_rec_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.PAT_RID)-IView
else if TableDef^.ColumnName = 'sequal_no' then
TableDef^.ColumnOffset := Longint(@InventoryView.SEQUAL_NO)-IView
else if TableDef^.ColumnName = 'order_no' then
TableDef^.ColumnOffset := Longint(@InventoryView.HAT_RID)-IView
else if TableDef^.ColumnName = 'order_code' then
TableDef^.ColumnOffset := Longint(@InventoryView.HAT_CODE)-IView
else if TableDef^.ColumnName = 'paperno' then
TableDef^.ColumnOffset := Longint(@InventoryView.PaperNo)-IView
else if TableDef^.ColumnName = 'iss_paperno' then
TableDef^.ColumnOffset := Longint(@InventoryView.iss_paperno)-IView
else if TableDef^.ColumnName = 'inout_id' then
TableDef^.ColumnOffset := Longint(@InventoryView.Inout_id)-IView
else if TableDef^.ColumnName = 'recieve_empid' then
TableDef^.ColumnOffset := Longint(@InventoryView.recieve_EmpID)-IView
else if TableDef^.ColumnName = 'input_empid' then
TableDef^.ColumnOffset := Longint(@InventoryView.input_empid)-IView
else if TableDef^.ColumnName = 'invoice_no' then
TableDef^.ColumnOffset := Longint(@InventoryView.invoice_no)-IView
else if TableDef^.ColumnName = 'is_account' then
TableDef^.ColumnOffset := Longint(@InventoryView.is_account)-IView
else if TableDef^.ColumnName = 'is_close' then
TableDef^.ColumnOffset := Longint(@InventoryView.is_close)-IView
else if TableDef^.ColumnName = 'note' then
TableDef^.ColumnOffset := Longint(@InventoryView.NOTE)-IView;
end;
procedure SetTableDefs;
var
i: Integer;
begin
for i := 0 to TableDefCount - 1 do
case TableDefs[i].TableIndex of
0: SetTableDefsShizai(@TableDefs[i]);
1: SetTableDefsInventory(@TableDefs[i]);
end;
end;
///////////////////////////////////////////////////////////////////////////////
Function Get_PosBeforeStr(LocalStr,sPos: string): string;
begin
result := Trim(Copy(LocalStr,1,Pos(sPos,LocalStr)-1));
end;
Function Get_PosAfterStr(LocalStr,sPos: string): string;
begin
result := Trim(Copy(LocalStr,Pos(sPos,LocalStr)+1,Length(LocalStr)-1));
end;
///////////////////////////////////////////////////////////////////////////////
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -