⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 invdef.pas

📁 文件包含程序源原文件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    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 + -