问题标签 [dynamics-business-central]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
71 浏览

powerbi-datasource - Business Central:如何使用 Power BI 从已过帐的销售发票行表中检索总收入(包括增值税)?

我使用 Power BI 从 Business Central 检索和可视化销售数据,但到目前为止我还没有找到任何方法:

  • 检索我已过帐销售发票的行级别(每个发票和项目编号)的总收入
  • 在我过帐的销售发票的抬头级别(发票编号)上检索总收入
  • 检索我已过帐销售发票的行级别(每个发票和项目编号)的增值税,以便根据收入净额计算收入总额

任何有简单解决方案的人(我确定有一个,因为这似乎是一个相当经典的要求)???

最好,如果您需要任何额外信息,请告诉我,凯文

0 投票
1 回答
77 浏览

api - 商业中心:custome api getById 不起作用

我的问题是我无法为特定的 调用我的自定义 API itemId ,但是当我调用普通 API 时,它按预期工作。

目前,我可以成功调用特定项目的普通 API,如下所示:

但是当我尝试对我的自定义 API 做同样的事情时:

我收到一个错误:

我可以在/items. 我在哪里得到所有项目的清单。

我制作的自定义 API 页面如下所示:

我怀疑我需要向页面添加一个属性,例如CanGetById = true. 不过,我不知道。

BC 版本在 docker 中运行:mcr.microsoft.com/businesscentral/sandbox:dk Docker 版本:V19.03.12

0 投票
2 回答
2801 浏览

angular - MSAL (Angular) 弹出式登录

我在 Angular 中遇到了 MSAL 的问题。我正在使用该@azure/msal-angular软件包(版本 1.1.1)。

我正在开发嵌入在 ERP 系统(业务中心)中的 Angular 应用程序。目前我正面临身份验证问题。

下面是组件的概述。 在此处输入图像描述

业务中心通过引用 Azure blobstorage 中的 Angular dist 文件来嵌入 Angular 应用程序。

登录时,登录提供程序无法重定向回 Angular 应用程序,因为它嵌入在 Business Central 中,并且在嵌入时没有公共 url 来调用 Angular 本身中的路由。

因此,我所做的是将 Angular 应用程序托管在公共端点和嵌入式应用程序中,在身份验证后使用外部应用程序重定向回来。我已经使用另一个库以这种方式支持身份验证,当使用弹出窗口进行身份验证时,我重定向到带有几行 JavaScript 的纯 HTML 页面,以从 url 段中检索 access_token / id_token。检索后,我打电话(window.opener || window.parent).postMessage(message, "*");通知父窗口认证结果。

但现在我遇到了 MSAL 的问题。当仅在本地运行 Angular 应用程序时,使用 redirectURL https://localhost:4200/ 身份验证过程可以正常工作。但是,当将此更改为外部托管的 Angular 应用程序(相同版本)时,它会显示一个带有应用程序(重定向后)的弹出窗口,其中 JWT 在 url 段中。MSAL 没有对此结果做出反应。我认为是因为弹出窗口的域与父窗口不同。

有没有办法用 MSAL 修复这种(复杂的)身份验证方式?

0 投票
1 回答
1234 浏览

microsoft-dynamics - 在 Dynamics 业务中心更新销售订单行项目

我有一个使用 API for business Central 创建的销售订单。销售订单有一个单行项目。我想更新订单项的数量。以下是我到目前为止所尝试的。

端点:https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(company_id)/salesOrders(sales_order_ide)/salesOrderLines(sales_order_line_id)

其中销售订单行 ID 采用e86d3aa1-f2f8-ea11-aa61-0022481e3b8c-10000文档中所述的形式提出请求时PATCH,我收到以下异常:

')' 或 ',' 应位于 '(sale-order-line-item-id)' 中的第 9 位。

当我只是尝试获取订单项时,也会发生上述异常,但是当我更改 URL 并采用以下形式时,该异常已修复:

端点:

当我尝试通过发出 GET请求获取行项目时,此端点正在返回正确的响应。但是,当我PATCH使用相同的端点发出请求时,使用简单的请求正文,例如

它抛出异常:

在 Dynamics 365 Business Central OData Web 服务中不允许对 EdmType 'Collection' 的 'salesOrderLines' 的 'PATCH' 请求。

我还指定了if-Match标题以及包含订单项的 etag 值但无济于事的请求,并且正在发生相同的异常。我错过了什么吗?任何帮助将不胜感激。

