当前位置: 首页 > news >正文

NC65客开单据自定义项处理以及自定义项相关介绍(超级详细带图以及代码NC65自定义项大全)

自定义项教程

自定义项和物料辅助属性简介

  • 自定义档案的概念:
    NC系统中有大量的档案,这些档案中有相当一部分为系统预置的,鉴于用户对系统应用的个性化需求,系统支持用户自定用户自己的档案,并对其进行维护管理,以增强系统可用性与扩展性。
  • 自定义档案维护:
    见节点【企业建模平台】→【基础数据】→【自定义项】→【自定义档案维护】
  • 用户定义属性(也称自定义项引用):
    用户自定义属性必须依附于某个单据,可以理解为用户对单据进行个性化加工的载体,更技术一些描述就是字段。NC系统为各个领域、模块中大多数的单据都预置了多个自定义属性。供应链的单据在表头、表体均存储了20个自定义项字段(命名参见相关规范,有些单据需求要求更多数量)。用户需要使用某个自定义项字段来保存个性信息时,就要由管理员配置这个自定义项的引用,既可用引用基础数据中定义的自定义档案,也可引用可参照到的各种档案,还可以基本类型。
    维护节点:【企业建模平台】→【基础数据】→【自定义项】→【用户定义属性】。配置好单据对自定义项的引用后,做单据时就可以维护和显示这些自定义项了。
    在这里插入图片描述
  • 用户定义属性组找不到对应单据:
    其中 引用用户定义属性组的实体为对应的元数据实体
    在这里插入图片描述

相关的SQL可以在前台上述两个节点进行新增或者使用下面的sql进行新增

INSERT INTO BD_USERDEFRULE (CODE, COMP, CREATIONTIME, CREATOR, DATAORIGINFLAG, DR, ITEMCOUNT, MODIFIEDTIME, MODIFIER, NAME, NAME2, NAME3, NAME4, NAME5, NAME6, PARENT_ID, PK_GROUP, PK_ORG, PK_USERDEFRULE, RULETYPE, SHOWORDER, TS) VALUES ('CGHT', null, '2021-03-23 10:00:00', '1001A110000000001ME2', null, null, 20, null, '~', '采购合同_H', null, null, null, null, null, null, '~', '1001Z810000000002CW', '1001A1100000002UICMN', 0, 0, '2021-03-23 10:00:00');
INSERT INTO BD_USERDEFRULE (CODE, COMP, CREATIONTIME, CREATOR, DATAORIGINFLAG, DR, ITEMCOUNT, MODIFIEDTIME, MODIFIER, NAME, NAME2, NAME3, NAME4, NAME5, NAME6, PARENT_ID, PK_GROUP, PK_ORG, PK_USERDEFRULE, RULETYPE, SHOWORDER, TS) VALUES ('CGHTB', null, '2021-03-23 10:00:00', '1001A110000000001ME2', null, null, 20, null, '~', '采购合同_B', null, null, null, null, null, null, '~', '1001Z810000000002CWS', '1001A1100000002UICMQ', 0, 0, '2021-03-23 10:00:00');
INSERT INTO BD_USERDEFRULEREF (CHECKCLASS, CREATIONTIME, CREATOR, DATAORIGINFLAG, DR, MODIFIEDTIME, MODIFIER, PK_USERDEFRULE, PK_USERDEFRULEREF, PREFIX, REFCLASS, TS) VALUES (null, '2021-03-23 10:00:00', '1001A110000000001ME2', null, null, null, '~', '1001A1100000002UICMN', '1001A1100000002UICMP', null, 'c7aca2c3-109f-4f9e-aa67-6ccf3befe6a7', '2021-03-23 10:00:00');
INSERT INTO BD_USERDEFRULEREF (CHECKCLASS, CREATIONTIME, CREATOR, DATAORIGINFLAG, DR, MODIFIEDTIME, MODIFIER, PK_USERDEFRULE, PK_USERDEFRULEREF, PREFIX, REFCLASS, TS) VALUES (null, '2021-03-23 10:00:00', '1001A110000000001ME2', null, null, null, '~', '1001A1100000002UICMQ', '1001A1100000002UICMR', null, 'd58ac9ce-5eeb-4013-8f39-71068682d16f', '2021-03-23 10:00:00');

