zoukankan      html  css  js  c++  java
  • U9单据打印模板自定义扩展字段显示名称

      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

      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(50), --生产领料单单号
        @lineNo NVARCHAR(50)--生产领料单行号
    )
    RETURNS NVARCHAR(255)
    AS
    BEGIN
        DECLARE @DescFlexFieldStr NVARCHAR(255)              
        select @DescFlexFieldStr=cast( D.[name] as NVARCHAR(255) )  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]='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" />

       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
    

     

  • 相关阅读:
    单片机爬坑记-02-资源紧缺
    单片机爬坑记-01-内核差异
    操作系统-第6章习题解析
    操作系统-第5章习题解析
    操作系统-第4章习题解析
    操作系统-第3章习题解析
    操作系统-第2章习题解析
    操作系统-第1章习题解析
    BugKu之xxx二手交易市场
    BugKu之备份是个好习惯
  • 原文地址:https://www.cnblogs.com/youmin3205/p/11392126.html
Copyright © 2011-2022 走看看