this questionの行に沿ってダイナミクスCRM 2011で請求されたインボイスをマーク
私は、Silverlightを使用してDynamics CRM 2011で既存の請求書を有料としてマークしようとしています。
documentationによると、私がする必要があるすべてはステータスコード= 100001に設定されてと状態コード= 2
私はこれを行うと、私は「NOTFOUND」の例外を取得します。
Guid invoiceID = new Guid("Existing Invoice Guid");
IOrganizationService orgService = OrgServiceFactory.GetInstance();
orgService.BeginRetrieve("invoice", invoiceID, new ColumnSet(new string[] { "invoiceid", "statecode", "statuscode" }), (result) =>
{
var fetchResp = orgService.EndRetrieve(result);
var statecodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statecode");
OptionSetValue statecode = (OptionSetValue)statecodeAttrib.Value;
statecode.Value = 2;
var statuscodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statuscode");
OptionSetValue statuscode = (OptionSetValue)statuscodeAttrib.Value;
statuscode.Value = 100001;
orgService.BeginUpdate(fetchResp, (updateResult) =>
{
/* Web Exception thrown here */
orgService.EndUpdate(updateResult);
Console.Write("");
}, orgService);
}, orgService);
私は「statecode」ビットを削除し、ちょうど試してみて、2からstatusCodeを設定した場合 - 期待どおりに動作します(請求されます) - (一部付属)または4。
私は両方を試して設定しようとすると失敗します。ステータスコード= 100001,100002,100003(完了、部分、キャンセル)を設定しようとすると失敗します
請求書を支払い済みとしてマークする別の方法はありますか?
ステータスコードを2または3に設定できますが、それ以外は設定できません。 –
ステータスコードを更新を使用するだけで同じ状態の別のステータスに変更することはできますが、状態を変更すると実際にSetStateメッセージを送信する必要があります。 – Matt