📄 systemmessageunit.pas
字号:
//****************************************************************************//
// //
// 产品 : EOL 普及版 //
// 单元 : //
// 版本 : 1.0 //
// 作者 : //
// 描述 : 系统消息定义 //
// 日期 : 2000-08-24 //
// //
// COPYRIGHT (C) 2000 START-TECH. //
// //
// //
// 说明 : 错误以 'E' 为首 //
// 警告以 'W' 为首 //
// 信息以 'I' 为首 //
// //
// 增加消息时按照字母序列排序。 //
// //
// 消息号码范围: //
// 1 - 999 错误 //
// 1000 - 1999 警告 //
// 2000 - 2999 信息 //
// 3000- 3999 询问 //
// 常见消息定义在每段消息范围的上半部分,不常见消息定义在下半段。 //
// //
// 修订 : //
//****************************************************************************//
unit SystemMessageUnit;
interface
uses SysUtils;
const
EAppserError=1;
EAccountError=2;
ELoginError=3;
EActDBSError=4;
EActAppError=5;
EActGetAccounts=6;
ESaveError=100;
EBillNoRuleData = 200;
EBillDateFormatInValid = 201;
EBillNumTooLong = 202;
EBillFixLen=203;
EBillVarLen=204;
EBillMustHasNum=205;
EBillAMountLen=206;
EParamError=207;
ENOCompanyCode=208;
ENoBillNo=209;
ENoVendCust=210;
ENODepartment=211;
EInvalidEmp=212;
ENOTaxMethod=213;
ENoDetail=214;
EItemError=215;
EQtyError=216;
EMeasureError=217;
EInvalidSrcBill=218;
ESrcNotAudit=219;
ESrcNotOpen=220;
ESaveOptionError=221;
EDateError=222;
ENotFoundBill=223;
EBillNoConfirm=224;
EAuditbutCLosed=225;
EConfirmbutCLosed=226;
EOutofSrcQty=227;
EDeauitbutClosed=228;
EDeauitbutNoAudit=229;
ESuccBillNoDeaudit=230;
EConfirmButError=231;
EDeconfirmButNoConfirm=232;
EDeConfirmButCLosed=233;
EBalanced=234;
EConvertMeasure=235;
EBillRuleRep=236;
ENoStockRecord=237;
EOutOfStkQty=238;
ECannotMultiBatch=239;
ENoSameBatMeasure=240;
ECannotAuditPDCRK=241;
EPDCannotAudit=242;
EMultiItemOnALoc=243;
ENoSetStartDate=244;
ENoDefinePeriod=245;
EPriorPeriodNotAudit=246;
EAlreadyAudit=247;
ENextAudited=248;
ENotCheck=249;
ENotFindRecord=250;
EOutofRPDetailQty=251;
EOutofPaymentQty=252;
EException=999;
WInvaidDisCount = 1001;
QIsSave=3001;
{ 消息显示函数 }
function ShowDialog(ErrNo: Integer):Integer;
function ShowParamDialog(ErrNo: Integer;Paras: Array of const): Integer;
{ 内部函数,内部使用 }
function GetMessage(ErrNo: Integer): string;
function _ShowDialog(ErrNo:Integer;ErrString: string): Integer;
implementation
uses GlobalUnit;
function ShowDialog(ErrNo: Integer):Integer;
var
ErrString: string;
begin
ErrString := GetMessage(ErrNo);
Result := _ShowDialog(ErrNo,ErrString);
end;
function ShowParamDialog(ErrNo: Integer;Paras: Array of const): Integer;
var
ErrString: string;
begin
try
ErrString := Format(GetMessage(ErrNo),Paras);
except
StringReplace(ErrString,'%s','???',[rfReplaceAll]);
end;
Result := _ShowDialog(ErrNo,ErrString);
end;
function _ShowDialog(ErrNo:integer;ErrString: string):integer ;
begin
if ErrNo > 3000 then
Result := Global.AccessDialog.ShowQuestion(ErrString)
else if ErrNo > 2000 then
Result := Global.AccessDialog.ShowInformation(ErrString)
else if ErrNo > 1000 then
Result := Global.AccessDialog.ShowWarning(ErrString)
else
Result := Global.AccessDialog.ShowError(ErrString);
end;
function GetMessage(ErrNo: Integer): string;
begin
case ErrNo of
EException:Result:='程序意外错误!';{999}
EAppserError:Result:='不能连接到应用服务器,请用运行设置程序检查设置的参数!';{1}
EAccountError:Result:='不能进入所选帐套!';{2}
ELoginError:Result:='注册失败!';{3}
EActDBSError:Result:='连接帐套信息数据库失败,请用运行设置程序检查设置的参数!';{4}
EActAppError:Result:='连接帐套中间层函数出错';{5}
EActGetAccounts:Result:='取帐套中间层函数出错';{6}
ESaveError:Result:='保存数据不成功!';{100}
EBillNoRuleData : Result := '单据号码规则表数据错误!'; {200}
EBillDateFormatInValid : Result := '单据号码规则日期格式错误!'; {201}
EBillNumTooLong:Result:='单据序号长度必须大于0小10!';{202}
EBillFixLen:Result:='固定字符串长度必须大于0小10!';{203}
EBillVarLen:Result:='可变字符串长度必须大于0小10!';{204}
EBillMustHasNum:Result:='单据必须至少有一个序号部分!';{205}
// EBillAmountLen:Result:=Format('单据总长度必须小于%d!',[MaxBillNoLen]);{205}
EBillAmountLen:Result:='单据总长度太长';{205}
EParamError:Result:='参数设置错误!';{207}
ENoCompanyCode:Result:='缺少公司代码!';{208}
ENoBillNo:Result:='缺少单据号!';{209}
ENoVendCust:Result:='缺少往来单位或没定义此往来单位!';{210}
ENoDepartment:Result:='缺少部门或未定义此部门!';{211}
EInvalidEmp:Result:='未定义此职员!';{212}
ENOTaxMethod:Result:='缺少扣税方式!';{213}
ENODetail:Result:='没有明细表数据!';{214}
EItemError:Result:='没有商品或未定义此商品';{215}
EQTyError:Result:='数量不能是0!';{216}
EMeasureError:Result:='商品计量单位错误!';{217}
EInvalidSrcBill:Result:='来源单无效!';{218}
ESrcNotAudit:Result:='来源单未审核!';{219}
ESrcNotOpen:Result:='来源单已关闭!';{220}
ESaveOptionError:Result:='保存系统配置时发生错误!';{221}
EDateError:Result:='输入日期错误!';{222}
ENotFoundBill:Result:='意外错误:没找到此单据!';{223}
EBillNoConfirm:Result:='单据未确认,不能审核!';{224}
EAuditbutCLosed:Result:='单据已关闭,不能审核!';{225}
EConfirmbutCLosed:Result:='单据已关闭,不能确认!';{226}
EOutofSrcQty:Result:='单据商品数量超过了来源单的未转出数量,不能审核!';{227}
EDeauitbutClosed:Result:='单据已关闭,不能消审!';{228}
EDeauitbutNoAudit:Result:='单据未审核,不能消审!';{229}
ESuccBillNoDeaudit:Result:='后续单据已审核,不能消审!';{230}
EConfirmButError:Result:='已审核、已确认或作废的单据不能再确认!';{231}
EDeconfirmButNoConfirm:Result:='已审核或作废的单据不能反确认!';{232}
EDeConfirmButCLosed:Result:='单据已关闭,不能反确认!';{233}
EBalanced:Result:='当前会计期间已结帐,不能审核/消审单据!';{234}
EConvertMeasure:Result:='转换计量单位错误!';{235}
EBillRuleRep:Result:='单据号规则定义与其它类型单据重复,可能造成数据错误!';{236}
ENoStockRecord:Result:='该库房没有存放此商品,不能审核!';{237}
EOutOfStkQty:Result:='库存数量不足,不能审核!';{238}
ECannotMultiBatch:Result:='同一库位不能放多个批号或多计量单位的商品!';{239}
ENoSameBatMeasure:Result:='没有相同批号、计量单位的库位记录,不能出库!';{240}
ECannotAuditPDCRK:Result:='不能审核/消审盘赢盘亏单(可通过盘点单审核/消审完成)!';{241}
EPDCannotAudit:Result:='商品正在盘点,不能进行出入库!';{242}
EMultiItemOnALoc:Result:='不同商品不能防在同一库位!';{243}
ENoSetStartDate:Result:='没定义启用日期的系统选项!';{244}
ENoDefinePeriod:Result:='没有定义当前会计期间!';{245}
EPriorPeriodNotAudit:Result:='上一会计期间未结存!';{246}
EAlreadyAudit:Result:='本会计期间已结存!';{247}
ENextAudited:Result:='下一会计期间已结存,不能反结!';{248}
ENotCheck:Result:=' 本会计期间未结存,不能反结!';{249}
ENotFindRecord:Result:='在库房中没有找到同属性、批号、计量单位的商品!';{250}
EOutofRPDetailQty:Result:='核销金额超过了应收(付)金额!';{251}
EOutofPaymentQty:Result:='核销金额超过了收(付)款单据的总金额!';{252}
WInvaidDisCount :Result := '折扣必须小于等于1!';
QIsSave:Result:='当前数据已修改,是否保存?';{3001}
else
Result := '未定义消息!';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -