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

📄 systemmessageunit.pas

📁 实达企业在线EOL源码
💻 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 + -