U9单据打印模板自定义扩展字段显示名称

摘要:
IssueDoc_IssueDocLines_LineNum.Value5)、fn_GetSegName参数说明:参数1、参数2固定值,参数3为扩展字段段数方式二:采用SQL用户自定义函数实现1)、创建SQL函数:函数名称[Fn_YM_IssueDetailDescFlex]--=================================================--获取生产领料单明细物料私有段6值集值名称--=================================================IFEXISTSDROPFUNCTIONFn_YM_IssueDetailDescFlexGOCREATEFUNCTIONdbo.Fn_YM_IssueDetailDescFlexRETURNSNVARCHARASBEGINDECLARE@DescFlexFieldStrNVARCHARselect@DescFlexFieldStr=castfromMO_IssueDocAinnerjoin[MO_IssueDocLine]Boninnerjoin[CBO_ItemMaster]ConinnerjoindonwhereA.[DocNo]=@DocNoandb.[LineNum]=@lineNoRETURN@DescFlexFieldStrEND函数2)、SQL验证函数可用性selectdbo.Fn_YM_IssueDetailDescFlex--参数1:生产领料单单号;参数2:生产领料单行号3)、U9中注册自定义函数注释:注册自定义函数后,需重启IIS方可在U9产品中使用;路径:D:yonyouU9V50Portalinscript.xmlD:yonyouU9V50PortalApplicationServerinscript.xml注册文件:script.xml注册函数:4)、调用自定义函数[Fn_YM_IssueDetailDescFlex]selectFn_YM_IssueDetailDescFlexfromUFIDA::U9::MO::Issue::IssueDocwhereUFIDA::U9::MO::Issue::IssueDoc.DocNo=Fields!

UBF打印模板中,单据自定义扩展字段显示均为扩展字段值集值编码,而在实际运用过程中打印时需要显示扩展字段名称,具体实现方法如下

方式一:采用SQL系统定义函数[dbo].[fn_GetSegName]实现<通用>

1)、检查[fn_GetSegName]函数是否存在(SQL位置:ERP数据库->可编译性->函数->标量值函数)

2)、在U9中注册函数[fn_GetSegName];

文件路径:  D:yonyouU9V50Portalinscript.xml
           D:yonyouU9V50PortalApplicationServerinscript.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 ,'#@#',56) 
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张

5)、fn_GetSegName(DescFlexField_CombineName ,'#@#',56) 参数说明:参数1、参数2固定值,参数3为扩展字段段数(公共段1-50,私有段从51段开始)

方式二:采用SQL用户自定义函数实现<定制>

1)、创建SQL函数:函数名称[Fn_YM_IssueDetailDescFlex]

U9单据打印模板自定义扩展字段显示名称第2张U9单据打印模板自定义扩展字段显示名称第3张
--=================================================
--获取生产领料单明细物料私有段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(50), --生产领料单单号
    @lineNo NVARCHAR(50)--生产领料单行号
)
RETURNS NVARCHAR(255)
AS
BEGIN
    DECLARE @DescFlexFieldStr NVARCHAR(255)              
    select @DescFlexFieldStr=cast( D.[name] as NVARCHAR(255) )  fromMO_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]='034' ) 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','10') -- 参数1:生产领料单单号;参数2:生产领料单行号

3)、U9中注册自定义函数

注释:注册自定义函数后,需重启IIS方可在U9产品中使用;

路径: D:yonyouU9V50Portalinscript.xml
      D:yonyouU9V50PortalApplicationServerinscript.xml
 注册文件:script.xml
 注册函数: <sql name="Fn_YM_IssueDetailDescFlex" method="Fn_YM_IssueDetailDescFlex" owner="dbo" />

U9单据打印模板自定义扩展字段显示名称第4张

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单据打印模板自定义扩展字段显示名称第5张

免责声明:文章转载自《U9单据打印模板自定义扩展字段显示名称》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WPFMVVMLight框架学习使用MVVMLightphpmyadmin教程:使用phpmyadmin创建用户下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

debian内核代码执行流程(一)

 本文根据debian开机信息来查看内核源代码。 系统使用《debian下配置dynamic printk以及重新编译内核》中内核源码来查看执行流程。 使用dmesg命令,得到下面的开机信息: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgrou...

mac os hot key

了解常见 Mac OS X 快捷键。快捷键是通过按下键盘上的组合键来调用 Mac OS X 功能的一种方式。 要使用快捷键或组合键,您可以同时按修饰键和字符键。例如,同时按下 Command 键(标有符号的按键)和“c”键会将当前选中的任何内容(文本、图形等等)拷贝至夹纸板。这也称作 Command-C 组合键(或快捷键)。 许多组合键中都包含修饰键...

驱动模块(2)——模块信息与调试

一、查看内核模块信息 相关命令:modprobe、insmod、rmmod、modinfo、lsmod 1.查看内核所有内置模块# cat /lib/modules/$(uname -r)/modules.builtin kernel/arch/arm64/crypto/sha1-ce.ko kernel/arch/arm64/crypto/sha2-ce...

《JavaScript面向对象编程指南》

第一章、引言 1.5 面向对象的程序设计常用概念 对象(名词):是指“事物”在程序设计语言中的表现形式。 这里的事物可以是任何东西,我们可以看到它们具有某些明确特征,能执行某些动作。 这些对象特征就叫做属性(形容词),动作称之为方法(动词)。 类:实际上就是对象的设计蓝图或制作配方。类更多的是一种模板,而对象就是在这些模版的基础上被创建出来的。 封装:主要...

Javascript动画效果(三)

Javascript动画效果(三) 前面我们已经介绍了速度动画、透明度动画、多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件雏形,接下来我们对前面的动画效果进行进一步扩充,尽量将我们的框架做到更实用。在这里我们还需要了解两个运动,一个是链式运动,一个是同时运动。它们间的区别分别是:链式运动是指运动一个接着...

JS中一道关于this和闭包的题

this和闭包的一道练习题 var num = 20; var obj = { num: 30, fn: (function (num){ this.num *= 3; num += 15; var num = 45; return function(){...