📄 acr510_01.pas.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 + -