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

📄 acr510_01.pas.svn-base

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BAS200_10, dxExEdtr, ActnList, DB, ADODB, Menus, dxCntner, dxTL,
  dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, StdCtrls,
  wwdbdatetimepicker, Buttons, dxDBTLCl, dxGrClms;

type
  TAcr510_01Form = class(TBas200_10Form)
    lblDate: TLabel;
    sbSearch: TSpeedButton;
    edtFromDate: TwwDBDateTimePicker;
    edtToDate: TwwDBDateTimePicker;
    ADOQuery1A510A_001: TWideStringField;
    ADOQuery1A510A_002: TSmallintField;
    ADOQuery1A510A_003: TSmallintField;
    ADOQuery1A510A_004: TDateTimeField;
    ADOQuery1A510A_005: TIntegerField;
    ADOQuery1A510A_006: TWideStringField;
    ADOQuery1A510A_007: TIntegerField;
    ADOQuery1A510A_008: TFloatField;
    ADOQuery1A510A_009: TFloatField;
    ADOQuery1A510A_010: TFloatField;
    ADOQuery1A510A_011: TFloatField;
    ADOQuery1A510A_012: TIntegerField;
    ADOQuery1A510A_013: TMemoField;
    ADOQuery1H150_002: TWideStringField;
    ADOQuery1H150_003: TWideStringField;
    ADOQuery1G100_002: TWideStringField;
    ADOQuery1G100_003: TWideStringField;
    ADOQuery1O150_002: TWideStringField;
    ADOQuery1O150_003: TWideStringField;
    ADOQuery1A510A_014: TDateTimeField;
    ADOQuery1A510A_015: TWideStringField;
    ADOQuery1A510A_016: TDateTimeField;
    ADOQuery1A510A_017: TWideStringField;
    ADOQuery1A510A_018: TIntegerField;
    dxDBGrid1A510A_001: TdxDBGridColumn;
    dxDBGrid1A510A_002: TdxDBGridMaskColumn;
    dxDBGrid1A510A_003: TdxDBGridMaskColumn;
    dxDBGrid1A510A_004: TdxDBGridDateColumn;
    dxDBGrid1H150_002: TdxDBGridColumn;
    dxDBGrid1H150_003: TdxDBGridColumn;
    dxDBGrid1A510A_005: TdxDBGridMaskColumn;
    dxDBGrid1A510A_006: TdxDBGridColumn;
    dxDBGrid1G100_002: TdxDBGridColumn;
    dxDBGrid1G100_003: TdxDBGridColumn;
    dxDBGrid1A510A_007: TdxDBGridMaskColumn;
    dxDBGrid1A510A_008: TdxDBGridMaskColumn;
    dxDBGrid1A510A_009: TdxDBGridMaskColumn;
    dxDBGrid1A510A_010: TdxDBGridMaskColumn;
    dxDBGrid1A510A_011: TdxDBGridMaskColumn;
    dxDBGrid1A510A_012: TdxDBGridMaskColumn;
    dxDBGrid1O150_002: TdxDBGridColumn;
    dxDBGrid1O150_003: TdxDBGridColumn;
    dxDBGrid1A510A_013: TdxDBGridMemoColumn;
    dxDBGrid1A510A_014: TdxDBGridDateColumn;
    dxDBGrid1A510A_015: TdxDBGridColumn;
    dxDBGrid1A510A_016: TdxDBGridDateColumn;
    dxDBGrid1A510A_017: TdxDBGridColumn;
    dxDBGrid1A510A_018: TdxDBGridMaskColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbSearchClick(Sender: TObject);
    procedure ADOQuery1A510A_002GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ADOQuery1A510A_003GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ADOQuery1A510A_018GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
  private
    AType:array[0..1] of string;
    AStatus:array[0..3] of string;
    AAcrType:array[0..2] of string;
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure InsertEvent; override;
    procedure UpdateEvent; override;
    procedure DeleteEvent; override;
    procedure BrowseEvent; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Acr510_01Form: TAcr510_01Form;

