如何输出下面这个类
unit UAccountInterFace;
{
凭证类
2003-12-02
zzj
}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Dialogs, StdCtrls, DB, ADODB, Grids, ExtCtrls, Mask, DBCtrls;
type
TAccount = class(Tobject)
public
//提交整个数据集
function InsertOneSubAcc(
iCYEAR:string;//(20) Y 年度
iCPERIOD:string;//(10) Y 会计期间
iCVTSHORTNAME:string;//(10) Y 凭证类别字
iCSIGN:string;//(20) Y 凭证号
iCVOUCHEORG:string;//(20) Y 会计单位
iCMAKEORG:string;//(20) Y 制定部门
iDINdate:string;//( Y 输入日期
iDMAKEdate:string;//( Y 制定日期
iIDOC:string;//(3) Y 附单据数
iCMAKEUSE:string;//(20) Y 制单人
iCCOMDIG:string;//(150) Y 共同摘要
// ----------------------------------------------------
iCSUBNUM:string;//(10) Y 分录序号1
iCSUBORG:string;//(20) Y 分录会计单位
iCSUBDIG:string;//(150) Y 分录摘要1
iCSUBJCODE:string;//(20) Y 会计科目1
iCEXCH_NAME:string;//(20) Y 币种1
iIDEB:string;//(20,2) Y 借)方金额1
iICRE:string;//(20,2) Y 贷方金额1
iINUMDEB:string;//(20,2) Y 数量1
// ------------------------------------------------------
iCBLATTYPE:string;//(20) Y 结算方式
iCBILLNUM:string;//(30) Y 票号2
iDTERMDAY:string;//( Y 支付日期2
iIINTRATE:string;//(20,10) Y 利息率
iCBANKNAME:string;//(20) Y 银行名称
iCBANKNUM:string;//(20) Y 账户编号
iDEMTDAY:string;//( Y 发行日
iDMATURITY:string;//( Y 到期日
iDGATHERDAY:string;//( Y 预计收款日
iCTERM:string;//(20) Y 期限
iCEMTCOMP:string;//(50) Y 发行社
iCCUSTCODE:string;//(20) Y 客户编码
iCCUSTNAME:string;//(20) Y 客户名
iITAXRATE:string;//(20,2) Y 税率-
iCITEMCODE1:string;//(20) Y 管理项目编码1
iCSUBCODE1:string;//(20) Y 管理项目详细编码1
iCSUBNAME1:string;//(20) Y 管理项目详细名称1
iCITEMCODE2:string;//(20) Y 管理项目编码2
iCSUBCODE2:string;//(20) Y 管理项目详细编码2
iCSUBNAME2:string;//(20) Y 管理项目详细名称2
iCITEMCODE3:string;//(20) Y 管理项目编码3
iCSUBCODE3:string;//(20) Y 管理项目详细编码3
iCSUBNAME3:string;//(20) Y 管理项目详细名称3
iCITEMCODE4:string;//(20) Y 管理项目编码4
iCSUBCODE4:string;//(20) Y 管理项目详细编码4
iCSUBNAME4:string;//(20) Y 管理项目详细名称4
// ---------------------------------20031130 11:28 Add----------------------------
iIsExport:string;// -- 0内销/1外销:标示是内销还是免税,在页面上显示是‘内销’or‘免税’
iMaterialNo:string;//商品编号/商品名称:标示商品的名称,在页面上显示商品编号和商品名称
iOutStockDate:string;// --出货日:日期
iContractNo:string;//合同号:50位字符
iShippingDate:string;// --装船日:日期
iArriveDate:string// --靠港日:日期
):integer;
//提交整个数据集
Function CommitAccount(ICSIGN,ICYEAR :string;
//年度
ICPERIOD :string;
//期间
Icvtshortname, ILOGINUSER :string):integer;
//凭证生成
function CreateAccount:integer;
//插入一行数据
procedure AddData(ItemsList:TStringList);
//构造函数
constructor Create(AControl: TControl);
virtual;
destructor Destroy;
virtual;
private
FSubSum:integer;
//分录的个数;
FStrGrdData :TstringGrid;
Fconnection: TADOConnection;
// 联结
FprocInsertOne:TADOStoredProc;
//过程1
FprocCommit:TADOStoredProc;
//过程2
procedure Setconnection(const Value: TADOConnection);
//数据源
procedure SetInsertOneParam;
//设置分录过程参数
procedure SetCommitParam;
//设置提交过程参数
procedure ShowResultMessage(Iresult:integer);
published
property Connection : TADOConnection read Fconnection write Setconnection;
//数据连接
end;
TPosAccount = class(TAccount)
end;
TVAccount = class of TAccount;
implementation
uses UAccountMessage;
constructor TAccount.Create(AControl: TControl);
begin
FSubSum := 0;
//
FprocInsertOne := TADOStoredProc.Create(nil);
FprocCommit := TADOStoredProc.Create(nil);
//
FStrGrdData := TStringGrid.Create(nil);
FStrGrdData.FixedCols := 0;
FStrGrdData.FixedRows := 0;
FStrGrdData.RowCount := 1;
FStrGrdData.ColCount := 51;
FStrGrdData.Options := FStrGrdData.Options + [goEditing]
end;
destructor TAccount.Destroy;
begin
FStrGrdData.Free;
FprocInsertOne.Free;
FprocCommit.Free;
end;
procedure TAccount.AddData(ItemsList: TStringList);
var
i,j:integer;
begin
FSubSum := FSubSum + 1;
//添加一行数据到内部变量里
for i := 0 to 50do
FStrGrdData.Cells[i,FSubSum-1] := Itemslist.Strings;
FStrGrdData.RowCount := FStrGrdData.RowCount + 1;
end;
function TAccount.CreateAccount: integer;
var
i,j:integer;//循环变量
iResult :integer;
//返回值
begin
{
for j := 0 to fsubsum -1do
for i := 0 to 50do
showmessage(FStrGrdData.Cells[i,j]);
}
//创建凭证
//开始事务处理
Fconnection.begin
Trans;
//插入一条分录
for i:= 0 to FSubSum - 1do
begin
with FStrGrdDatado
iResult := InsertOneSubAcc
(
cells[0,i],Cells[1,i],Cells[2,i],Cells[3,i],Cells[4,i],Cells[5,i],Cells[6,i],
Cells[7,i],Cells[8,i],Cells[9,i],Cells[10,i],Cells[11,i],Cells[12,i],
Cells[13,i],Cells[14,i],Cells[15,i],Cells[16,i],Cells[17,i],Cells[18,i],
Cells[19,i],Cells[20,i],Cells[21,i],Cells[22,i],Cells[23,i],Cells[24,i],
Cells[25,i],Cells[26,i],Cells[27,i],Cells[28,i],Cells[29,i],Cells[30,i],
Cells[31,i],Cells[32,i],Cells[33,i],Cells[34,i],Cells[35,i],Cells[36,i],
Cells[37,i],Cells[38,i],Cells[39,i],Cells[40,i],Cells[41,i],Cells[42,i],
Cells[43,i],Cells[44,i],Cells[45,i],Cells[46,i],Cells[47,i],Cells[48,i],
Cells[49,i],Cells[50,i]
);
if iresult <> 0 then
begin
ShowResultMessage(iResult);
Fconnection.RollbackTrans;
exit;
end;
end ;
//提交数据
iResult := 0;
with FStrGrdDatado
iResult := CommitAccount(Cells[3,0],Cells[0,0],Cells[1,0],Cells[2,0],Cells[9,0] ) ;
if iResult <> 0 then
begin
ShowResultMessage(iResult);
Fconnection.RollbackTrans;
end
else
begin
ShowResultMessage(iResult);
Fconnection.CommitTrans;
end;
end;
function TAccount.InsertOneSubAcc(iCYEAR, iCPERIOD, iCVTSHORTNAME, iCSIGN,
iCVOUCHEORG, iCMAKEORG, iDINdate, iDMAKEdate,
iIDOC, iCMAKEUSE, iCCOMDIG, iCSUBNUM, iCSUBORG, iCSUBDIG,
iCSUBJCODE, iCEXCH_NAME,iIDEB, iICRE, iINUMDEB,
iCBLATTYPE, iCBILLNUM, iDTERMDAY,iIINTRATE,
iCBANKNAME, iCBANKNUM,iDEMTDAY, iDMATURITY,
iDGATHERDAY,iCTERM, iCEMTCOMP, iCCUSTCODE,
iCCUSTNAME, iITAXRATE,iCITEMCODE1, iCSUBCODE1, iCSUBNAME1,
iCITEMCODE2, iCSUBCODE2, iCSUBNAME2, iCITEMCODE3, iCSUBCODE3, iCSUBNAME3,
iCITEMCODE4, iCSUBCODE4, iCSUBNAME4, iIsExport, iMaterialNo,
iOutStockDate, iContractNo, iShippingDate,
iArriveDate: string): integer;
begin
try
// 生成一条分录信息
with FprocInsertOnedo
begin
Parameters[1].Value := iCYEAR;
if trim(iCPERIOD) = '' then
Parameters[2].Value := null
else
Parameters[2].Value := strToInt(iCPERIOD);
Parameters[3].Value := iCVTSHORTNAME;
Parameters[4].Value := iCSIGN;
Parameters[5].Value := iCVOUCHEORG;
Parameters[6].Value := iCMAKEORG;
if trim(iDINdate) = '' then
Parameters[7].Value := null
else
Parameters[7].Value := StrToDate(iDINdate);
if trim(iDMAKEdate) = '' then
Parameters[8].Value := null
else
Parameters[8].Value := StrToDate(iDMAKEdate);
if trim(iIDOC) = '' then
Parameters[9].Value := null
else
Parameters[9].Value := strToInt(iIDOC);
Parameters[10].Value := iCMAKEUSE;
Parameters[11].Value := iCCOMDIG;
if trim(iCSUBNUM) = '' then
Parameters[12].Value := null
else
Parameters[12].Value := strToInt(iCSUBNUM);
Parameters[13].Value := iCSUBORG;
Parameters[14].Value := iCSUBDIG;
Parameters[15].Value := iCSUBJCODE;
Parameters[16].Value := iCEXCH_NAME;
if trim(iIDEB) = '' then
Parameters[17].Value := null
else
Parameters[17].Value := strToFloat(iIDEB);
if trim(iICRE) = '' then
Parameters[18].Value := null
else
Parameters[18].Value := strToFloat(iICRE);
if trim(iINUMDEB) = '' then
Parameters[19].Value := null
else
Parameters[19].Value := strToFloat(iINUMDEB);
Parameters[20].Value := iCBLATTYPE;
Parameters[21].Value := iCBILLNUM;
if trim(iDTERMDAY) = '' then
Parameters[22].Value := null
else
Parameters[22].Value := StrToDate(iDTERMDAY);
if trim(iIINTRATE) = '' then
Parameters[23].Value := null
else
Parameters[23].Value := strToFloat(iIINTRATE);
Parameters[24].Value := iCBANKNAME;
Parameters[25].Value := iCBANKNUM;
if trim(iDEMTDAY) = '' then
Parameters[26].Value := null
else
Parameters[26].Value := StrToDate(iDEMTDAY);
if trim(iDMATURITY) = '' then
Parameters[27].Value := null
else
Parameters[27].Value := StrToDate(iDMATURITY);
if trim(iDGATHERDAY) = '' then
Parameters[28].Value := null
else
Parameters[28].Value := StrToDate(iDGATHERDAY);
Parameters[29].Value := iCTERM;
Parameters[30].Value := iCEMTCOMP;
Parameters[31].Value := iCCUSTCODE;
Parameters[32].Value := iCCUSTNAME;
if trim(iITAXRATE) = '' then
Parameters[33].Value := null
else
Parameters[33].Value := strToFloat(iITAXRATE);
Parameters[34].Value := iCITEMCODE1;
Parameters[35].Value := iCSUBCODE1;
Parameters[36].Value := iCSUBNAME1;
Parameters[37].Value := iCITEMCODE2;
Parameters[38].Value := iCSUBCODE2;
Parameters[39].Value := iCSUBNAME2;
Parameters[40].Value := iCITEMCODE3;
Parameters[41].Value := iCSUBCODE3;
Parameters[42].Value := iCSUBNAME3;
Parameters[43].Value := iCITEMCODE4;
Parameters[44].Value := iCSUBCODE4;
Parameters[45].Value := iCSUBNAME4;
Parameters[46].Value := iIsExport;
Parameters[47].Value := iMaterialNo;
if trim(iOutStockDate) = '' then
Parameters[48].Value := null
else
Parameters[48].Value := StrToDate(iOutStockDate);
Parameters[49].Value := iContractNo;
if trim(iShippingDate) = '' then
Parameters[50].Value := null
else
Parameters[50].Value := StrToDate(iShippingDate);
if trim(iArriveDate) = '' then
Parameters[51].Value := null
else
Parameters[51].Value := StrToDate(iArriveDate);
Prepared := true;
ExecProc;
result := Parameters[0].Value;
end;
except
result := 999;
end;
end;
Function TAccount.CommitAccount(ICSIGN,ICYEAR :string;
//年度
ICPERIOD :string;
//期间
Icvtshortname, ILOGINUSER :string):integer;
begin
try
with FprocCommitdo
begin
Parameters[1].Value := ICSIGN;
Parameters[2].Value := ICYEAR;
Parameters[3].Value := StrToInt(ICPERIOD);
Parameters[4].Value := Icvtshortname;
Parameters[5].Value := ILOGINUSER;
Prepared := true;
ExecProc;
Result := Parameters[0].Value;
end;
except
result := 888
end;
end;
procedure TAccount.Setconnection(const Value: TADOConnection);
begin
Fconnection := Value;
FprocInsertOne.Connection := Fconnection;
FprocCommit.Connection := Fconnection;
SetCommitParam;
SetInsertOneParam;
end;
procedure TAccount.SetCommitParam;
begin
FprocInsertOne.ProcedureName := 'FINSERT_TEMPCW_ACCVOUCH' ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='Param1' ;
DataType :=ftInteger ;
Direction :=pdReturnValue ;
size := 0;
Value :=Null ;
end;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICYEAR';
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=20 ;
Value :=Null ;
end;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICPERIOD';
Attributes :=[paNullable];
DataType :=ftInteger ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICVTSHORTNAME';
Attributes :=[paNullable];
DataType :=ftString ;
Size :=20 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSIGN' ;
Attributes :=[paNullable];
DataType :=ftString;
Size :=20 ;
Value :=Null ;
end;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICVOUCHEORG' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=20 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICMAKEORG' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=20 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDINDATE' ;
Attributes :=[paNullable] ;
DataType :=ftDateTime ;
size := 0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDMAKEDATE' ;
Attributes :=[paNullable] ;
DataType :=ftDateTime ;
size := 0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IIDOC' ;
Attributes :=[paNullable];
DataType :=ftInteger ;
Precision :=15 ;
Value :=Null ;
size := 0 ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICMAKEUSE' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICCOMDIG' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBNUM' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBORG' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBDIG' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBJCODE' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICEXCH_NAME' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IIDEB' ;
Attributes :=[paNullable];
DataType :=ftFloat ;
Precision :=15 ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IICRE' ;
Attributes :=[paNullable];
DataType :=ftFloat ;
Precision :=15 ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IINUMDEB' ;
Attributes :=[paNullable];
DataType :=ftFloat ;
Precision :=15 ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICBLATTYPE' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICBILLNUM' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDTERMDAY' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
Value :=Null ;
Size :=0 ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IIINTRATE' ;
Attributes :=[paNullable];
DataType :=ftFloat ;
Precision :=15 ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICBANKNAME' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICBANKNUM' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDEMTDAY' ;
Attributes :=[paNullable] ;
DataType :=ftDateTime ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDMATURITY' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IDGATHERDAY' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
Size :=0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICTERM' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICEMTCOMP' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICCUSTCODE' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICCUSTNAME' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IITAXRATE' ;
Attributes :=[paNullable];
DataType :=ftFloat ;
Precision :=15 ;
size := 0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICITEMCODE1' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBCODE1' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBNAME1' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICITEMCODE2' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBCODE2' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBNAME2' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICITEMCODE3' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBCODE3' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBNAME3' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICITEMCODE4' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBCODE4' ;
Attributes :=[paNullable] ;
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICSUBNAME4' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IISEXPORT' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IMATERIALNO' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IOUTSTOCKDATE' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
size := 0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ICONTRACTNO' ;
Attributes :=[paNullable];
DataType :=ftString ;
Size :=21 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='ISHIPPINGDATE' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
size := 0 ;
Value :=Null ;
end ;
with FprocInsertOne.Parameters.AddParameterdo
begin
Name :='IARRIVEDATE' ;
Attributes :=[paNullable];
DataType :=ftDateTime ;
size := 0 ;
Value :=Null ;
end ;
end;
procedure TAccount.SetInsertOneParam;
begin
FprocCommit.ProcedureName := 'FCOMMIT_TEMP_ACCVOUCH';
with FprocCommit.Parameters.AddParameterdo
begin
Name :='Param1' ;
DataType :=ftInteger ;
Direction :=pdReturnValue ;
size := 0;
Value :=Null ;
end;
with FprocCommit.Parameters.AddParameterdo
begin
DataType := ftString;
Direction := pdInput;
Name := 'ICSIGN';
size := 21;
value := null;
end;
with FprocCommit.Parameters.AddParameterdo
begin
DataType := ftString;
Direction := pdInput;
Name := 'ICYEAR';
size := 20;
value := null;
end;
with FprocCommit.Parameters.AddParameterdo
begin
DataType := ftInteger;
Direction := pdInput;
Name := 'ICPERIOD';
size := 0;
value := null;
end;
with FprocCommit.Parameters.AddParameterdo
begin
DataType := ftString;
Direction := pdInput;
Name := 'Icvtshortname';
size :=21;
value := null;
end;
with FprocCommit.Parameters.AddParameterdo
begin
DataType := ftString;
Direction := pdInput;
Name := 'ILOGINUSER';
size := 21;
end;
end;
procedure TAccount.ShowResultMessage(Iresult: integer);
begin
IF iResult <> 0 then
FSubSum := 0;
case iResult of
0 : //数据处理成功
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM0);
//-------------------------------------以下项目是必填项目,而没有填写时返回--------------------------------------------
1000:// 没有填写<单据制作人>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1000);
1001:// 没有填写以下任一项 <期间、年度、凭证字>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1001);
1002:// 没有填写 <凭证号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1002);
1004:// 没有填写<会计单位>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1004);
1005:// 没有填写<制定部门>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1005);
1006:// 没有填写<分录序号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1006);
1007:// 没有填写<分录会计单位>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1007);
1008:// 没有填写<分录科目>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1008);
1010:// 没有填写<核算数量>;该科目为数量核算;
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1010);
//------------------------------------以下是逻辑判断---------------------------------------------------------------
1003:// <凭证分录>重复;
同一年度、同一期间、同一类别、凭证号的凭证分录不能相同
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1003);
1009:// 借方和贷方 不能都有数值或者都没有值
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1009);
4000:// <凭证号>重复, 同一年度、同一期间、同一类别的凭证号不能相同
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM4000);
//------------------------以下错误类别:如果该会计科目需要填写以下内容而没有填写时返回--------------------
1011:// 没有填写<结算方式>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1011);
1012:// 没有填写<票号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1012);
1013:// 没有填写<支付日期>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1013);
1014:// 没有填写<利息率>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1014);
1015:// 没有填写<银行名称>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1015);
1016:// 没有填写<账号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1016);
1017:// 没有填写<发行日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1017);
1018:// 没有填写<到期日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1018);
1019:// 没有填写<预计收款日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1019);
1020:// 没有填写<期限>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1020);
1021:// 没有填写<发行社>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1021);
1022:// 没有填写<客户编码>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1022);
1023:// 没有填写<税率>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1023);
1030:// 没有填写<分录摘要>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1030);
1040:// 没有填写<内销/外销 0内销 1外销>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1040);
1041:// 没有填写<商品编号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1041);
1042:// 没有填写<出货日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1042);
1043:// 没有填写<合同号>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1043);
1044:// 没有填写<装船日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1044);
1045:// 没有填写<靠港日>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM1045);
3000:// 没有填写完全和凭证对应的<管理项目>
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM3000);
//-------------------------------------------------------------------------------------------------------------------------------------
2000:// 借贷不平衡
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT+PM2000);
999://运行时类型不匹配
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT + MO999);
888:
ShowMessage(PLEFT+IntToStr(iResult)+PRIGHT + MO888);
end;
end;
end.