当前位置: 首页 > 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. 单据模板初始化和单据模板设置(集团)将新增的自定义项字段拖拽过去

相关文章:

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

自定义项教程 自定义项和物料辅助属性简介 自定义档案的概念&#xff1a; NC系统中有大量的档案&#xff0c;这些档案中有相当一部分为系统预置的&#xff0c;鉴于用户对系统应用的个性化需求&#xff0c;系统支持用户自定用户自己的档案&#xff0c;并对其进行维护管理&…...

责任链模式的理解和实践

责任链模式&#xff08;Chain of Responsibility&#xff09;是行为型设计模式之一&#xff0c;它通过将多个对象连成一条链&#xff0c;并沿着这条链传递请求&#xff0c;直到有对象处理它为止。这个模式的主要目的是将请求的发送者和接收者解耦&#xff0c;使请求沿着处理链传…...

【大模型-向量库】详解向量库管理:连接管理、集合管理、向量管理

在向量数据库&#xff08;Vector Database&#xff09;中&#xff0c;向量库管理的概念是非常重要的&#xff0c;因为它涉及到如何高效地存储、索引和检索大规模的向量数据。向量库管理通常包括三个主要方面&#xff1a;连接管理、集合管理和向量管理。以下是对这三者的详细解释…...

MySQL书籍推荐

《高性能MySQL&#xff08;第4版&#xff09;》-西尔维亚博特罗斯 系统层次 Mysql性能优化和高可用架构实践 2020 系统基础 MySQL性能调优与架构设计 系统基础 Mysql技术大全 2021 综合 MySQL数据库应用案例教程 综合实战 从入门到项目实践 综合实战 丰富 超值 MySQ…...

常见的数据结构:

数据结构是计算机科学中的一个核心概念&#xff0c;它涉及到组织、管理和存储数据的方式&#xff0c;以便可以有效地访问和修改数据。数据结构的形式有很多&#xff0c;每种结构都有其特定的用途、优势和局限性。以下是一些常见的数据结构&#xff1a; 1. **数组&#xff08;A…...

快速、高效的数据处理:深入了解 Polars 库

快速、高效的数据处理&#xff1a;深入了解 Polars 库 在数据科学和分析领域&#xff0c;Pandas 一直是 Python 数据处理的标杆。然而&#xff0c;随着数据量的增加&#xff0c;Pandas 在性能上的局限性逐渐显现。为了解决这一问题&#xff0c;越来越多的开发者开始寻找替代方…...

【LINUX】Linux 下打包与部署 Java 程序的全流程指南

文章目录 一、Java 程序打包1. 使用 Maven 打包2. 使用 Gradle 打包 二、运行 JAR 文件1. 前台运行2. 后台运行方法 1&#xff1a;使用 & 符号方法 2&#xff1a;使用 nohup 三、关闭运行中的程序1. 查找程序 PID2. 关闭程序 四、使用 Shell 脚本管理程序1. 创建 Shell 脚本…...

Spark 计算总销量

Spark 计算总销量 题目&#xff1a; 某电商平台存储了所有商品的销售数据&#xff0c;平台希望能够找到销量最好的前 N 个商品。通过分析销售记录&#xff0c;帮助平台决策哪些商品需要更多的推广资源。 假设你得到了一个商品销售记录的文本文件 product_id, product_name,…...

矩阵置零

矩阵置零 ​ 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xff…...

Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)

一、什么是 Sealos&#xff1f; Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式&#xff0c;抛弃了传统的云计算架构&#xff0c;转向以 Kubernetes 为云内核的新架构&#xff0c;使企业能够像使用个人电脑一样简单地使用云。 二、适用场景 业务运…...

深度解读:生产环境中的日志优化与大数据处理实践20241116

&#x1f31f; 深度解读&#xff1a;生产环境中的日志优化与大数据处理实践 在现代软件开发中&#xff0c;日志是系统调试与问题排查的重要工具。然而&#xff0c;随着应用的复杂化和数据量的增长&#xff0c;传统日志模块在应对复杂嵌套对象、大数据类型时可能面临性能问题和安…...

docker 搭建gitlab,亲测可用

1、Gitlab镜像 查找Gitlab镜像 docker search gitlab 拉取Gitlab镜像 docker pull gitlab/gitlab-ce:latest 2、启动Gitlab容器 # 启动容器 docker run \-itd \-p 9980:80 \-p 9922:22 \-v /home/gitlab/etc:/etc/gitlab \-v /home/gitlab/log:/var/log/gitlab \-v /ho…...

SpringBoot 分层解耦

从没有分层思想到传统 Web 分层&#xff0c;再到 Spring Boot 分层架构 1. 没有分层思想 在最初的项目开发中&#xff0c;很多开发者并没有明确的分层思想&#xff0c;所有逻辑都堆砌在一个类或一个方法中。这样的开发方式通常会导致以下问题&#xff1a; 代码混乱&#xff1…...

opencv复习

目录 1.core 1.图像变换 1.1 affine仿射变换 1.2 透视变换 2.四元数&#xff08;旋转&#xff09; 2.1 轴角转四元数 2.2 旋转矩阵转四元数 2.3 欧拉角转旋转矩阵 2.4 四元数转旋转矩阵 2.5 四元数用eigen用的比较多 2. imgproc. Image Processing 2.1 bilateralF…...

flask-socketio相关总结

flask-socketio是一个为flask应用程序添加的实时双向通信功能的扩展库&#xff0c;有了这个库&#xff0c;就可以在flask应用中应用websocket协议&#xff0c;帮助flask实现低延迟、双向的客户端、服务端通信。客户端通过任何SocketIO官方库&#xff0c;都能与服务器建立长连接…...

2024-12-03OpenCV图片处理基础

OpenCV图片处理基础 OpenCV的视频教学&#xff1a;https://www.bilibili.com/video/BV14P411D7MH 1-OpenCV摄像头读取 OpenCV使用摄像头读取图片帧&#xff0c;点击S保存当前帧到指定文件夹&#xff0c;点击Q关闭窗口&#xff0c;点击其他按钮打印按钮的值 要实现这个功能&…...

本地部署开源趣味艺术画板Paint Board结合内网穿透跨网络多设备在线绘画

文章目录 前言1.关于Paint Board2.本地部署paint-board3.使用Paint Board4.cpolar内网穿透工具安装5.创建远程连接公网地址6.固定Paint Board公网地址 前言 大家好&#xff0c;是不是每次想要在电脑上画画时&#xff0c;都被那些笨重的专业绘图软件搞得头大如斗呢&#xff1f;…...

iOS、android的app备案超简单的公钥、md5获取方法

很多云商的备案平台&#xff0c;推荐下载一些工具来获取公钥和MD5&#xff0c;但是这些工具的跨平台性不是很好&#xff0c;安装也十分麻烦&#xff0c;安装的时候还需要设置国内源等等。 这里&#xff0c;其实有在线工具可以获取APP的公钥和MD5、SHA1值这些信息的。不需要安装…...

SpringCloud 与 SpringBoot版本对应关系,以及maven,jdk

目录 SpringCloud 与 SpringBoot各版本的对应关系 方式一 Learn 方式二 OverView SpringBoot与JDK、maven 容器等对应关系 SpringCloud 与 SpringBoot各版本的对应关系 SpringCloudSpringBootFinchley2.0.xFinchley.SR1Spring Boot >=2.0.3.RELEASE and <=2.0.9RELEAS…...

23种设计模式之装饰模式

目录 1. 简介2. 代码2.1 ABatterCake &#xff08;抽象组件&#xff09;2.2 BatterCake &#xff08;具体组件&#xff09;2.3 ADecorator &#xff08;抽象装饰者&#xff09;2.4 EggDecorator &#xff08;具体装饰者&#xff09;2.5 SausageDecorator&#xff08;具体装饰者…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...