当执行 GBP 订阅/会员注册/会员背书等流程并接受这些流程时,系统会抛出错误:
“aWFOperationAssignment 类类型的对象不能存储在具有相应 NSID、ID 和版本的数据库中”</p>
并且事务被回滚,错误报告中显示了以下错误。
“交易被回滚。错误代码= 22007。ErrMsg=SQLState=22007。[Microsoft][SQL Server Native Client 10.0]时间格式无效”。
这只发生在少数环境中。不确定这是代码问题还是配置问题。
此问题是由 Wynsure 中的“银行假期上下文”配置引起的。
在银行假期(工商管理 -> 常规设置 -> 银行假期)中,结束时间应该配置为 24 小时制。例如,如果将其配置为:开始时间为 8,结束时间为 5,而不是开始时间为 8,结束时间为 17,则持续时间计算不正确。请注意,Wynsure 会尝试从结束时间中减去开始时间(在这种情况下,它会尝试从 5 中减去 8 并给出错误的持续时间)
此配置将在处理任何事务时导致问题,因为在任何事务完成时,都会创建一个相应的操作,其中包含 2 个字段,即“预期限制日期”和“预期限制时间”,该字段使用“结束时间”之间的差异”和“开始时间”来计算预期的日期和时间限制。由于结束时间和开始时间之间的差值将返回不正确的值,因此将计算出无效的日期和时间,系统将抛出无效日期和时间格式的错误并回滚交易。
要解决此问题,应将“结束时间”配置为 24 小时制。