📄 dm.pas
字号:
FykzzbBZ: TStringField;
FykzzbCZY: TStringField;
SrzclbHelp: TClientDataSet;
IntegerField26: TIntegerField;
StringField28: TStringField;
StringField34: TStringField;
BooleanField1: TBooleanField;
StringField35: TStringField;
StringField36: TStringField;
sSrzclbHelp: TDataSource;
Qtsr: TClientDataSet;
IntegerField27: TIntegerField;
IntegerField28: TIntegerField;
DateField11: TDateField;
IntegerField29: TIntegerField;
StringField37: TStringField;
StringField38: TStringField;
StringField39: TStringField;
FloatField15: TFloatField;
Qtsrzb: TClientDataSet;
IntegerField30: TIntegerField;
StringField40: TStringField;
DateField12: TDateField;
SmallintField1: TSmallintField;
StringField41: TStringField;
SmallintField2: TSmallintField;
StringField42: TStringField;
StringField43: TStringField;
StringField44: TStringField;
FloatField18: TFloatField;
StringField45: TStringField;
StringField46: TStringField;
sQtsrzb: TDataSource;
sQtsr: TDataSource;
Yhckqk: TClientDataSet;
sYhckqk: TDataSource;
YhckqkID: TIntegerField;
YhckqkJSR: TStringField;
YhckqkZCZHID: TSmallintField;
YhckqkaZCZHMC: TStringField;
YhckqkZRZHID: TSmallintField;
YhckqkaZRZHMC: TStringField;
YhckqkPH: TStringField;
YhckqkJE: TFloatField;
YhckqkBZ: TStringField;
YhckqkCZY: TStringField;
YhckqkRQ: TDateField;
XskdHelp: TClientDataSet;
IntegerField31: TIntegerField;
StringField47: TStringField;
DateField13: TDateField;
FloatField19: TFloatField;
sXskdHelp: TDataSource;
XskdHelpaKHBH: TStringField;
XskdHelpaKHMC: TStringField;
XskdHelpaXSLX: TStringField;
XsSkgc: TClientDataSet;
sXsSkgc: TDataSource;
XsSkgcDJBH: TWideStringField;
XsSkgcRQ: TDateField;
XsSkgcZJE: TFloatField;
XsSkgcBCJE: TFloatField;
CgFkgc: TClientDataSet;
WideStringField1: TWideStringField;
DateField14: TDateField;
BCDField1: TFloatField;
BCDField2: TFloatField;
sCgFkgc: TDataSource;
CgshHelp: TClientDataSet;
sCgshHelp: TDataSource;
CgshHelpID: TIntegerField;
CgshHelpDJBH: TStringField;
CgshHelpRQ: TDateField;
CgshHelpJE: TFloatField;
CgshHelpaCGLX: TStringField;
CgshHelpaGYSBH: TStringField;
CgshHelpaGYSMC: TStringField;
Thgc: TClientDataSet;
IntegerField32: TIntegerField;
IntegerField33: TIntegerField;
DateField15: TDateField;
IntegerField36: TIntegerField;
StringField48: TStringField;
StringField49: TStringField;
StringField50: TStringField;
FloatField20: TFloatField;
sThgc: TDataSource;
QtkcbdHpHelp: TClientDataSet;
sQtkcbdHpHelp: TDataSource;
QtkcbdHpHelpaBH: TWideStringField;
QtkcbdHpHelpaPM: TWideStringField;
QtkcbdHpHelpaDW: TWideStringField;
CnBb: TDCOMConnection;
HpQCJQJ: TFloatField;
XsddDJ: TFloatField;
XskdCBDJ: TFloatField;
XsthCBDJ: TFloatField;
ThgcDJ: TFloatField;
HpJQJ: TFloatField;
ZhQCJE: TFloatField;
ZhQMJE: TFloatField;
ZhITMP: TIntegerField;
XsThgc: TClientDataSet;
WideStringField2: TWideStringField;
sXsThgc: TDataSource;
XsThgcRQ: TDateField;
XsThgcSL: TFloatField;
XsThgcDJ: TFloatField;
XsThgcNSL: TFloatField;
XsThgcJE: TFloatField;
XsThgcBH: TWideStringField;
XsThgcPM: TWideStringField;
XsThgcDW: TWideStringField;
CgshzbFKQX: TIntegerField;
CgshzbYFJE2: TFloatField;
XskdzbYSJE: TFloatField;
CgshzbYFJE3: TFloatField;
XskdzbYSJE2: TFloatField;
{-Common Begin-}
procedure ReconcileError(DataSet: TClientDataSet; E: EReconcileError;
UpdateKind: TUpdateKind; var Action: TReconcileAction);
procedure DataModuleCreate(Sender: TObject);
procedure AppMenumCaptionGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ZeroToEmpty(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure SetID(DataSet: TDataSet);
{-Common End-}
procedure ConverHphsff(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure NSLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
{ ------------------------------------------------------------------------ }
procedure ZhYHLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure SrzclbSRLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure YgJSFFGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure QtkcbdlxRKLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure QtkcbdlxTHBZGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure CgddCalcFields(DataSet: TDataSet);
procedure CgshCalcFields(DataSet: TDataSet);
procedure CgfkzbBeforeOpen(DataSet: TDataSet);
procedure CgthzbBeforeOpen(DataSet: TDataSet);
procedure CgshzbBeforeOpen(DataSet: TDataSet);
procedure LlzbBeforeOpen(DataSet: TDataSet);
procedure LlCalcFields(DataSet: TDataSet);
procedure ChtjCalcFields(DataSet: TDataSet);
procedure QtkcbdzbBeforeOpen(DataSet: TDataSet);
procedure FykzzbBeforeOpen(DataSet: TDataSet);
procedure YhckqkBeforeOpen(DataSet: TDataSet);
procedure SfkfsBeforeOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Data: TData;
implementation
uses RecError, Common;
{$R *.DFM}
{-Common Begin-}
//DataModuleCreate
procedure TData.DataModuleCreate(Sender: TObject);
var
i: integer;
begin
Cn.Connected := True;
CnBb.Connected := True;
for i := 0 to ComponentCount - 1 do
if Components[i] is TNumericField then
with TNumericField(Components[i]) do
if (DisplayFormat <> '') and (EditFormat = '') then
EditFormat := StringReplace(DisplayFormat, ',', '', [rfReplaceAll]);
end;
//ReconcileError
procedure TData.ReconcileError(DataSet: TClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
// Action := HandleReconcileError(DataSet, UpdateKind, E);
Action := ComReconcileError(DataSet, UpdateKind, E);
end;
//零值变空字符串
procedure TData.ZeroToEmpty(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender is TNumericField then
if TField(Sender).AsFloat = 0 then
Text := ''
else
Text := FormatFloat(TFloatField(Sender).DisplayFormat, TField(Sender).Value);
end;
//AppMenumCaptionGetText
procedure TData.AppMenumCaptionGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
var
i : integer;
begin
Text := AppMenu.FieldByName('mCaption').AsString;
for i := 1 to AppMenu.FieldByName('mLevel').AsInteger do
Text := ' ' + Text;
Text := Copy(Text, 1, 50);
end;
//SetID
procedure TData.SetID(DataSet: TDataSet);
begin
if DataSet.State in [dsInsert] then
SetFieldValue('select iif(isnull(max(ID)), 1, max(ID)+1) from ' +
DataSet.Name + ' where ID > 0', DataSet, 'ID');
end;
{-Common End-}
//货品核算方法
procedure TData.ConverHphsff(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
case Sender.AsInteger of
1: Text := '库存商品';
2: Text := '服务/劳务';
3: Text := '其它收入';
4: Text := '其它支出';
5: Text := '折扣';
end;
end;
//税率
procedure TData.NSLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text := Sender.AsString + '%';
end;
{ ---------------------------------------------------------------------------- }
//帐户
procedure TData.ZhYHLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := '银行存款类'
else
Text := '现金类';
end;
//收入支出类别
procedure TData.SrzclbSRLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := '收入类'
else
Text := '支出类';
end;
//其它库存变动类型
procedure TData.QtkcbdlxRKLGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := '入库类'
else
Text := '出库类';
end;
procedure TData.QtkcbdlxTHBZGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := '需要'
else
Text := '不需要';
end;
//员工
procedure TData.YgJSFFGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
case Sender.AsInteger of
1: Text := '月薪';
2: Text := '计件';
end;
end;
//采购订单
procedure TData.CgddCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
DataSet.FieldByName('DJ').AsFloat *
(1 + DataSet.FieldByName('NSL').AsFloat / 100);
end;
//采购收货
procedure TData.CgshCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
DataSet.FieldByName('DJ').AsFloat *
(1 + DataSet.FieldByName('NSL').AsFloat / 100);
if DataSet.FieldByName('DDID').AsInteger = 0 then
DataSet.FieldByName('cDDBH').AsString := ''
else if DataSet.FieldByName('cDDBH').AsString = '' then
DataSet.FieldByName('cDDBH').AsString := VarToStr(GetFieldValue('select DJBH from CGDDZB where ID = ' + DataSet.FieldByName('DDID').AsString));
end;
procedure TData.CgshzbBeforeOpen(DataSet: TDataSet);
begin
if not SFKFS.Active then
SFKFS.Active := True;
if not CK.Active then
CK.Active := True;
end;
//采购付款
procedure TData.CgfkzbBeforeOpen(DataSet: TDataSet);
begin
if not SFKFS.Active then
SFKFS.Active := True;
end;
//采购退款
procedure TData.CgthzbBeforeOpen(DataSet: TDataSet);
begin
if not SFKFS.Active then
SFKFS.Active := True;
if not CK.Active then
CK.Active := True;
end;
//领料
procedure TData.LlzbBeforeOpen(DataSet: TDataSet);
begin
if not CK.Active then
CK.Active := True;
end;
procedure TData.LlCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
DataSet.FieldByName('DJ').AsFloat;
end;
//存库调价
procedure TData.ChtjCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
(DataSet.FieldByName('DJ').AsFloat - DataSet.FieldByName('JDJ').AsFloat);
end;
//其它库存变动
procedure TData.QtkcbdzbBeforeOpen(DataSet: TDataSet);
begin
if not CK.Active then
CK.Active := True;
if not QTKCBDLX.Active then
QTKCBDLX.Active := True;
end;
//费用开支
procedure TData.FykzzbBeforeOpen(DataSet: TDataSet);
begin
if not SFKFS.Active then
SFKFS.Active := True;
end;
//银行存款/取款
procedure TData.YhckqkBeforeOpen(DataSet: TDataSet);
begin
if not ZH.Active then
ZH.Active := True;
end;
//收付款方式
procedure TData.SfkfsBeforeOpen(DataSet: TDataSet);
begin
if not ZH.Active then
ZH.Active := True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -