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单据打印模板自定义扩展字段显示名称的更多相关文章

  1. 纸壳CMS现已支持自定义扩展字段

    简介 纸壳CMS是开源免费的可视化内容管理系统. GitHub https://github.com/SeriaWei/ZKEACMS 自定义字段 纸壳CMS现已支持自定义字段,在不修改代码的情况下, ...

  2. 吉特仓储管系统(开源WMS)--Web在线报表以及打印模板分享

    很早之前就想写这篇文章与大家分享一下自己在吉特仓储管理系统中开发打印和报表的功能,在GitHub(https://github.com/hechenqingyuan/gitwms)上公开下载的代码中很 ...

  3. python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)

    昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

  4. Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介

    没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...

  5. 重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印

    重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端 ...

  6. Django模板自定义标签和过滤器,模板继承(extend),Django的模型层

    上回精彩回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

  7. EasyBPM打印模板的缓存问题

    业务平台EasyBPM(易实管理软件)有一个功能是模板打印的功能.就是可以使用一个docx格式的模板,输出一个docx格式的单据的文档. 打印的逻辑是先从服务端获取模板,如果没有对应的模板,就提示先上 ...

  8. WCF自定义扩展,以实现aop!

    引用地址:https://msdn.microsoft.com/zh-cn/magazine/cc163302.aspx  使用自定义行为扩展 WCF Aaron Skonnard 代码下载位置: S ...

  9. Jquery自定义扩展方法(二)--HTML日历控件

    一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...

随机推荐

  1. 洛谷 P1144 最短路计数 题解

    P1144 最短路计数 题目描述 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点\(1\)开始,到其他每个点的最短路有几条. 输入格式 第一行包含\(2\)个正 ...

  2. linux命令之------rm命令

    rm命令 1)    作用:用于删除一个文件或者目录: 2)    -i:删除前逐一询问确认: 3)    -f:即使原档案属性设为只读,亦直接删除,无需逐一确认: 4)-r:将目录及以下之档案亦逐一 ...

  3. Review of Semantic Segmentation with Deep Learning

    In this post, I review the literature on semantic segmentation. Most research on semantic segmentati ...

  4. @RequestBody的使用

    一.说明 首先@RequestBody需要接的参数是一个string化的json,这里直接使用JSON.stringify(json)这个方法来转化 其次@RequestBody,从名称上来看也就是说 ...

  5. [Beta阶段]第二次Scrum Meeting

    Scrum Meeting博客目录 [Beta阶段]第二次Scrum Meeting 基本信息 名称 时间 地点 时长 第二次Scrum Meeting 19/05/03 大运村寝室6楼 40min ...

  6. 【转】聊聊并发(一)——深入分析Volatile的实现原理

    即两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞争条件(race condition). 引言 在多线程并发编程中synchronized和Volatile都扮演着重要的 ...

  7. How To Wake Up at 5 A.M. Every Day

    How To Wake Up at 5 A.M. Every Day For the past 3 months, I’ve successfully transitioned into being ...

  8. sql server数据库备份单个表的结构和数据生成脚本【转】

    1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...

  9. mod_spatialite.so.7

  10. Linux虚拟机:发布WebService接口出现异常,无法访问接口

    Linux虚拟机:发布WebService接口出现异常,无法访问接口 今天在部署WebService工程的时候遇到的问题: 在Linux虚拟机上部署一个tomcat同时在tomcat下放置2个工程,其 ...