0 投票
1 回答
192 浏览

dynamics-business-central - Business Central AL 代码超链接方法

我需要在 Business Central 的登录过程中显示一个 URL。在 OnAfterLoginStart 事件上有一个事件。部分事件代码将显示服务条款。显示服务条款页面如下: Hyperlink(TOS_URL);

执行此操作不会创建新选项卡。

如果我这样做: Message('必须批准新的 TOS'); 超链接(TOS_URL);

然后显示消息并创建一个新选项卡 - 正如预期的那样。

如果我将相同的代码 (Hyperlink(TOS_URL);) 放在按钮上单击窗口,它会按预期工作。

在登录过程完成之前,Business Central 基本代码中是否存在不允许重定向的内容?

有没有其他方法可以在没有消息语句的情况下完成此任务?

感谢您的任何帮助。

0 投票
3 回答
433 浏览

dynamics-business-central - Business Central:知道是否安装了扩展

在 Business Central 中,我想根据是否安装了第 3 方扩展来启用/禁用页面扩展中的字段。我不想依赖这个 3rd 方扩展,因为大多数时候它不会出现,我们的扩展也不依赖它。

有谁知道如果将扩展作为依赖项包含在 app.json 中但在运行时未安装会发生什么?它安装在开发环境中,但未安装在运行时。我的假设是它将无法安装我的扩展程序。

对于我正在尝试做的事情,不需要更新第 3 方扩展数据,但我想阅读它。

有没有办法确定是否安装了第 3 方扩展?

0 投票
1 回答
135 浏览

dynamics-nav - SerialPort 读取扩展因 dotnet 错误而失败

我正在编写一个读取串行端口数据的扩展。我在 BC14 OnPremis 上运行。这就是我所拥有的。全局变量,在客户端运行(显然串行端口不在服务器上,带有事件,因为我需要以某种方式接收数据。

当端口上的数据可用时调用的触发器。它实际上被解雇了。

在 dotne.al 文件中,我有一个 SerialPort 类型的声明。由于某些原因,它会将名称与其他名称混淆,因此我不得不添加一个后缀来键入别名。所以现在我的类型叫做 SerialPort A

问题是调用CurrPort.ReadLine()失败并出现错误:

我尝试使用另一种方法Read。错误是一样的。它很可能与 Nav 将所有 dotnet 变量包装/解包为对象类型有关,但我不知道该怎么做。猜猜这里出了什么问题?

在事件日志中有错误描述

还有一个

0 投票
1 回答
36 浏览

visual-studio-code - 是否有可以为 Visual Studio Code 运行以批量处理错误的工具/扩展程序/脚本?

我有一个相当大的 Dynamics 365 Business Central Extension 在 Visual Studio Code 平台上用 AL 代码编写。Microsoft 正在更改 AL 代码中的一项规则,如果在下一个版本之前未解决,该规则将导致广泛的错误。这个变化是不能使用“implicit with”,所以代码中的每一个记录引用都必须用“Rec.”来限定。在这个扩展中有几百个地方需要解决,手动一个一个地调整它们是不切实际的。以供参考,

这个:

变成这样:

因此,如果这几百个实例的错误(或现在的“问题”)是相同的,有没有办法批量更正,可以说只是应用“Rec”。到已在多个文件和文件夹中标记的每个引用的开头?

0 投票
1 回答
1149 浏览

saas - 如何根据全局变量获取业务中心页面字段的值

在需求预测页面 99000919 中,所有“标题”数据字段都由全局变量支持。我需要将按期间查看(PeriodType)默认为月,然后验证该值。我这样做并不成功。

A. 使用 Modify(PeriodType) 从 OnAfterValidate 触发器中获取值。当我使用 Modify 时,PeriodType 显示在智能感知中,但是当我尝试使用它时,我得到一个编译器错误,即 PeriodType 在当前上下文中不存在。

B. 我也尝试使用 VS Code teventsub 代码片段订阅 PeriodType 的 OnAfterValidate 事件,但没有暴露任何内容。

这可以在带有扩展的 SaaS 解决方案中完成吗?欢迎任何想法或建议。

0 投票
1 回答
283 浏览

docker - BC 17 在 Docker 环境中安装

在 BC17 之前,我会下载相应的映像文件并使用 new-navContainer 命令创建一个 BC Container。我读过BC17的过程是不同的。我发现的文章只说流程正在改变,而不是新流程是什么。

有人知道创建 BC17 Docker 容器的新方法吗?

谢谢。