我们使用的是动态公开Web服务的Microsoft ERP.服务生成的服务不受我们控制.我们没有说明如何创建和公开对象,包括类型定义.当从Web服务添加或删除新方法时,所有类型枚举都将重新编号,并且在更新到新定义之后,使用Web服务的所有内容都会被重新填充.基本上,
enumeration Type1
Item1
Item2
Item3
Run Code Online (Sandbox Code Playgroud)
......可能会变成
enumeration Type6
Item1
Item2
Item3
Run Code Online (Sandbox Code Playgroud)
...枚举类型名称更改,但该类型的成员保持静态.该服务输出的服务看起来与使用XSD.exe生成对象的最终结果完全相同.因此,只要有人在服务上公开新方法(通过ERP GUI),就会重建对象,按字母顺序将类型分配给服务定义,重新暴露,留下整个代码库.
我尝试使用反射来确定类型,然后将静态成员解析为新的业务对象,但它不起作用,因为我不能在不知道类型的实际名称的情况下键入强制转换枚举.以下方法无效.
System.Type t = service.BusinessObjectEnumeration.GetType();
service.SomeField = Enum.Parse(t,"Item1");
Run Code Online (Sandbox Code Playgroud)
...因为编译器抛出错误,因为我没有明确地输出枚举.
有什么想法我可以在将类型动态转换为正确的枚举时如何克服这个问题?
同样,我无法修改服务公开的实际对象,只能修改订阅服务的代码.
谢谢,乔治
我正在寻找关于Shopify和Navision的答案.我们正在考虑将我们当前的网店主机改为Shopify.
但是,重要的是,我们可以让Shopify直接使用我们的会计系统--Navison(现在是Microsoft Dynamics NAV).这必须是可能的,但这种整合有多全面(和昂贵),你们中谁都有这方面的经验吗?
任何帮助将非常感激.谢谢!
我想编写一个.NET应用程序,它将与Dynamics NAV 2009和2013实时接口.应用程序必须读取和更新客户和库存项目等实体.
使用提供的Web服务似乎是集成的最佳候选者,我尝试了一些基于Pages和.net客户端使用webservices读取,更新和创建项目的基本测试.
不幸的是,我对Dynamics很新,我有一些问题可能反映了缺乏经验.
首先 - webservices可以公开Page或Codeunits.Page是否是用于连接的正确选项 - 创建客户?
其次 - 我的理解是动态资产净值很少在没有定制的情况下部署.NAV中的典型自定义(例如添加字段)是否涉及更改标准页面,这种变化是否会反映在Web服务定义中?
web-services navision dynamics-nav dynamics-nav-2013 dynamics-nav-2009
在 php 中向 webservice 发送过滤器时一切正常,但是当我们需要对日期进行排序时,我们遇到了问题。我们需要在某个日期之后修改所有对象。
在页面中,我们有一个日期元素,如下所示:
<xsd:element minOccurs="0" maxOccurs="1" name="Last_Date_Modified" type="xsd:date"/>
Run Code Online (Sandbox Code Playgroud)
我们已经尝试了在 SO 上解释的解决方案:
Dynamics Nav (Navision) webservice ReadMultiple date filter
但是我们的日期格式有点不同,我们的看起来像: 2013-01-01
在我们的过滤器中,我们尝试了以下方法:
array(
'Field' => 'Last_Date_Modified',
'Criteria' => '20130101..'
)
Run Code Online (Sandbox Code Playgroud)
以及其他一些变体,但它不返回任何内容。如果我们将其留空,它将返回所有内容。有没有人知道我们可以做什么?如果我们以某种方式将 last_modified_date 存储为像 unix 时间戳这样的 bigint 会有帮助吗?
使用Navision Web服务,如何按日期过滤.
即在SalesHeader表中有一个"ExportedDate".我想找到所有SalesHeaders,其中ExportedDate尚未设置或在特定日期导出.
似乎每当我们在日期字段上设置过滤器时,web服务将返回所有行或不返回任何行.
我正在启动一个外联网项目,其中 php 页面应该将数据发送到 Microsoft Dynamics NAV。
我以前没有使用过 NAV,但我在这里找到了一些信息。
示例 php 代码对我来说看起来很清楚,但是在开始这个项目之前有什么我应该知道的提示或技巧(基础知识)吗?欢迎所有示例...
是否有更简单的方法来反转布尔值而不是使用IF ELSE结构?
通常我会用!面前的布尔值.但这并不是Navision的诀窍
我注意到,在 Dynamics NAV 2013 中,一些 TextConst 已开始使用 @@@ 作为语言代码。
例如在代码单元 12 中:
PurchaseAlreadyExistsErr@1003 : TextConst '@@@="%1 = Document Type;
Run Code Online (Sandbox Code Playgroud)
@@@ 在这种情况下意味着什么?
我有一个文本变量,我想将其转换为一个选项并用它设置表数据。它如何将变量转换为选项?
谢谢
根据标题,我试图从 .NET 调用一些 C/AL 函数 - 这可能吗?我正在使用 NAV2017。
dynamics-nav ×10
navision ×9
c# ×1
casting ×1
integration ×1
php ×1
shopify ×1
soap ×1
web-services ×1
wsdl ×1