CRM 2011 повикване Ajax дава лоша грешка в заявката

Имаме инсталиран CRM локално в локална мрежа. Искам да променя state и statusreason от salesorder ( Order обект ). Видях тази връзка.

И извиквам функцията по този начин (променете състоянието на Canceled и statusreason на 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 на Jason Lattimer поддържа CRM 2011. Това е много полезно инструмент за изграждане на OData заявки.   -  person Aron    schedule 16.07.2018


Отговори (1)


Трябва да използвате CancelSalesOrderRequest съобщение за да постигнете това. Javascript SOAP заявка Примерен код може да бъде намерен в 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
Благодаря за вашия отговор. Мога да променя състоянието от активно на изпратено по този начин: връзка @Arun Vinoth Но искате да преминете от изпратено към отменено (без пари) или да преминете от изпратено към изпълнено. Горната връзка не работи за тази цел. - person Alireza; 16.07.2018
comment
Видях това и това ми помогна! Благодаря много ! Може ли да погледнете тази тема? това - person Alireza; 20.07.2018