文本描述了单据保存时“备注”字段输入长度超出限定范围(0,50)的问题,分析了系统对文本字段长度的控制机制及放大限制可能带来的影响,并提出了两种解决方案:一是新增替代字段录入超大文本;二是基于原字段调整限制范围,包括在后台物理长度范围内调整编辑长度和大于物理长度时执行SQL脚本调整。
字段“备注”的输入长度超出限定范围(0,50)如何调整
问题描述:
单据保存时提示:字段“备注”的输入长度超出限定范围(0,50)
分析说明:
系统关于文本字段长度控制一般是存在两种以下两种场景:
字段录入及保存时,交互校验不允许录入超过设置范围,如若超出则会弹出校验提示:字段“备注”的输入长度超出限定范围(0,50)。
单据保存时,如若录入的字段值大于数据库后台该字段的设计物理长度则提示:数据保存失败,错误提示:将截断字符串或二进制数据。
字段放大限制影响说明:
后台放大某字段的设计长度后,对应系统如若存在其他地方引用该字段值,可能会引发报错异常。
单据录入超大文本值后,列表显示加载性能会有一定影响。
解决方案:
方案一:(新增替代字段录入)
如有超大文本字段录入诉求,建议优先考虑扩展新增多行文本字段,使用该字段录入。
步骤:
1. BOS设计器-对应单据扩展-新增多行文本字段-调整编辑长度保存。
2. 如涉及扩展字段文本后台物理长度不够需要调整时,扩展字段可以通过BOS-数据结构变更导出脚本执行。参考方案
方案二:(基于原字段放大限制)
如需要基于原字段放大限制范围,则需要考虑是否有相关业务引用该字段值(比如报表等)。
步骤:
1.如若调整长度在后台物理长度范围内时,仅需要调整字段-编辑长度:
(一般标准系统“备注”字段后台物理长度为255 字符,如若录入长度范围在255内,仅需调整 字段-编辑长度 属性)
2.如若调整长度大于后台物理长度时,则还需要进一步调整后台字段物理长度值,需要调整执行以下SQL脚本。
(1). 整理SQL脚本:EXEC p_AlterColumn '表名', '字段名', 'NVARCHAR(修改后长度)', 'NULL', '0100', '';
示例:调整出库申请单-备注字段,长度为 1000字符。
对应脚本:EXEC p_AlterColumn 'T_STK_OUTSTOCKAPPLY', 'FNOTE', 'NVARCHAR(1000)', 'NULL', '0100', '';
(2).提交执行脚本。
公有云:由具体天梯系统权限人员在天梯提交执行即可。参考:天梯-SQL更新。
私有云:脚本发给具有数据库管理权限人员(一般为公司IT管理人员),在数据库进行执行即可。
推荐阅读