【BOS】印章支持非单据状态字段显示图片原创
18人赞赏了该文章
1,811次浏览
编辑于2020年11月16日 19:41:22
印章的前置相关知识:这个冬季写给社区的第一章:添加印章类型
现在有个这样的场景,有一个下拉列表,发货类型,包括普通和加急两个选项;加急的时候显示加急图章。
这个问题等价于印章怎么支持获取其他非单据状态字段的值。
<0>前置环境准备:按照示例帖配置加急的印章类型和服务器图片
按照以上配置,在印章对应字段的值为“urgent”时,显示加急图章。
<1>图章的元数据结构
以表单“1.2业务单据模板”(表单标识BOS_BusinessBillModel)为例,元数据结构如下:
(快速查找,印章对应的标签为WaterMarkAppearance,只有外观层没有业务逻辑层)
对应ControlKey是对应的关联字段,这里默认关联的是状态字段;
而StatusWaterMark就是对应的值印章映射表,当对应字段值等于该项时显示图片,这里就是等于审核状态时显示approved印章;
<2>调整图章元数据支持其他字段类型
<WaterMarks> <StatusWaterMark> <StatusValue>urgent</StatusValue> <ImageKey>urgent</ImageKey> </StatusWaterMark> </WaterMarks> <ControlKey>F_JAC_TEXT</ControlKey>
调整对应的目标字段和值映射列表,如下图所示:
含义:增加了一个值映射类型,当值为urgent时,绑定urgent_语言ID图片,同时调整关联字段为一个文本字段;
验证文本字段的输入值,当为urgnet时的映射效果:
如果按照上面这个配置没有生效,那么尝试下绑定值为c的映射效果(也就是单据状态的审核,因为我们没有清空项,所以效果还在保留):
尝试调整绑定的字段类型为下拉列表,数据准备如下:
调整关联的字段为发货类型,
验证效果:
<3>总结,只要对应字段的取值(普通文本类型)与印章列表的取值对应,对应印章就应该能够刷新为对应的图片,(非文本类型应该不支持);
<4>补充:删除对应值映射项的xml语句
<StatusWaterMark action="remove" oid="C" />
赞 18
18人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读