最终目标:使用Web服务在Dynamics GP中创建应收帐款凭证,该服务可以选择是否从C#应用程序提供分发。
我正在尝试的内容:检索特定角色的策略,其中帐户分配行为设置为“将提供分发”
我在下面添加了一个代码段。如果我删除context.RoleKey属性的设置,一切都可以正常使用默认角色,并使用自动分发创建事务。但是,设置RoleKey属性会导致GetPolicyByOperation方法调用中出现未处理的脚本异常。我尝试过使用超级用户 - 如下所示。我还尝试了一个新角色,让它可以访问所有内容。这两个角色都已用于在安全控制台中创建新版本的创建应收账款发票策略。
context.OrganizationKey = (OrganizationKey)companyKey;
RoleKey roleKey = new RoleKey();
roleKey.Id = "Superuser";
context.RoleKey = roleKey;
receivablesInvoiceCreatePolicy = wsDynamicsGP.GetPolicyByOperation("CreateReceivablesInvoice", context);
答案 0 :(得分:0)
我在美国北达科他州Fargo举行的GP Technical Airlift 2013期间与一名微软员工合作。他发现这个失败可能是一个错误,他将在内部记录。他通过在Context对象上使用WorkOnBehalfOf属性与我分享了一个解决方法。以下是我设置此代码和代码段的步骤。
代码:
context.OrganizationKey = (OrganizationKey)companyKey;
receivablesInvoiceCreatePolicy = wsDynamicsGP.GetPolicyByOperation("CreateReceivablesInvoice", context);
context.WorkOnBehalfOf = "<domain>\\domainuser01";
wsDynamicsGP.CreateReceivablesInvoice(newReceivablesDoc, context, receivablesInvoiceCreatePolicy);