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

📄 inv500_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
unit Inv500_02;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas200_13, DB, ADODB, ActnList, Menus, ComCtrls, ToolWin,
  StdCtrls, wwdbdatetimepicker, Buttons, Mask, wwdbedit, Wwdotdot, Grids,
  Wwdbigrd, Wwdbgrid, dxdbtrel;

type
  TInv500_02Form = class(TBas200_13Form)
    lblType: TLabel;
    lblWhs: TLabel;
    sbWhs: TSpeedButton;
    SpeedButton1: TSpeedButton;
    lblSummary: TLabel;
    lblRemark: TLabel;
    lblCurr: TLabel;
    lblDate: TLabel;
    lblCust: TLabel;
    sbCust: TSpeedButton;
    lblOrder: TLabel;
    edtWhs: TEdit;
    memRemark: TMemo;
    edtSummary: TEdit;
    edtWhsName: TEdit;
    cbCurr: TComboBox;
    edtRate: TEdit;
    edtDate: TwwDBDateTimePicker;
    edtCust: TEdit;
    edtCustName: TEdit;
    edtOrder: TEdit;
    cbType: TComboBox;
    PageControl1: TPageControl;
    tsItem: TTabSheet;
    wwDBGrid1: TwwDBGrid;
    edtItem: TwwDBComboDlg;
    edtUnit: TwwDBComboDlg;
    edtLoc: TwwDBComboDlg;
    qryInv550: TADOQuery;
    qryInv100: TADOQuery;
    qryGld100: TADOQuery;
    qryInv500B: TADOQuery;
    qryInv150: TADOQuery;
    qryInv110: TADOQuery;
    qryInv140: TADOQuery;
    adsInv500B: TADODataSet;
    dsInv500B: TDataSource;
    qryInv100I100_001: TAutoIncField;
    qryInv100I100_002: TWideStringField;
    qryInv100I100_003: TWideStringField;
    dsInv100: TDataSource;
    lblObjTyp: TLabel;
    cbObjTyp: TComboBox;
    edtPost: TEdit;
    lblPost: TLabel;
    qryOrd150: TADOQuery;
    qryOrd150FNo: TAutoIncField;
    qryOrd150FCode: TWideStringField;
    qryOrd150FName: TWideStringField;
    ADOQuery1I500A_001: TWideStringField;
    ADOQuery1I500A_002: TIntegerField;
    ADOQuery1I500A_003: TWideStringField;
    ADOQuery1I500A_004: TDateTimeField;
    ADOQuery1I500A_005: TSmallintField;
    ADOQuery1I500A_006: TIntegerField;
    ADOQuery1I500A_007: TWideStringField;
    ADOQuery1I500A_008: TIntegerField;
    ADOQuery1I500A_009: TFloatField;
    ADOQuery1I500A_010: TIntegerField;
    ADOQuery1I500A_011: TMemoField;
    ADOQuery1I500A_012: TDateTimeField;
    ADOQuery1I500A_013: TWideStringField;
    ADOQuery1I500A_014: TDateTimeField;
    ADOQuery1I500A_015: TWideStringField;
    ADOQuery1I500A_016: TBooleanField;
    ADOQuery1I550_001: TAutoIncField;
    ADOQuery1I550_002: TWideStringField;
    ADOQuery1I550_003: TWideStringField;
    ADOQuery1I550_004: TSmallintField;
    ADOQuery1I550_005: TSmallintField;
    ADOQuery1I550_006: TBooleanField;
    ADOQuery1I550_007: TSmallintField;
    ADOQuery1I550_008: TWideStringField;
    ADOQuery1I550_009: TIntegerField;
    ADOQuery1I550_010: TSmallintField;
    ADOQuery1I550_011: TWideStringField;
    ADOQuery1G100_001: TAutoIncField;
    ADOQuery1G100_002: TWideStringField;
    ADOQuery1G100_003: TWideStringField;
    ADOQuery1I100_001: TAutoIncField;
    ADOQuery1I100_002: TWideStringField;
    ADOQuery1I100_003: TWideStringField;
    qryInv150I150_001: TAutoIncField;
    qryInv150I150_002: TWideStringField;
    qryInv150I150_003: TWideStringField;
    qryInv150I150_004: TWideStringField;
    qryInv150I140_001: TAutoIncField;
    qryInv150I140_002: TWideStringField;
    qryInv150I140_003: TWideStringField;
    qryInv110I110_001: TAutoIncField;
    qryInv110I110_002: TIntegerField;
    qryInv110I110_003: TWideStringField;
    qryInv110I110_004: TWideStringField;
    qryInv140I140_001: TAutoIncField;
    qryInv140I140_002: TWideStringField;
    qryInv140I140_003: TWideStringField;
    adsInv500BFNo: TIntegerField;
    adsInv500BFItemNo: TIntegerField;
    adsInv500BFItemID: TStringField;
    adsInv500BFItemName: TStringField;
    adsInv500BFItemSpec: TStringField;
    adsInv500BFUnitNo: TIntegerField;
    adsInv500BFUnitID: TStringField;
    adsInv500BFUnitName: TStringField;
    adsInv500BFUnitRate: TFloatField;
    adsInv500BFQty: TFloatField;
    adsInv500BFPrice: TFloatField;
    adsInv500BFAmount: TFloatField;
    adsInv500BFLocNo: TIntegerField;
    adsInv500BFLocID: TStringField;
    adsInv500BFLocName: TStringField;
    adsInv500BFDate: TDateTimeField;
    adsInv500BFLot: TStringField;
    adsInv500BFFromOrder: TStringField;
    adsInv500BFFromLine: TIntegerField;
    adsInv500BFOrdQty: TFloatField;
    adsInv500BFRemark: TStringField;
    ADODataSet1: TADODataSet;
    cbDept: TdxLookupTreeView;
    ADOQuery1FCode: TStringField;
    ADOQuery1FName: TStringField;
    dsHrm100: TDataSource;
    qryHrm100: TADOQuery;
    qryHrm150: TADOQuery;
    qryHrm150FNo: TAutoIncField;
    qryHrm150FCode: TWideStringField;
    qryHrm150FName: TWideStringField;
    qryHrm100FNo: TAutoIncField;
    qryHrm100FCode: TWideStringField;
    qryHrm100FName: TWideStringField;
    qryHrm100FParent: TIntegerField;
    adsInv500BFFinish: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure wwDBGrid1UpdateFooter(Sender: TObject);
    procedure sbWhsClick(Sender: TObject);
    procedure edtWhsExit(Sender: TObject);
    procedure sbCustClick(Sender: TObject);
    procedure edtCustExit(Sender: TObject);
    procedure ADOQuery1CalcFields(DataSet: TDataSet);
    procedure cbObjTypChange(Sender: TObject);
    procedure cbTypeChange(Sender: TObject);
    procedure ADOQuery1I500A_005GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure edtItemCustomDlg(Sender: TObject);
    procedure edtLocCustomDlg(Sender: TObject);
    procedure edtUnitCustomDlg(Sender: TObject);
    procedure ADOQuery1I500A_016GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure adsInv500BNewRecord(DataSet: TDataSet);
    procedure wwDBGrid1Exit(Sender: TObject);
    procedure wwDBGrid1Enter(Sender: TObject);
    procedure adsInv500BBeforePost(DataSet: TDataSet);
    procedure wwDBGrid1ColExit(Sender: TObject);
    procedure ActPrintExecute(Sender: TObject);
  private
    ALastNo:Integer;
    AObjTyp:array[0..3] of string;
    APost:array[0..1] of string;
    ABusy:Boolean;
    ASeqNo:Integer;
    procedure SetDBGridA;
    procedure GetDetailData;
    procedure CheckItem;
    procedure CheckUnit;
    procedure CheckLoc;
    procedure CheckQty;
    { Private declarations }
  public
    procedure OpenData(ACode:String);
    procedure SetInterface; override;
    procedure GetDataInfo; override;
    procedure InsertEvent; override;
    procedure UpdateEvent; override;
    procedure DeleteEvent; override;
    procedure SetEmptyInit; override;
    procedure TableBeforePost; override;
    procedure TableAfterPost; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Inv500_02Form: TInv500_02Form;

implementation

uses SYSDATA, CommFun, InvComm, HwSelData, HwSelDataA;

{$R *.dfm}

procedure TInv500_02Form.SetDBGridA;
var
  I:Integer;
begin
  for I:=0 to wwDBGrid1.Selected.Count-1 do
  begin
    wwDBGrid1.Columns[I].ReadOnly:=True;
  end;

  wwDBGrid1.ColumnByName('FItemID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FUnitID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FQty').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FLocID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;

  adsInv500B.FieldByName('FLocID').Visible:=not qryInv110.IsEmpty;
  adsInv500B.FieldByName('FLocName').Visible:=not qryInv110.IsEmpty;

  //进仓的操作类型,允许输入价格和金额 (0=期初,1=入仓)
  wwDBGrid1.ColumnByName('FPrice').ReadOnly:=not (qryInv550.FieldByName('I550_004').AsInteger in [0,1]);
  wwDBGrid1.ColumnByName('FAmount').ReadOnly:=not (qryInv550.FieldByName('I550_004').AsInteger in [0,1]);
  wwDBGrid1.Refresh;
end;

procedure TInv500_02Form.OpenData(ACode:String);
begin
  if ACode='' then AMode:='ADD' else AMode:='UPD';
  ADOQuery1.DisableControls;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select A.*,');
  ADOQuery1.SQL.Add('       B.*,');
  ADOQuery1.SQL.Add('       C.G100_001,C.G100_002,C.G100_003,');
  ADOQuery1.SQL.Add('       D.I100_001,D.I100_002,D.I100_003');
  ADOQuery1.SQL.Add('from INV500A A,INV550 B,GLD100 C,INV100 D');
  ADOQuery1.SQL.Add('where I500A_002=I550_001 and I500A_008=G100_001 and I500A_010=I100_001');
  ADOQuery1.SQL.Add('order by I500A_001');
  ADOQuery1.Open;
  ADOQuery1.Locate('I500A_001',ACode,[]);
  ADOQuery1.EnableControls;
  ADOQuery1AfterScroll(ADOQuery1);
end;

procedure TInv500_02Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('INV50002001');  //料品进出处理
  gbInfo.Caption:=GetDBString('INV50002002');  //基本信息
  lblCode.Caption:=GetDBString('INV50002003');  //进出单号
  lblSummary.Caption:=GetDBString('INV50002004');  //摘要说明
  lblPost.Caption:=GetDBString('INV50002005');  //已过帐否
  lblWhs.Caption:=GetDBString('INV50002006');  //仓库编号
  lblType.Caption:=GetDBString('INV50002007');  //操作类型
  lblDate.Caption:=GetDBString('INV50002008');  //进出日期
  lblCurr.Caption:=GetDBString('INV50002009');  //币别名称
  lblOrder.Caption:=GetDBString('INV50002010');  //相关单号
  lblCust.Caption:=GetDBString('INV50002020');  //对象编号
  lblRemark.Caption:=GetDBString('INV50002012');  //备注说明
  tsItem.Caption:=GetDBString('INV50002013');  //料品信息
  lblObjTyp.Caption:=GetDBString('INV50002019');  //对象类型

  ADOQuery1I500A_001.DisplayLabel:=GetDBString('INV50002014');  //进出单号
//  ADOQuery1I500A_002.DisplayLabel:=GetDBString('INV50002015');  //
  ADOQuery1I550_002.DisplayLabel:=GetDBString('INV50002015');  //类型编号
  ADOQuery1I550_003.DisplayLabel:=GetDBString('INV50002016');  //类型名称
  ADOQuery1I500A_003.DisplayLabel:=GetDBString('INV50002017');  //摘要说明
  ADOQuery1I500A_004.DisplayLabel:=GetDBString('INV50002018');  //进出日期
  ADOQuery1I500A_005.DisplayLabel:=GetDBString('INV50002019');  //对象类型
//  ADOQuery1I500A_006.DisplayLabel:=GetDBString('INV50002020');  //
  ADOQuery1FCode.DisplayLabel:=GetDBString('INV50002020');  //对象编号
  ADOQuery1FName.DisplayLabel:=GetDBString('INV50002021');  //对象名称
  ADOQuery1I500A_007.DisplayLabel:=GetDBString('INV50002022');  //相关单据
//  ADOQuery1I500A_008.DisplayLabel:=GetDBString('INV50002023');  //
  ADOQuery1G100_002.DisplayLabel:=GetDBString('INV50002023');  //币别编号
  ADOQuery1G100_003.DisplayLabel:=GetDBString('INV50002024');  //币别名称
  ADOQuery1I500A_009.DisplayLabel:=GetDBString('INV50002025');  //币别汇率
  ADOQuery1I500A_010.DisplayLabel:=GetDBString('INV50002026');  //仓库编号
  ADOQuery1I500A_011.DisplayLabel:=GetDBString('INV50002027');  //备注说明
  ADOQuery1I500A_012.DisplayLabel:=GetDBString('INV50002028');  //制单日期
  ADOQuery1I500A_013.DisplayLabel:=GetDBString('INV50002029');  //制单人员
  ADOQuery1I500A_014.DisplayLabel:=GetDBString('INV50002030');  //修改日期
  ADOQuery1I500A_015.DisplayLabel:=GetDBString('INV50002031');  //修改人员
  ADOQuery1I500A_016.DisplayLabel:=GetDBString('INV50002032');  //已过帐否

  wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('INV50002033');  //料品编号
  wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('INV50002034');  //料品名称
  wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('INV50002035');  //规格型号
  wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('INV50002036');  //单位编号
  wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('INV50002037');  //单位名称
  wwDBGrid1.ColumnByName('FUnitRate').DisplayLabel:=GetDBString('INV50002062');  //单位转换
  wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('INV50002038');  //进出数量
  wwDBGrid1.ColumnByName('FOrdQty').DisplayLabel:=GetDBString('INV50002039');  //应收发量
  wwDBGrid1.ColumnByName('FPrice').DisplayLabel:=GetDBString('INV50002040');  //进出单价
  wwDBGrid1.ColumnByName('FAmount').DisplayLabel:=GetDBString('INV50002041');  //进出金额
  wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('INV50002042');  //生产日期
  wwDBGrid1.ColumnByName('FLot').DisplayLabel:=GetDBString('INV50002043');  //生产批号
  wwDBGrid1.ColumnByName('FRemark').DisplayLabel:=GetDBString('INV50002044');  //备注说明

  qryOrd150FCode.DisplayLabel:=GetDBString('INV50002045');  //对象编号
  qryOrd150FName.DisplayLabel:=GetDBString('INV50002046');  //对象名称

  qryHrm150FCode.DisplayLabel:=qryOrd150FCode.DisplayLabel;  //对象编号
  qryHrm150FName.DisplayLabel:=qryOrd150FName.DisplayLabel;  //对象名称

  qryInv150I150_002.DisplayLabel:=GetDBString('INV50002047');  //产品编号
  qryInv150I150_003.DisplayLabel:=GetDBString('INV50002048');  //产品名称
  qryInv150I150_004.DisplayLabel:=GetDBString('INV50002049');  //规格型号
  qryInv150I140_002.DisplayLabel:=GetDBString('INV50002050');  //单位编号
  qryInv150I140_003.DisplayLabel:=GetDBString('INV50002051');  //单位名称

  qryInv110I110_003.DisplayLabel:=GetDBString('INV50002052');  //库位编号
  qryInv110I110_004.DisplayLabel:=GetDBString('INV50002053');  //库位名称

  qryInv140I140_002.DisplayLabel:=GetDBString('INV50002054');  //单位编号

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -