zoukankan      html  css  js  c++  java
  • [AX]AX2012 SSRS报表的语言本地化

    在AX2012的SSRS报表中可以使用定义在AOT中的标签,运行报表时根据用户的选择呈现相应的语言,具体的用法是在表达式中引用标签:

     =Labels!@SYS12345

    SYS指的是系统自带的标签文件SYS,后面的数字则是标签的编号,可以通过AX client workspace中的label editor查找相应的标签。这样的表达式可以应用于报表Dataset字段的Caption属性,也可以是精确设计Textbox的Label属性,还可以是报表参数的Prompt string属性等等。

    对于使用Report data provider作为数据源的报表,Data contract class定义的参数默认使用其EDT类型的标签,还可以使用SysOperationLabelAttribute特性在参数方法中自定义标签文本:

    [
        DataMemberAttribute(‘CategoryA’),
        SysOperationLabelAttribute(literalstr("@SYS1334"))
    ]
    public Percent parmCategoryA(Percent _categoryA = categoryA) 
    {
        categoryA = _categoryA; 
        return category;
    }

    在AX Client或者Enterprise portal站点运行报表时标签的语言使用用户选择的语言,在Visual studio的报表预览窗口中可以手工选择要预览的语言。而如果是从代码中运行报表,可以通过SrsReportRdlDataContract.parmLanguageId()方法来设定报表的语言。

    报表部署到服务器时,默认只部署一个中性的语言版本,也可以配置为某个或者某些报表部署语言相关的静态(Static)版本,标签在部署时被解析成相应的语言版本,而不是在运行时再处理,因而加快了报表的渲染速度。系统安装时不会自动部署语言静态版本,但是可以通过Microsoft Dynamics AX 2012 Management Shell部署指定报表的语言静态版本,在System administration > Setup > Business intelligence > Reporting Services > Report deployment settings窗口中要静态部署的报表。在Initialization checklist初始化系统时,会自将FreeTextInvoice、ProdPickList等报表添加到静态报表列表中。如何使用Powershell部署报表参见http://msdn.microsoft.com/EN-US/library/dd309703.aspx,事实上如果设置某个报表为静态部署,在Visual studio中或者AOT选择报表右键部署时都会自动为报表部署语言的静态版本。部署的静态报表会保存在SQL报表站点的DynamicsAX\StaticReports目录下,该目录下会为系统license授权的每个语言建立一个子目录,目录里则是保存报表的相应语言版本。

  • 相关阅读:
    1057. 数零壹(20)
    Docker镜像操作
    Maven 常用操作
    k8s集群搭建(kubadm方式)
    Spring单事务多线程操作引来的问题(Lock wait timeout exceeded; try restarting transaction)
    Centos7 Maven 安装教程
    Centos7 Git安装教程
    Centos7 Docker安装mysql5.7
    Centos7 Docker安装Nginx教程
    SpringBoot启动及配置文件加载原理分析
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2783864.html
Copyright © 2011-2022 走看看