implementation

uses Acr510_02, CommFun, SYSDATA,CshComm,AcrComm;

{$R *.dfm}

procedure TAcr510_01Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('Acr51002001');  //	Caption
  ADOQuery1A510A_001.DisplayLabel:=GetDBString('Acr51001002');  //发票编号
  ADOQuery1A510A_002.DisplayLabel:=GetDBString('Acr51001003');  //发票类型
  ADOQuery1A510A_003.DisplayLabel:=GetDBString('Acr51001004');  //发票状态
  ADOQuery1A510A_004.DisplayLabel:=GetDBString('Acr51001005');  //发票日期
  ADOQuery1H150_002.DisplayLabel:=GetDBString('Acr51001006');  //开票员号
  ADOQuery1H150_003.DisplayLabel:=GetDBString('Acr51001007');  //开票员名
  ADOQuery1A510A_006.DisplayLabel:=GetDBString('Acr51001008');  //原始单号
  ADOQuery1G100_002.DisplayLabel:=GetDBString('Acr51001009');  //币别编号
  ADOQuery1G100_003.DisplayLabel:=GetDBString('Acr51001010');  //币别名称
  ADOQuery1A510A_008.DisplayLabel:=GetDBString('Acr51001011');  //币别汇率
  ADOQuery1A510A_009.DisplayLabel:=GetDBString('Acr51001012');  //发票金额
  ADOQuery1A510A_010.DisplayLabel:=GetDBString('Acr51001013');  //发票税额
  ADOQuery1A510A_011.DisplayLabel:=GetDBString('Acr51001014');  //应收金额
  ADOQuery1O150_002.DisplayLabel:=GetDBString('Acr51001015');  //客户编号
  ADOQuery1O150_003.DisplayLabel:=GetDBString('Acr51001016');  //客户名称
  ADOQuery1A510A_014.DisplayLabel:=GetDBString('Acr51001017');  //制单日期
  ADOQuery1A510A_015.DisplayLabel:=GetDBString('Acr51001018');  //制单人员
  ADOQuery1A510A_016.DisplayLabel:=GetDBString('Acr51001019');  //修改日期
  ADOQuery1A510A_017.DisplayLabel:=GetDBString('Acr51001020');  //修改人员
  lblDate.Caption:=GetDBString('Acr51001021');  //日期

  //发票类型(0=采购发票,1=采购退货)
  AType[0]:=GetDBString('Acr51001022');  //采购发票
  AType[1]:=GetDBString('Acr51001023');  //采购退货
  //发票状态(0=新建,1=作废,2=付款,3=完成)
  AStatus[0]:=GetDBString('Acr51001024');  //新建
  AStatus[1]:=GetDBString('Acr51001025');  //作废
  AStatus[2]:=GetDBString('Acr51001026');  //付款
  AStatus[3]:=GetDBString('Acr51001027');  //完成

  AAcrType[0]:=GetDBString('Acr51001028');  //按销售定单
  AAcrType[1]:=GetDBString('Acr51001029');  //按任务工单
end;

