📄 frminp.pas
字号:
unit FrmINp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, dxExEdtr, dfsSplitter, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, DB, ADODB, dxDBTLCl, dxGrClms, DBCtrls, ComCtrls,
Buttons, xmldom, XMLIntf, msxmldom, XMLDoc;
type
TFrmIN = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
btnText: TButton;
Panel3: TPanel;
dxDBGrid1: TdxDBGrid;
dfsSplitter1: TdfsSplitter;
dxDBGrid2: TdxDBGrid;
Bevel1: TBevel;
QryIn: TADOQuery;
dsQryIn: TDataSource;
QryInList: TADOQuery;
dsQryInList: TDataSource;
dxDBGrid1cMaker: TdxDBGridMaskColumn;
dxDBGrid1cOrderCode: TdxDBGridMaskColumn;
dxDBGrid1cVenAbbName: TdxDBGridMaskColumn;
dxDBGrid1cDeptName: TdxDBGridMaskColumn;
dxDBGrid1cWhName: TdxDBGridMaskColumn;
dxDBGrid2cInvCode: TdxDBGridMaskColumn;
dxDBGrid2cInvName: TdxDBGridMaskColumn;
dxDBGrid2cInvStd: TdxDBGridMaskColumn;
dxDBGrid2cBarCode: TdxDBGridMaskColumn;
dxDBGrid2iQuantity: TdxDBGridMaskColumn;
dxDBGrid2iUnitCost: TdxDBGridMaskColumn;
dxDBGrid2iPrice: TdxDBGridCurrencyColumn;
CheckBox1: TCheckBox;
Panel4: TPanel;
Panel5: TPanel;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
Label1: TLabel;
Label2: TLabel;
CheckBox2: TCheckBox;
dxDBGrid1cType: TdxDBGridColumn;
dxDBGrid1cPersonName: TdxDBGridColumn;
GroupBox2: TGroupBox;
Date1: TDateTimePicker;
btnCheck: TButton;
LsQryPop: TADOQuery;
btnOutHead: TSpeedButton;
btnOutBody: TSpeedButton;
sbDelete: TSpeedButton;
SpeedButton1: TSpeedButton;
BtnSave: TBitBtn;
QryCheckPo: TADOQuery;
btnXML: TButton;
QryCheckType: TADOQuery;
dxDBGrid1cc: TdxDBGridColumn;
QryInListcc: TStringField;
QryInListID: TAutoIncField;
QryInListPCID: TStringField;
QryInListiPurID: TIntegerField;
QryInListcInvCode: TStringField;
QryInListcInvName: TStringField;
QryInListcInvStd: TStringField;
QryInListcBarCode: TStringField;
QryInListiQuantity: TFloatField;
QryInListiUnitCost: TFloatField;
QryInListiPrice: TBCDField;
QryInListiPosID: TIntegerField;
dxDBGrid2cc: TdxDBGridColumn;
QryInListcError: TStringField;
dxDBGrid2cError: TdxDBGridColumn;
dxDBGrid1cError: TdxDBGridColumn;
Label3: TLabel;
SaveDialog1: TSaveDialog;
QryInListiArrsId: TIntegerField;
RadioButton3: TRadioButton;
QryInid: TAutoIncField;
QryIncMaker: TStringField;
QryInPCID: TStringField;
QryIncVouchType: TStringField;
QryIncOrderCode: TStringField;
QryInipurorderid: TIntegerField;
QryIncType: TStringField;
QryIncVenCode: TStringField;
QryIncVenAbbName: TStringField;
QryIncDept: TStringField;
QryIncDeptName: TStringField;
QryIncPerson: TStringField;
QryIncPersonName: TStringField;
QryIncWhCode: TStringField;
QryIncWhName: TStringField;
QryIncPTCode: TStringField;
QryIncRdCode: TStringField;
QryIncMemo: TStringField;
QryInipurarriveid: TIntegerField;
QryInListcVouchType: TStringField;
QryIncCusCode: TStringField;
QryIncPTName: TStringField;
QryIncc: TStringField;
QryIncError: TStringField;
QryInListiDLsID: TIntegerField;
QryInListcFree1: TStringField;
QryInListcFree2: TStringField;
dxDBGrid2cFree1: TdxDBGridColumn;
dxDBGrid2cFree2: TdxDBGridColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnTextClick(Sender: TObject);
procedure FindList;
procedure QryInListAfterScroll(DataSet: TDataSet);
procedure QryInAfterScroll(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure QryInBeforePost(DataSet: TDataSet);
procedure btnOutHeadClick(Sender: TObject);
procedure btnOutBodyClick(Sender: TObject);
procedure QryInListBeforeEdit(DataSet: TDataSet);
procedure QryInBeforeEdit(DataSet: TDataSet);
procedure CheckPo;
procedure CheckPurArv;
procedure btnCheckClick(Sender: TObject);
procedure LsQryPopBeforeEdit(DataSet: TDataSet);
Procedure UpdateType(cType:String);
Procedure UpdateVen;
Procedure UpdatePurArv;
procedure sbDeleteClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
Procedure RefData;
procedure btnXMLClick(Sender: TObject);
procedure dxDBGrid2CustomDrawFooter(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
procedure QryInListCalcFields(DataSet: TDataSet);
procedure QryInAfterPost(DataSet: TDataSet);
procedure QryInCalcFields(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmIN: TFrmIN;
implementation
uses SUFunctionP, DataDmP, FrmMainP, FrmPoPInvP, FrmPoPPoP, FrmPoPTypeP;
{$R *.dfm}
procedure TFrmIN.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DataDm.DeleteTabe('Szb_PurIn','01');
DataDm.DeleteTabe('Szb_PurInList','01');
Action:=caFree;
FrmIN:=nil;
end;
procedure TFrmIN.btnTextClick(Sender: TObject);
begin
if RadioButton1.Checked then
FrmMain.ReadTxtFile('PI.TXT','1','01',QryIn);
if RadioButton2.Checked then
FrmMain.ReadTxtFile('PI.TXT','2','01',QryIn);
if RadioButton3.Checked then
FrmMain.ReadTxtFile('PI.TXT','0','01',QryIn);
FindList;
btnCheck.Enabled:=True;
btnCheck.Click;
end;
procedure TFrmIN.FindList;
Var ii:Integer;
begin
QryInList.Close;
if QryIn.RecordCount=0 then Exit;
ii:=QryIn.FieldByName('ID').AsInteger;
QryInList.SQL.Clear;
QryInList.SQL.Add('select * from Szb_PurInList');
QryInList.SQL.Add('Where (PCID='''+FrmMain.PCID+''')');
QryInList.SQL.Add(' And (iPurID='+IntToStr(II)+')');
QryInList.Open;
Label1.Caption:='记录:'+IntToStr(QryIn.RecNo)+'/'+IntToStr(QryIn.RecordCount);
Label2.Caption:='记录:'+IntToStr(QryInList.RecNo)+'/'+IntToStr(QryInList.RecordCount);
end;
procedure TFrmIN.QryInListAfterScroll(DataSet: TDataSet);
begin
Label2.Caption:='记录:'+IntToStr(QryInList.RecNo)+'/'+IntToStr(QryInList.RecordCount);
end;
procedure TFrmIN.QryInAfterScroll(DataSet: TDataSet);
begin
if CheckBox1.Checked then
FindList;
end;
procedure TFrmIN.FormShow(Sender: TObject);
begin
CheckBox2.Checked:=False;
date1.Date:=Date();
SUFunction.SetGridColor(dxDBGrid1);
SUFunction.SetGridColor(dxDBGrid2);
end;
procedure TFrmIN.QryInBeforePost(DataSet: TDataSet);
Var II:Integer;
begin
II:=Application.MessageBox('数据已修改,是否保存?','信息',MB_YESNOCANCEL+ MB_ICONINFORMATION);
if II=IDNO then
begin
QryIn.Cancel;
Abort;
end;
if II=IDCANCEL then
begin
Abort;
end;
end;
procedure TFrmIN.btnOutHeadClick(Sender: TObject);
begin
SUFunction.DBGridSaveToFile(dxDBGrid1,'采购入库单.xls');
end;
procedure TFrmIN.btnOutBodyClick(Sender: TObject);
begin
SUFunction.DBGridSaveToFile(dxDBGrid2,'采购入库单表体.xls');
end;
procedure TFrmIN.QryInListBeforeEdit(DataSet: TDataSet);
begin
Abort;
end;
procedure TFrmIN.QryInBeforeEdit(DataSet: TDataSet);
begin
if not CheckBox2.Checked then Abort;
end;
procedure TFrmIN.btnCheckClick(Sender: TObject);
begin
btnXML.Enabled:=False;
FrmMain.UpdateNull(0,'01');
FrmMain.CheckInv('01');
FrmMain.UpdateInv('01');
if RadioButton1.Checked then
begin
FrmMain.CheckType('采购订单','01');
UpdateType('采购订单');
CheckPo;
end;
if RadioButton2.Checked then
begin
FrmMain.CheckType('采购到货单','01');
UpdateType('采购到货单');
CheckPurArv;
end;
FrmMain.SumNumber('01',Label3);
RefData;
btnXML.Enabled:=True;
end;
procedure TFrmIN.LsQryPopBeforeEdit(DataSet: TDataSet);
begin
Abort;
end;
procedure TFrmIN.sbDeleteClick(Sender: TObject);
begin
CheckBox1.Checked:=False;
FrmMain.DeleteRD(QryIn);
FindList;
CheckBox1.Checked:=True;
FrmMain.SumNumber('01',Label3);
end;
procedure TFrmIN.SpeedButton1Click(Sender: TObject);
Var ii,kk,nn: Integer;
begin
ii:=QryIn.FieldByName('ID').AsInteger;
kk:=QryInList.FieldByName('ID').AsInteger;
nn:=QryInList.RecNo;
FrmMain.DeleteRDS(ii,kk);
FindList;
QryInList.MoveBy(nn-1);
FrmMain.SumNumber('01',Label3);
end;
procedure TFrmIN.BtnSaveClick(Sender: TObject);
begin
if (QryIn.State = dsEdit) or (QryIn.State = dsInsert) then
QryIn.Post;
btnCheck.Click;
end;
procedure TFrmIN.CheckPo;
Var LsQry:TADOQuery;
begin
QryCheckPo.Close;
QryCheckPo.SQL.Clear;
QryCheckPo.SQL.Add('SELECT dbo.Szb_PurIn.ID,dbo.Szb_PurIn.cOrderCode');
QryCheckPo.SQL.Add('FROM dbo.Szb_PurIn LEFT OUTER JOIN');
QryCheckPo.SQL.Add(' dbo.PO_Pomain ON dbo.Szb_PurIn.cOrderCode = dbo.PO_Pomain.cPOID');
QryCheckPo.SQL.Add('WHERE (dbo.PO_Pomain.cPOID IS NULL)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -