技术答疑.单据状态.状态值只支持一个字符?
【问题描述】
单据状态的状态值只支持一个字符?
【解决方案】
BOS系统会默认将单据状态字段的长度设置为1个字符,且BOS设计器也限制了用户只能输入一个字符长度的状态值,目前只能通过修改XML的方式把单据状态字段的长度调大。
下面以采购订单的扩展上新增的一个单据状态字段为例子,演示具体的实现步骤。
<1>BOSIDE扩展采购订单,新增一个单据状态字段【推送状态】,保存元数据。
<2>BOSIDE修改采购订单的扩展节点的元数据XML,把【推送状态】字段的状态值设置好后,保存元数据。
<3>切换回设计器界面,此时,【推送状态】字段的状态列表中的状态值已经显示为2位长度。
<4>前往当前数据中心所在数据库,检查【推送状态】字段的长度,此时字段长度为默认的1个字符,需要手动修改,调整为2个字符。
<4>前往当前数据中心所在数据库,修改【推送状态】字段的长度,修改的SQL脚本如下。
-- 删除字段默认值(默认值名称以实际数据库为准,执行下面的修改字段语句时,如果有报错,报错信息中会包含有默认值名称)
ALTER TABLE T_PUR_POORDER DROP CONSTRAINT DF__T_PUR_POO__FDATA__5BE1EB19
-- 将字段长度调整为2个字符
ALTER TABLE T_PUR_POORDER ALTER COLUMN FDATAPUSHSTATUS varchar(2) NOT NULL
-- 删除字段默认值
ALTER TABLE T_PUR_POORDER add DEFAULT('') FOR FDATAPUSHSTATUS
<5>修改SQL执行成功后,再次检查【推送状态】字段的长度,此时字段长度已被调整为2个字符,至此,开发完毕。
<6>登录业务系统,打开采购订单,给【推送状态】字段录入值【已推送】,保存单据,然后前往当前数据中心所在数据库查询该单的推送状态值,存储正确。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
技术答疑.单据状态.状态值只支持一个字符?
本文2024-09-23 04:19:37发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164592.html