自定义项代码和配置部分(客开单据)

如果是客开单据那么需要在配置文件中配置自定义项处理的相关类

  1. 需要修改的部分
	<!--====== 视图元素:[PUBAPP列表视图控件(ShowUpableBillListView)实例对象] ============== --><bean id="billListView" class="nc.ui.pubapp.uif2app.view.ShowUpableBillListView"init-method="initUI"><property name="model"><ref bean="bmModel" /></property><!-- 列表自定义项处理 更改开始-->	<property name="userdefitemListPreparator"><bean class="nc.ui.pubapp.uif2app.view.CompositeBillListDataPrepare"><property name="billListDataPrepares"><list><ref bean="userdefitemlistPreparator" /></list></property></bean></property><!-- 列表自定义项处理 更改结束--><property name="nodekey" value="bt" /><property name="multiSelectionEnable" value="false" /><property name="templateContainer" ref="templateContainer" /></bean><!--====== 视图元素:[PUBAPP表单控件(ShowUpableBillForm)实例对象] ============== --><bean id="billForm" class="nc.ui.pubapp.uif2app.view.ShowUpableBillForm"init-method="initUI"><property name="model"><ref bean="bmModel" /></property><property name="nodekey" value="bt" /><!-- 卡片自定义项处理 更改开始--><property name="userdefitemPreparator"><bean class="nc.ui.pubapp.uif2app.view.CompositeBillDataPrepare"><property name="billDataPrepares"><list><ref bean="userdefitemPreparator" /></list></property></bean></property><!-- 卡片自定义项处理 更改结束 --><!-- 表体行操作按钮注册,这只是一组默认设置,开发人员需要自己在此添加其他需要的表体行操作按钮 --><property name="bodyLineActions"><list><bean class="nc.ui.ct.ctysj.actions.HtBodyAddLineAction" /><!-- <bean class="nc.ui.pubapp.uif2app.actions.BodyInsertLineAction" /> --><bean class="nc.ui.pubapp.uif2app.actions.BodyDelLineAction" /></list></property></bean>
  1. 需要新增的部分
	<!-- 卡片自定义项配置 --><bean name="userdefitemPreparator" class="nc.ui.uif2.editor.UserdefitemContainerPreparator"><property name="container" ref="userdefitemContainer" /><property name="params"><list><bean class="nc.ui.uif2.editor.UserdefQueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht" /><property name="pos" value="0" /><property name="prefix" value="vdef" /></bean><bean class="nc.ui.uif2.editor.UserdefQueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht_b" /><property name="pos" value="1" /><property name="prefix" value="vbdef" /></bean></list></property></bean><!-- 列表自定义项处理 --><bean name="userdefitemlistPreparator" class="nc.ui.uif2.editor.UserdefitemContainerListPreparator"><property name="container" ref="userdefitemContainer" /><property name="params"><list><bean class="nc.ui.uif2.editor.UserdefQueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht" /><property name="pos" value="0" /><property name="prefix" value="vdef" /></bean><bean class="nc.ui.uif2.editor.UserdefQueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht_b" /><property name="pos" value="1" /><property name="prefix" value="vbdef" /></bean></list></property></bean><!-- 通用部分 --><bean id="userdefitemContainer" class="nc.ui.uif2.userdefitem.UserDefItemContainer"><property name="context" ref="context" /><property name="params"><list><bean class="nc.ui.uif2.userdefitem.QueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht" /></bean><bean class="nc.ui.uif2.userdefitem.QueryParam"><!-- 该地方需要根据元数据修改 --><property name="mdfullname" value="ct.ct_ht_b" /></bean><bean class="nc.ui.uif2.userdefitem.QueryParam"><property name="rulecode" value="materialassistant" /></bean></list></property></bean>

