我正在使用GP2013上的Web服務創建應付賬款發票。或者,我的用戶可以提供訂單項分配。我可以創建發票,但除非我在動態安全控制檯中將CreatePayablesInvoice策略修改爲「Distributions Will Be Provided」,否則發票將獲得系統提供的分配以及我創建的分配線。我希望能夠在必要時提供分發,否則我希望系統處理它。動態GP Web服務:更改運行時的策略行爲
文檔建議我應該能夠更改代碼中的策略,但是當我從GetPolicyByOperation獲取策略對象時,行爲數組爲空。我曾嘗試在代碼中手動創建行爲,但它不會改變發票創建時發生的情況。唯一影響結果的是編輯安全控制檯中的屬性。
我對改變政策代碼如下:
payablesInvoiceCreatePolicy = wsDynamicsGP.GetPolicyByOperation("CreatePayablesInvoice", context);
BehaviorKey bk = new BehaviorKey();
bk.Id = new Guid("e476a157-ecf0-4dae-8cef-317dd2cfbe41");
Behavior b = new Behavior();
b.Key = bk;
BehaviorOption opt0 = new BehaviorOption();
opt0.Key = new BehaviorOptionKey();
opt0.Key.Id = 0;
opt0.Name = "Distributions Will Be Provided";
BehaviorOption opt1 = new BehaviorOption();
opt1.Key = new BehaviorOptionKey();
opt1.Key.Id = 1;
opt1.Name = "Automatically Create Distributions";
b.Options = new BehaviorOption[] { opt0, opt1 };
b.SelectedOption = b.Options[1];
payablesInvoiceCreatePolicy.Behaviors = new Behavior[]{b};
wsDynamicsGP.CreatePayablesInvoice(payablesInvoice, context, payablesInvoiceCreatePolicy);
文檔似乎什麼應該或不應該在這裏工作稀疏。根據我的用戶是否決定提供訂單項分配,我必須假設我應該能夠根據我在運行時看到的適應性更新策略。
有人知道我失蹤了嗎?