procedure TAcr510_01Form.FormCreate(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
  ADate:=GetServerDate;
  edtFromDate.Date:=GetMonthFirstDate(ADate);
  edtToDate.Date:=GetMonthEndDate(ADate);
  sbSearch.Click;
end;

procedure TAcr510_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
//
end;

procedure TAcr510_01Form.BrowseEvent;
begin
  inherited;
  Acr510_02Form:=TAcr510_02Form.Create(Application);
  Acr510_02Form.OpenData(ADOQuery1.FieldByName('A510A_001').AsString);
  Acr510_02Form.ShowModal;
end;

procedure TAcr510_01Form.DeleteEvent;
var
  ACode:String;
  AAccountInfo:TAccountInfo;
  AQuery:TADOQuery;
  AType:string;
begin
  inherited;
  AQuery:=TADOQuery.Create(nil);
  AQuery.Connection:=SYSDM.ADOC;

  ACode:=ADOQuery1.FieldByName('A510A_001').AsString;

  if ADOQuery1.FieldByName('A510A_003').AsInteger<>0 then
  begin
    ShowMsg('UMS10000657');    //不能删除非新建状态的销售发票
    Exit;
  end;

  //没有确定触发条件,暂停使用
  //ShowMsg('UMS10000659');  //已经收款,该销售发票不能修改

  GetAccountInfo(ACode,'ACR510','DEL',AAccountInfo,ADOQuery1.FieldByName('A510A_002').value);
  UpdateCSH610(0,AAccountInfo.ACustNo,AAccountInfo.ACurrNo,AAccountInfo.AInOut,0,AAccountInfo.ABillNo,1,AAccountInfo.ADate,AAccountInfo.AAmount,ACode,'','DEL');

  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003 as FCode from ACR510B where A510B_001='+''''+ACode+'''');
  AQuery.open;
  AQuery.First;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('delete from ACR510B where A510B_001='+''''+ACode+'''');
  SYSDM.qryQuery.ExecSQL;
  DeleteTableRecord(ADOQuery1,'ACR510A','A510A_001='+''''+ACode+'''');
  if ADOQuery1.FieldByName('A510A_018').AsInteger=0 then
    AType:='ACR510A'
  else
    AType:='ACR510B';

  AQuery.First;
  while not AQuery.Eof do
  begin
    UpdateORD510B(AQuery.FieldByName('FCode').Value,'DEL');
    if AType='ACR510B' Then UpdateTAS533(AQuery.FieldByName('FCode').Value,'DEL');
    AQuery.Next;
  end;
end;

procedure TAcr510_01Form.InsertEvent;
begin
  inherited;
//新增
  Acr510_02Form:=TAcr510_02Form.Create(Application);
  Acr510_02Form.OpenData('');
  Acr510_02Form.ActInsert.Execute;
  Acr510_02Form.ShowModal;
end;

procedure TAcr510_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

procedure TAcr510_01Form.UpdateEvent;
begin
  inherited;

end;

procedure TAcr510_01Form.sbSearchClick(Sender: TObject);
begin
  inherited;
//查询
  if (edtFromDate.Text='') or (edtToDate.Text='') then
  begin
    ShowMsg('UMS10000319');  //起止日期不可为空
    if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
    Abort;
  end;
  if edtFromDate.Date>edtToDate.Date then
  begin
    ShowMsg('UMS10000320');  //结束日期不能小于起始日期
    edtToDate.SetFocus;
    Abort;
  end;

  Screen.Cursor:=crHourGlass;
  ADOQuery1.DisableControls;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select A.*,');
  ADOQuery1.SQL.Add('    B.H150_002,B.H150_003,B.H150_004,');
  ADOQuery1.SQL.Add('    C.G100_002,C.G100_003,');
  ADOQuery1.SQL.Add('    D.O150_002,D.O150_003');
  ADOQuery1.SQL.Add('from ACR510A A,Hrm150 B,GLD100 C,ORD150 D');
  ADOQuery1.SQL.Add('where A.A510A_005=B.H150_001 and A.A510A_007=C.G100_001 and A.A510A_012=D.O150_001');
  ADOQuery1.SQL.Add('order by A.A510A_001');
  ADOQuery1.Open;
  ADOQuery1.EnableControls;
  ARecordCount:=GetDataSetCount(ADOQuery1);
  Screen.Cursor:=crDefault;
end;

procedure TAcr510_01Form.ADOQuery1A510A_002GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=AType[Sender.AsInteger];
end;

procedure TAcr510_01Form.ADOQuery1A510A_003GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=AStatus[Sender.AsInteger];
end;

procedure TAcr510_01Form.ADOQuery1A510A_018GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=AAcrType[Sender.AsInteger];
end;

initialization
  RegisterClass(TAcr510_01Form);

finalization
  UnRegisterClass(TAcr510_01Form);

end.

⌨️ 快捷键说明

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