用友单据
错误处理方式
在应用软件的过程中,经常需要根据客户的要求,对格式和样式进行个性化的设
置,所以经常要用到单据格式设置的功能,而在进行单据格式设置改动较大,或改动
较为频繁的时候,会出现格式错乱的情况,此问题可能是数据库
结构出现问题导致
的,数据库表里面行出现错误,就可能导致这样的情况出现。
打开SQL数据库工具中的事件探查器,然后选定事件类,跟踪软件的前台运行结
果,然后进入企业门户,在设置的页签里面,找到单据设置----单据格式设置,进入
后选择出现问题的单据,然后点击保存,这个时候再回到事件探查器去查看跟踪结果,
软件后台所执行的语句就能找到相关的单据保存的数据库表就是VoucherItems表,
此表将软件所有的单据格式都记录在内,所以当单据格式出现错误的时候,只要修复
这个表就可以让错乱的单据恢复如初。
首先先确立模板的
账套(此账套可以是新建的账套,也可以是已经
好单
据格式的需要作为模板被复制的账套,假使此账套的数据库名称为
UFDATA_888_2008),然后进入查询
器中,在问题账套数据库里面将VoucherItems
的内容全部清空(语句为:delete VoucherItems),然后将标准账套的表的内容全部
导入到里面。
【执行语句】
(Set IDENTITY_INSERT VoucherItems on
Insert Into VoucherItems( AutoId,VT_ID, CardNum,
CardItemNum,CardItemName,CanNotSelect,ShowIt,LinkIt,LinkTbl,LinkField, TableName, FieldName, FieldType, ReferType, ReferTable, CardSection, CardFormula1, CardFormula2, CanModify, MaxLength, MaxShowLen, NumPoint, CanDelete, UserCheck, UserPrompt, FormatChar, IsMain, NeedSum, CalcField, AliasNum, isSelfDef, COX, COY, Width, Height, TabIndex, DefaultValue, IsFixedLenght, FormatData, FontState, PrintCaption, PrintUpcase, PrintInterval, DataSource, EnterType, DataRule, ValidityCheck, ReserveSegTitlePos, BuildArchives, ReferReturnField, cmemo, nBorder )
Select AutoId, VT_ID, CardNum, CardItemNum, CardItemName, CanNotSelect, ShowIt, LinkIt, LinkTbl, LinkField, TableName, FieldName, FieldType, ReferType, ReferTable, CardSection, CardFormula1, CardFormula2, CanModify, MaxLength, MaxShowLen, NumPoint, CanDelete, UserCheck, UserPrompt, FormatChar, IsMain, NeedSum, CalcField, AliasNum, isSelfDef, COX, COY, Width, Height, TabIndex, DefaultValue, IsFixedLenght, FormatData, FontState, PrintCaption, PrintUpcase, PrintInterval, DataSource, EnterType, DataRule,
ValidityCheck, ReserveSegTitlePos, BuildArchives, ReferReturnField, cmemo,
nBorder
from UFDATA_888_2008..VoucherItems
Set IDENTITY_INSERT VoucherItems off)
具体的解决过程为(此方法适用于大多数后台数据问题):
1. 先打开事件探查器,连接到数据库。
2. 选择跟踪属性的时候只要保留TSQL和存储过程来跟踪就可以。
3. 然后就可以打开软件,进入到单据格式设置里面进行操作
4. 查看跟踪出来的语句
5. 将查询出来的语句放在查询分析器里面进行分析并查询出相关的数据,以及编写
修复语句