电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.单据设计.文本字段编辑长度突破2000的限制

来源:金蝶云社区作者:金蝶2024-09-236

二开案例.单据设计.文本字段编辑长度突破2000的限制

【应用场景】文本字段编辑长度突破2000的限制。

背景说明:文本字段出于性能考虑,BOS设计器默认给的字段类型为nvarchar,且长度不能超过2000。

如果超过长度,设计器会报错,运行时也会拦截。

【解决方案】

不依赖BOS设计器创建文本字段对应的数据库表物理字段,提前在数据库对应表将文本字段按实际需要的大小创建好。

例如:

--最大存储4000个字符

ALTER TABLE T_PUR_POORDER ADD F_JAC_TEXT NVARCHAR(4000) NOT NULL DEFAULT('')

--超大文本(2GB)(影响性能,请勿滥用!!!)

ALTER TABLE T_PUR_POORDER ADD F_JAC_TEXT NVARCHAR(MAX) NOT NULL DEFAULT('')


【案例演示】采购订单,新建文本字段,设置其可编辑范围为999999(超大文本)。

【实现步骤】

<1>连接数据中心对应的数据库,通过SQL新建文本字段。

ALTER TABLE T_PUR_POORDER ADD F_JAC_TEXT NVARCHAR(MAX) NOT NULL DEFAULT('')

<2>打开BOSIDE,扩展采购订单,新增文本字段,可编辑长度设置为999999,字段名称设置为F_JAC_TEXT ,保存元数据,开发完毕。

<3>登录业务站点,打开采购订单新增界面,录入超长文本,可以正常保存,测试效果如下。

---------------------------------------------------------------------------------------------------------




【关于几种经典应用场景的解决方案说明】

【场景一】字段不存在

-- 场景一:字段不存在,新建超大文本字段

ALTER TABLE T_PUR_POORDER ADD F_JAC_TEXT NVARCHAR(MAX) NOT NULL DEFAULT('')


【场景二】字段已存在,且支持类型转换

-- 场景二:字段已存在,但是字段当前类型支持切换到目标类型,例如int转varchar,varchar转int

-- 修改已存在的文本字段为超大文本字段

ALTER TABLE T_PUR_POORDER ALTER COLUMN F_JAC_TEXT NVARCHAR(MAX) NOT NULL 

-- 如果修改字段类型报默认值依赖错误,就先删除字段的默认值

--ALTER TABLE T_PUR_POORDER DROP CONSTRAINT DF__T_PUR_POO__F_JAC__17F53E72

-- 字段添加默认值

ALTER TABLE T_PUR_POORDER ADD DEFAULT('') FOR F_JAC_TEXT


【场景三】字段已存在,且不支持类型转换

-- 场景三:字段已存在,且字段当前类型无法切换到目标类型,此时只能先删除此字段,再新建目标类型的字段

-- 删除现有字段

ALTER TABLE T_PUR_POORDER DROP COLUMN F_JAC_TEXT

-- 如果删除字段类型报默认值依赖错误,就先删除字段的默认值

--ALTER TABLE T_PUR_POORDER DROP CONSTRAINT DF__T_PUR_

二开案例.单据设计.文本字段编辑长度突破2000的限制

【应用场景】文本字段编辑长度突破2000的限制。背景说明:文本字段出于性能考虑,BOS设计器默认给的字段类型为nvarchar,且长度不能超过200...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信