17.05.2012, 11:25 | #1 |
Участник
|
REST crm2011
Всем привет! есть 2 сущности, пытаюсь значение поля из первой перенести в поле другой. Тип поля пиклист. С остальными полями всё окей, работает как надо. А с пиклистом даёт ошибку 400. Вот код
var obj = new Object(); obj.New_step = "8"; //New_step это имя схемы поля new_step COMMON.REST.updateRecord(currentValue[0].id.toString(), obj, "Opportunity", function (dataRes) {}, function (errorCode) { //Если пришла ошибка alert("Can not get response from Server for new_delayed field. " + errorCode.description.trim()); }, false); Ребят, помогите пожалуйста, не понимаю в чем дело. Думаю в синтаксисе. Но как правильно написать obj.New_step = "8"; я не знаю. В инете не нашел( |
|
17.05.2012, 11:39 | #2 |
Участник
|
попробуй
obj.New_step.Value = 8 или obj.New_step.value = 8 я регистр не помню и я не уверен, что там надо приравнивать к строке. Вроде и к int можно |
|
17.05.2012, 11:54 | #3 |
Участник
|
|
|
17.05.2012, 12:12 | #4 |
Участник
|
Описался
obj.New_step = {} obj.New_step.Value = 8; Вот здесь примеры. http://technet.microsoft.com/en-us/l.../hh223541.aspx У меня возникал вопрос как лукапы задавать и получать. Последний раз редактировалось g.Naukovych; 17.05.2012 в 12:37. |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
17.05.2012, 12:27 | #5 |
Участник
|
|
|
17.05.2012, 12:37 | #6 |
Участник
|
Исправил пост
|
|
17.05.2012, 12:43 | #7 |
Участник
|
Вот так делал.
var Lead = new Object(); Lead.New_step = {}; Lead.New_step.Value = 8; CrmRestKit.Update("Lead",Xrm.Page.data.entity.getId().substring(1,37),Lead); Вот этот код у меня работает и ошибок не выдает PickList в 2011 называется OptionSetValue. Посмотрите, что отправляется на сервер. и пришлите эту строку. |
|
17.05.2012, 12:47 | #8 |
Участник
|
Спасибо за ссылку! Заработало!)
если кому интересно, вот так надо писать: obj["New_step"] = {}; obj["New_step"].Value = 8; |
|
17.05.2012, 12:52 | #9 |
Участник
|
Видимо это особенности фреймворка. Если будете Лукап делать то вместо Value надо Id.
Вроде именно с таким регистром. |
|
17.05.2012, 14:49 | #10 |
Участник
|
Еще вопрос. Как сделать поле с типом дата доступным для редактирования?
Юзаю Xrm.Page.getControl("поле").setDisabled(false); При этом становится доступна только сама кнопка выбора даты, а поле нет |
|
17.05.2012, 14:55 | #11 |
Чайный пьяница
|
Цитата:
Но есть и вариант решить этот вопрос: 1. Делаете это поле доступным для редактирования по умолчанию (я так понимаю, что по умолчанию оно у вас заблокировано). 2. Добавляете в онлоад формы проверку условия в зависимости от которого поле блокируется и блокируете, если это необходимо.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
21.05.2012, 18:30 | #12 |
Участник
|
Еще вопрос появился. Есть сущность, на ней есть поле с типом "валюта". Его значение на онсейве переносится в другую сущность(то есть она создаётся с нужными значениями из первой сущности). Юзаю рест. Значение не пишется.
var objct = new Object(); objct.new_field = 50; COMMON.REST.createRecord(objct, "new_changeopportunity", function (dataRess) { }, function (errorCoder) { //Если пришла ошибка alert(errorCode.description.trim()); }); Помимо этого переносятся еще другие данные. Пиклисты, лукапы, int итд. Всё нормально. Проблема именно в поле с валютой. Еще заметил странную штуку, когда создаю сущность вручную, в которую должны писаться поля, то всё нормально. Если я создал её программно, то я не могу поставить значение в поле с валютой. Пишет выберите валюту о_О |
|
21.05.2012, 19:36 | #13 |
Чайный пьяница
|
Цитата:
Сообщение от NoTimeToCry
Еще вопрос появился. Есть сущность, на ней есть поле с типом "валюта". Его значение на онсейве переносится в другую сущность(то есть она создаётся с нужными значениями из первой сущности). Юзаю рест. Значение не пишется.
var objct = new Object(); objct.new_field = 50; COMMON.REST.createRecord(objct, "new_changeopportunity", function (dataRess) { }, function (errorCoder) { //Если пришла ошибка alert(errorCode.description.trim()); }); Помимо этого переносятся еще другие данные. Пиклисты, лукапы, int итд. Всё нормально. Проблема именно в поле с валютой. Еще заметил странную штуку, когда создаю сущность вручную, в которую должны писаться поля, то всё нормально. Если я создал её программно, то я не могу поставить значение в поле с валютой. Пишет выберите валюту о_О
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
21.05.2012, 20:24 | #14 |
Участник
|
|
|
22.05.2012, 10:42 | #15 |
Участник
|
Это курс валют. Находится эта сущность здесь:
Settings->BusinessManagament->Currencies. Вам необходимо рестом получить ID необходимой Вам валюты. и заполнить transactioncurrencyid. Думаю что заполняться он должен как обычный лукап. Я уже писал в этом посте как это делать. |
|
22.05.2012, 11:03 | #16 |
Участник
|
Цитата:
objct["TransactionCurrencyId"] = {}; objct["TransactionCurrencyId"].Id = currentValueMoney[0].id; objct["TransactionCurrencyId"].Value = newestimvalue; |
|
22.05.2012, 11:10 | #17 |
Участник
|
Не совсем понял. Вы заполняете поле TransactionCurrencyId.
Но денежное поле у Вас назватся по другому. Вы в него должны передавать значение. Напишите запрос, который вернет Вам денежное поле. и посмотрите отладчиком как оно устроено. ЧТобы вызвать отладчик нажмите F12. |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
23.05.2012, 16:53 | #18 |
Участник
|
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
|
|
25.05.2012, 15:08 | #19 |
Участник
|
Цитата:
Сообщение от NoTimeToCry
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
|
|
25.05.2012, 15:50 | #20 |
Участник
|
Цитата:
Сообщение от NoTimeToCry
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
|
|
|
|