成本核算过程中出错
合法性检查报告—检查项:成本核算过程中出错
检查范围:核算过程中的异常中断会导致此项检查项提示出来。有此提示出现时,出库核算或成本计算不成功,需要解决提示的问题才能进行核算。
解决办法:导致此处提示异常原因非常多,任何的核算中断都会导致此处提示异常。只能在此尽量补充场景,供大家参考。即使知道大概原因,可能用户也无法自行解决。当遇到无法自行解决的报错时,请提单。
问题1. Message:来自数据源的 SqlDecimal 类型的给定值不能转换为指定目标列的类型 decimal。
可能原因:数量或者金额超出decimal类型范围。最有可能就是数值很小,如0.0000000001,金额大,算单价的时候,金额/数量,超出了decimal的范围。
解决办法:找出这种异常值,修改成正确的值。
问题2. Message:将截断字符串或二进制数据。
可能原因:数据太大超过了最大范围,比如数值太大,物料名称过长,批号过长,单据编号过长……等等因为字段太长超过预设的极限范围就会报这个错。
解决办法:找出异常值,修改。
问题3. Message:引发类型为“System.OutOfMemoryException”的异常。
可能原因:内存溢出了。
解决办法:
1)硬件上适当增加内存。
2)重启数据库服务,看看内存使用情况,如果还是很高,建议可以重启电脑,然后业务操作上尝试先单独进行采购入库核算,然后出库核算每批次核算的数据量输入5000或者更小试试。
问题4. Timeout expired.
可能原因:SQL执行超时。
解决办法:以下办法供参考
1、检查数据库是否有新补丁。如果是sqlserver数据库,可以使用select @@version 来查询当前数据库的版本及补丁情况。如果没打补丁,请到微软官网下载最新对应的数据库补丁并安装;
2、数据库是否有维护计划定时去做维护。维护计划按 重建索引-重新组织索引-更新统计信息的顺序建立并设置定时执行。一般一周执行一次即可。建立后也可以选个合适的时间立即执行维护计划。
3)如果数据量大,可以尝试修改下默认的数据库连接超时时间。如果默认30秒满足不了需求,可以将默认连接超时时间改大点。
--修改默认超时连接时间。单位为秒
webconfig的appsettings中增加项:
<add key="DbCommandTimeout" value="900" />
问题5. MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。
可能原因:数据维度存在重复的值。
解决办法:导致数据维度重复的原因又有很多,并且很多地方重复的值都有可能导致这个报错,如果自己能从后台找出来,删除重复的维度即可。如无法排查出来,建议提单寻求协助。
问题6.列名“XXXX”无效
可能原因:某对象名无效等一般都是环境打了最新补丁,但是帐套没有升级导致字段缺失。
解决办法:升级帐套即可。
后续会继续补充......
成本核算过程中出错
本文2024-09-23 02:13:06发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-150981.html