U9单据打印模板自定义扩展字段显示名称
UBF打印模板中,单据自定义扩展字段显示均为扩展字段值集值编码,而在实际运用过程中打印时需要显示扩展字段名称,具体实现方法如下
方式一:采用SQL系统定义函数[dbo].[fn_GetSegName]实现<通用>
1)、检查[fn_GetSegName]函数是否存在(SQL位置:ERP数据库->可编译性->函数->标量值函数)
2)、在U9中注册函数[fn_GetSegName];
文件路径: D:\yonyou\U9V50\Portal\bin\script.xml
D:\yonyou\U9V50\Portal\ApplicationServer\bin\script.xml
注册文件: script.xml
注册函数: <sql name="fn_GetSegName" method="fn_GetSegName" owner="dbo" />
3)、注册自定义函数后,需重启IIS方可在U9产品中使用;
4)、打印模板自定义字段调用函数[fn_GetSegName]方法;
select fn_GetSegName(UFIDA::U9::MO::Issue::IssueDoc.IssueDocLines.Item.DescFlexField.CombineName ,'#@#',)
from UFIDA::U9::MO::Issue::IssueDoc
where UFIDA::U9::MO::Issue::IssueDoc.DocNo=Fields!IssueDoc_DocNo.Value and UFIDA::U9::MO::Issue::IssueDoc.IssueDocLines.LineNum=Fields!IssueDoc_IssueDocLines_LineNum.Value

5)、fn_GetSegName(DescFlexField_CombineName ,'#@#',56) 参数说明:参数1、参数2固定值,参数3为扩展字段段数(公共段1-50,私有段从51段开始)
方式二:采用SQL用户自定义函数实现<定制>
1)、创建SQL函数:函数名称[Fn_YM_IssueDetailDescFlex]
--=================================================
--获取生产领料单明细物料私有段6值集值名称
--=================================================
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'Fn_YM_IssueDetailDescFlex')
DROP FUNCTION Fn_YM_IssueDetailDescFlex
GO
CREATE FUNCTION dbo.Fn_YM_IssueDetailDescFlex
(
@DocNo NVARCHAR(), --生产领料单单号
@lineNo NVARCHAR()--生产领料单行号
)
RETURNS NVARCHAR()
AS
BEGIN
DECLARE @DescFlexFieldStr NVARCHAR()
select @DescFlexFieldStr=cast( D.[name] as NVARCHAR() ) from MO_IssueDoc A
inner join [MO_IssueDocLine] B on (B.[issueDoc]=A.[ID])
inner join [CBO_ItemMaster] C on (B.[item]=C.[ID])
inner join (select [Base_DefineValue].[Code],[Name]
from [Base_DefineValue_Trl]
inner join [Base_DefineValue] on ([Base_DefineValue].[ID]=[Base_DefineValue_Trl].[ID])
inner join [Base_ValueSetDef] on ([Base_ValueSetDef].[ID]=[ValueSetDef])
where [Base_ValueSetDef].[Code]='' ) d on (C.[DescFlexField_PrivateDescSeg6]=d.[code])
where A.[DocNo]=@DocNo and b.[LineNum]=@lineNo RETURN @DescFlexFieldStr
END
函数 <Fn_YM_IssueDetailDescFlex>
2)、SQL验证函数可用性
select dbo.Fn_YM_IssueDetailDescFlex('GQLL-201908070034','') -- 参数1:生产领料单单号;参数2:生产领料单行号
3)、U9中注册自定义函数
注释:注册自定义函数后,需重启IIS方可在U9产品中使用;
路径: D:\yonyou\U9V50\Portal\bin\script.xml
D:\yonyou\U9V50\Portal\ApplicationServer\bin\script.xml
注册文件:script.xml
注册函数: <sql name="Fn_YM_IssueDetailDescFlex" method="Fn_YM_IssueDetailDescFlex" owner="dbo" />

4)、调用自定义函数[Fn_YM_IssueDetailDescFlex]
select
Fn_YM_IssueDetailDescFlex(UFIDA::U9::MO::Issue::IssueDoc.DocNo,UFIDA::U9::MO::Issue::IssueDoc.IssueDocLines.LineNum)
from UFIDA::U9::MO::Issue::IssueDoc
where UFIDA::U9::MO::Issue::IssueDoc.DocNo=Fields!IssueDoc_DocNo.Value
and UFIDA::U9::MO::Issue::IssueDoc.IssueDocLines.LineNum=Fields!IssueDoc_IssueDocLines_LineNum.Value

U9单据打印模板自定义扩展字段显示名称的更多相关文章
- 纸壳CMS现已支持自定义扩展字段
简介 纸壳CMS是开源免费的可视化内容管理系统. GitHub https://github.com/SeriaWei/ZKEACMS 自定义字段 纸壳CMS现已支持自定义字段,在不修改代码的情况下, ...
- 吉特仓储管系统(开源WMS)--Web在线报表以及打印模板分享
很早之前就想写这篇文章与大家分享一下自己在吉特仓储管理系统中开发打印和报表的功能,在GitHub(https://github.com/hechenqingyuan/gitwms)上公开下载的代码中很 ...
- python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)
昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...
- Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介
没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...
- 重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印
重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端 ...
- Django模板自定义标签和过滤器,模板继承(extend),Django的模型层
上回精彩回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...
- EasyBPM打印模板的缓存问题
业务平台EasyBPM(易实管理软件)有一个功能是模板打印的功能.就是可以使用一个docx格式的模板,输出一个docx格式的单据的文档. 打印的逻辑是先从服务端获取模板,如果没有对应的模板,就提示先上 ...
- WCF自定义扩展,以实现aop!
引用地址:https://msdn.microsoft.com/zh-cn/magazine/cc163302.aspx 使用自定义行为扩展 WCF Aaron Skonnard 代码下载位置: S ...
- Jquery自定义扩展方法(二)--HTML日历控件
一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...
随机推荐
- 【JZOJ6213】【20190613】String
题目 \(n \le 10^{18} \ , \ |T| \le 10^5\) 题解 显然,最少的操作次数一定是贪心地能匹配就匹配 我们可以建出\(T\)的SAM,把SAM不能走的边补到根的后继节点 ...
- 【luoguP2994】[USACO10OCT]吃晚饭的时候Dinner Time
题目链接 按顺序对于每个座位找一个最近的同时编号最小的牛就行了 #include<iostream> #include<cstring> #include<cstdio& ...
- UmiJS可插拔的企业级 react 应用框架,配合ant-design-pro使用
入门非常简单 # 安装 $ yarn global add umi # 或者 npm install -g umi # 新建应用 $ mkdir myapp && cd myapp # ...
- 【POJ3126】Prime Path
本题传送门 本题知识点:宽度优先搜索 题意很简单.要找一个质数变到另一个质数的最少步数,两个质数都是4位数,变的时候只能变其中一位,变了的数也仍是质数. 思路也很简单,对每一位数进行修改,如果修改后的 ...
- 在 Mac、Linux、Windows 下Go交叉编译
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED= ...
- Spring Boot使用Html
1.引入模板thymeleaf <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- 微信token介绍
这里的微信token 有以下三种 1.小程序的token (appid+appsecret=token) 2.一个是第三方平台token(comment_appid+comment_appsecre ...
- R3300L运行CoreELEC, EmuELEC和Armbian
R3300L的参数 CPU: S905LRAM: Samsung K4B4G1646E-BCMA 512MB * 2 = 1GBROM: Samsung KLM8G1WEPD-B031 8GB eMM ...
- odoo开发笔记 -- 用户字段值,默认给当前登录用户
场景描述: 在一些视图下,当系统用户创建某条记录的时候,需要给某个用户字段设置默认值,即:默认值为系统的当前登录用户,如何实现? 处理方式: 在定义模型的时候,给该字段赋值就可以: operator_ ...
- Nodejs 包与 npm第三方模块安装和 package.json 以及 cnpm
包与 NPM 1. 包 Nodejs 中除了它自己提供的核心模块外,可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理. ...