说明:
将单据中需要用到的所有自定义项配置好,一次加载数据,卡片或列表引用时从container取值,可以减少连减数。
有两个参数context和params。每一组param中,可以设置mdfullname或rulecode方式查询自定义项,mdfullname取值为元数据命名空间加名称,rulecode取值为对应用户定义属性组的编码(一般为materialassistant)。
普通单据一般需要设置三组param,即表头自定义项、表体自定义项、物料辅助属性。
卡控件中配置不变;
卡片自定义项配置与以前完全不同,其中引用类改为nc.ui.uif2.editor.UserdefitemContainerPreparator,有两个参数container和params。
每一组param中,属性mdfullname对应实体元数据的全名(spacename.entityname);属性rulecode对应用户定义属性组的编码;mdfullname和rulecode属性在每一组param中不能同时设置;
属性pos标识自定义项显示位置,取值为0,1,2,对应IBillItem.HEAD, IBillItem.BODY, IBillItem.TAIL;
属性prefix表示自定义项前缀。

自定义项代码和配置部分(标准单据)

标准单据进行扩展自定义项,需要在元数据、数据库表、实体VO、单据模板等进行扩展

  1. 扩展元数据
    使用UAP找到对应的元数据所需要扩展的实体类进行扩展自定义项
    在这里插入图片描述

  2. 扩展完实体以后发布扩展的元数据
    在这里插入图片描述

  3. 将增加自定义项的表进行扩展
    本次以增加一个自定义为例

ALTER TABLE ct_pu ADD (vdef20 varchar2(101) default null);
  1. 生成增加的自定义字段对应的VO
    在这里插入图片描述

  2. 用户定义属性组增加定义属性属性
    在这里插入图片描述

  3. 单据模板初始化和单据模板设置(集团)将新增的自定义项字段拖拽过去

http://www.lryc.cn/news/497851.html

相关文章:

  • 责任链模式的理解和实践
  • 【大模型-向量库】详解向量库管理:连接管理、集合管理、向量管理
  • MySQL书籍推荐
  • 常见的数据结构:
  • 快速、高效的数据处理:深入了解 Polars 库
  • 【LINUX】Linux 下打包与部署 Java 程序的全流程指南
  • Spark 计算总销量
  • 矩阵置零
  • Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)
  • 深度解读:生产环境中的日志优化与大数据处理实践20241116
  • docker 搭建gitlab,亲测可用
  • SpringBoot 分层解耦
  • opencv复习
  • flask-socketio相关总结
  • 2024-12-03OpenCV图片处理基础
  • 本地部署开源趣味艺术画板Paint Board结合内网穿透跨网络多设备在线绘画
  • iOS、android的app备案超简单的公钥、md5获取方法
  • SpringCloud 与 SpringBoot版本对应关系,以及maven,jdk
  • 23种设计模式之装饰模式
  • HTMLHTML5革命:构建现代网页的终极指南 - 2. HTMLHTML5H5的区别
  • Django之ORM表操作
  • python下几个淘宝、天猫、京东爬虫实例
  • 级联树结构TreeSelect和上级反查
  • gradle下载慢解决方案2024 /12 /1android studio (Windows环境)
  • Python+OpenCV系列:GRAY BGR HSV
  • 丢垃圾视频时间检测 -- 基于状态机的实现
  • 【QT】一个简单的串口通信小工具(QSerialPort实现)
  • 24/12/5 算法笔记<强化学习> doubleDQN,duelingDQN
  • 道可云人工智能元宇宙每日资讯|全国工商联人工智能委员会成立会议在南京举办
  • MySQL数据库(2)-检查安装与密码重置