使用带有第81页Gen_日记行的NAV 2013 R2 Web服务时出错

问题描述 投票:0回答:1

我正在构建C#应用程序以读取一些银行对帐单文件并在Gen_ Journal Line表中创建一些注册表。

我已将第81页Gen_ Journal Line配置为Web服务,并且正在通过oData界面进行访问。

我遇到错误:插入键中缺少主键值Journal_Batch_Name,Journal_Template_Name,Line_No。确保页面上的所有主键都由控件支持,以便进行设置

我已经在笔记本电脑中的演示数据库中安装了NAV 2013 R2,并配置了相同的Web服务,并且使用了完全相同的代码。

但是在客户端的NAV服务器中,出现上述错误。

我在调用nav.SaveChanges()之前打印上述字段,并且这些字段具有期望的值。

有什么想法吗?

c# web-services microsoft-dynamics dynamics-nav
1个回答
0
投票

如果发布标准的普通日记本(第39页),则无法通过网络服务添加行。

当您调用在日记中创建新行的代码时,应在页面上显示主键字段,否则它们的值不可预测。我不知道为什么代码在笔记本电脑和服务器上的行为不同,但是我认为您的笔记本电脑体验是无法再现的。如果您在同一常规日记帐中创建另一个批次,并尝试通过Web服务在不同批次中插入几行,则将无法使用。

我建议选择其他方式。您可以创建另一个页面,其中包含您需要填充的字段(包括主键字段)并将其公开为Web服务(OData或SOAP),或者创建执行该任务并将其方法公开为SOAP服务的代码单元。

© www.soinside.com 2019 - 2024. All rights reserved.