如何从报表设计器调用 Acumatica 函数?

2023-12-29

我有一个用 Acumatica 编写的通用函数,我们在各种 Acumatica 屏幕上使用它,我们希望在报表设计器中使用此函数,以便我们可以打印该值。 示例:CheckBday() 如果我们传递客户代码,它应该检查此客户生日字段,如果是今天,则返回“生日快乐”

是否可以调用报表设计器中的这个常用函数来处理?如果是这样,如何在报表设计器中实现这一点,任何见解都会有所帮助。


您可以通过使用用户定义函数 (UDF) 在报表设计器上使用扩展函数。 你可以:

  1. 创建一个名为 ReportUDF 的新 AddOn 项目。添加一个名为 UtilFunctions.cs 的新类文件。
  2. 添加公共函数 YOURFUNCTION:

     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using PX.Objects.AP;
    
     namespace ReportUDF
     {
        public class UtilFunctions
        {
            public string YOURFUNCTION(string PARAM)
            {
                try
                {
                     //function code
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
         }
    }
    
  3. 参数及其数据类型:类中的方法应始终包含字符串类型的参数,并始终返回字符串类型的值。处理参数和返回参数的最佳方法是将它们声明为 Object 类型。但是,您需要在使用或使用这些参数之前将它们转换为适当的数据类型,以确保您的方法正确运行。

  4. 编译此附加项目。编译成功后,确保程序集(ReportUDF.dll)放置在 Acumatica 网站的 Bin 文件夹中。

  5. 在 ReportLauncher.aspx.cs 中连接这个新程序集,如下所述:

    • 在 Visual Studio 中打开 ReportLauncher.aspx.cs 文件(网站文件夹 > 框架)。
    • 将以下代码行添加到静态构造函数 Pages_ReportLauncer 的底部:

       Type DemoReportFunctionsType =
       System.Web.Compilation.BuildManager.GetType("ReportUDF.UtilFunctions", false);
      
       if(DemoReportFunctionsType != null)
       {      
           ExpressionContext.RegisterExternalObject("ReportUDF",Activator.CreateInstance(DemoReportFunctionsType));
       }
      
  6. 在报表设计器中打开表单报表并添加具有以下表达式的 TextBox 控件,如下所示:

     = ReportUDF.YOURFUNCTION([DAC.UsrSomeField])
    

观察:UDF 不会显示在表达式编辑器中。

  1. 保存并运行报告。

观察:自定义 ReportLauncher.aspx.cs 不是标准做法,应重新应用升级期间的更改。您始终可以将这些更改编译为自定义包的一部分;但是,您应该确保在升级过程中保留此代码文件的增强功能(如果有)。否则,报告可能无法按预期运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从报表设计器调用 Acumatica 函数? 的相关文章

  • 更新自定义字段结束于无限循环

    我在 AR 发票和备忘录 屏幕 ID AR301000 中有一个对应 AP 参考的自定义字段 Nbr 在类似的管理器中 AP 账单和调整 屏幕 ID AP301000 中的另一个自定义字段对应于相应的 AR 参考 Nbr 我正在尝试更新 A
  • 如何制作库存物品标签 (IN619200) 为收到的每件物品打印一个标签?

    开箱即用Acumatica Inventory Item Label报告 IN619200 旨在仅当项目序列化时才在收据上打印该行项目的多个标签 我们将修改报告 允许用户选择收据编号 并让系统根据每件商品收到的数量生成标签数量 无论它们是否
  • 扩展基于 Acumatica 投影的 DAC 查询

    有没有办法扩展 修改投影 DAC 的投影查询 例如 如果我需要向投影添加连接语句 然后将新连接的表用于可用字段 向 PXCacheExtension 添加自定义字段可以按预期工作 但在 PXCacheExtension DAC 顶部指定 P
  • 在 Acumatica 中,您可以使用未绑定的 DAC 获得图表/页面吗?

    是否可以让图表和页面使用完全未绑定的 DAC 当前在 4 20 中尝试此操作时 我收到以下错误消息 Incorrect syntax near the keyword FROM Description An unhandled except
  • Acumatica 配置向导错误:无法在注册表中获取 IIS 版本

    我尝试在 Acumatica 配置向导上创建一个新实例 我收到一条错误消息 无法从注册表获取您的 IIS 版本 虽然我已经安装了IIS功能 我按照有关在 IIS 上安装哪些功能的说明进行操作 它使用的 net框架是4 6 显然这个问题还没有
  • 网格中的复选框控件未触发 fieldupdated 事件

    我在自定义网格上选择的复选框不会触发 Fieldupdated 事件 protected void MyTable Selected FieldUpdated PXCache cache PXFieldUpdatedEventArgs e
  • Acumatica 和 Outlook 插件以及 Azure 单点登录错误

    与 Acumatica 的 Outlook 插件相关 当我们的用户尝试使用其 azure 登录名进行身份验证时 我们会看到以下错误 https www dropbox com s le7t3ez5ua69qls Screenshot 202
  • Acumatica 通用查询如何将多个 GI 导出为 xml

    我知道你可以一次将一个 GI 导出到 xml 我想知道你可以选择所有用户 GI 并导出到 XML 作为备份 Thanks 您可以通过创建一个自定义项目并将您需要的所有通用查询包含在一个包中来实现此目的 该项目可以导出和导入 其中包括所有附加
  • 有没有办法将用户定义的字段放入选择器中?

    我有一位客户使用用户定义字段 我发现这些值位于数据库的 KvExt 表中 但我还没有找到通过 DAC 或 DAC 扩展直接访问这些值的方法 有没有办法可以访问该字段并将其添加到 Acumatica 基本页面 我的例子中的具体目标是 ARPa
  • Acumatica 中动态变化的 PXSelector

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在 PXSelector 中呈现的表 DAC e g 如果用户选择选项 a 我需要在表 A 中的 PXSelector 值中显示 如果用户选择选项
  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • 如何在 acumatica 门户中获取登录的企业帐户 ID?

    我正在尝试根据登录的客户企业帐户过滤目录项 如何在 acumatica 门户中获取登录的客户企业帐户价值 问候 穆拉利达兰 正如你所发现的 PXAccess GetUserID 允许您获取此信息 但您也可以在 BQL 查询中使用 Acces
  • Acumatica - 站点地图项目不会在现代 UI 中显示

    我刚刚将销售佣金报告添加到站点地图 它显示在经典 UI 中 但不显示在现代 UI 中 当我在现代用户界面中搜索它时 结果什么也没有返回 我的站点地图节点在 project xml 中的样子
  • 将文件添加到销售订单行项目

    I want to add files to salesorder line items in Acumatica using web services What endpoint should be used 我想使用 Web 服务端点添
  • Acumatica 过滤 PXSelector 具有快速搜索功能

    我有一个自定义 dac 和 pxselector 如下所示 With quick search red bordered search I want to filter with every properties For example w
  • 动态更改列名

    我有一个标题 详细信息自定义屏幕 我在其中根据标题中的下拉选择来操作显示哪些网格列 这工作得很好 但现在我也想更改一些列名称 使用记录的语法 我无法让它工作 我看不出我做错了什么 似乎没有什么区别 我已经附加到进程并在这个事件上设置了一个断
  • Acumatica 实时动态下拉列表

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在组合框 下拉列表中呈现的表 DAC e g 如果当前StatusProfileID WO1 和Status WCMP WCMP 是当前版本User
  • 如何在 acumatica 中使用 webservices api 导出数据时设置超时

    这是第一个场景 我使用 webservices api 在 acumatica 系统中创建新的 账单 文档到账单和调整屏幕 AP301000 之后 我需要使用网络服务加载当前屏幕 AP301000 的 应用程序 选项卡菜单中的所有文档记录
  • 根据机会创建销售订单时填充自定义字段

    我在 SO 屏幕 SO301000 上创建了一个自定义字段 联系人 现在 当用户从机会屏幕 CR304000 创建销售订单时 我需要填充这些字段 新的自定义字段联系人基于在机会中选择的客户 我可以看到 当我从机会创建销售订单时 客户会自动填
  • 通过交叉引用过滤库存

    我想通过交叉引用以及其他属性来自定义库存过滤 我为这样的库存项目添加了另外两个交叉引用项目 现在我想通过替代类型的替代 Id 值以任何其他形式自定义库存过滤器 谢谢你 没有简单的方法可以在不进行自定义的情况下在库存商品的备用 ID 上添加搜

随机推荐