Вызов CRM 2011 Ajax выдает ошибку неверного запроса

У нас есть CRM, установленная в локальной сети. Я хочу изменить state и statusreason объекта salesorder (объект Order). Я видел эту ссылку.

И я вызываю функцию таким образом ( измените статус на Canceled и статусную причину на No Money:

var recordGuid = Xrm.Page.data.entity.getId();
setRecordStatus ("salesorder", recordGuid ,"3", "100001");

Но это дает мне 400 Bad Request Error! Может ли кто-нибудь помочь мне в этом?


person Alireza    schedule 14.07.2018    source источник
comment
В качестве примечания: v1.5 RESTBuilder Джейсона Латтимера поддерживает CRM 2011. Это очень полезно. инструмент для построения запросов OData.   -  person Aron    schedule 16.07.2018


Ответы (1)


Вы должны использовать CancelSalesOrderRequest сообщение для достижения этой цели. Пример кода запроса SOAP Javascript можно найти в SDK.SAMPLES.CancelSalesOrderRequest

statecode 2 : Canceled имеет только действительные связанные statusreason 4 : No Money

Ваш код показывает комбинацию 3 : Fulfilled и 100001 : Complete. Проверь это.

Обновлять:

Ссылка, на которую вы ссылаетесь, работает для большинства объектов CRM, но она предназначена для прямого изменения статуса, например, с активного на неактивный. Но для специальных сущностей, таких как salesorder, нужны специальные сообщения, так как это изменение статуса включает в себя другие фоновые действия платформы, такие как обновление дочерних сущностей salesorderdetail.

Вы также можете обратиться к этой теме.

person Arun Vinoth    schedule 14.07.2018
comment
Спасибо за ответ. Я могу изменить состояние с активного на отправленное следующим образом: link @Arun Vinoth Но хочу перейти от отправленного к отмененному (нет денег) или перейти от отправленного к выполненному. Приведенная выше ссылка не работает для этих целей. - person Alireza; 16.07.2018
comment
Я видел это, и это помогло мне! Большое спасибо ! Не могли бы вы взглянуть на эту тему? это - person Alireza; 20.07.2018