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

📄 frminp.pas

📁 二次开发模块 一、条形码的批量生成
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -