AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2012, 11:25   #1  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
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  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
попробуй
obj.New_step.Value = 8

или

obj.New_step.value = 8

я регистр не помню


и я не уверен, что там надо приравнивать к строке. Вроде и к int можно
__________________
Мой блог https://procrm.tv
Старый 17.05.2012, 11:54   #3  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
попробуй
obj.New_step.Value = 8

или

obj.New_step.value = 8

я регистр не помню


и я не уверен, что там надо приравнивать к строке. Вроде и к int можно
Не работает. Метод POST даже не вызывается. Но если убрать .value, то POST дает ошибку 400
Старый 17.05.2012, 12:12   #4  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Описался
obj.New_step = {}
obj.New_step.Value = 8;

Вот здесь примеры. http://technet.microsoft.com/en-us/l.../hh223541.aspx
У меня возникал вопрос как лукапы задавать и получать.
__________________
Мой блог https://procrm.tv

Последний раз редактировалось g.Naukovych; 17.05.2012 в 12:37.
За это сообщение автора поблагодарили: NoTimeToCry (1).
Старый 17.05.2012, 12:27   #5  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Описался
obj.New_step = {}
obj.New_step.Value = 8;

Вот здесь примеры.
У меня возникал вопрос как лукапы задавать и получать.
Так тоже даёт ошибку 400(

"Вот здесь примеры. " эээ...здесь это где?)
Старый 17.05.2012, 12:37   #6  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от NoTimeToCry Посмотреть сообщение
Так тоже даёт ошибку 400(

"Вот здесь примеры. " эээ...здесь это где?)
Исправил пост
__________________
Мой блог https://procrm.tv
Старый 17.05.2012, 12:43   #7  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Вот так делал.
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.

Посмотрите, что отправляется на сервер. и пришлите эту строку.
__________________
Мой блог https://procrm.tv
Старый 17.05.2012, 12:47   #8  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Спасибо за ссылку! Заработало!)

если кому интересно, вот так надо писать:
obj["New_step"] = {};
obj["New_step"].Value = 8;
Старый 17.05.2012, 12:52   #9  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Видимо это особенности фреймворка. Если будете Лукап делать то вместо Value надо Id.

Вроде именно с таким регистром.
__________________
Мой блог https://procrm.tv
Старый 17.05.2012, 14:49   #10  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Еще вопрос. Как сделать поле с типом дата доступным для редактирования?
Юзаю Xrm.Page.getControl("поле").setDisabled(false); При этом становится доступна только сама кнопка выбора даты, а поле нет
Старый 17.05.2012, 14:55   #11  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от NoTimeToCry Посмотреть сообщение
Еще вопрос. Как сделать поле с типом дата доступным для редактирования?
Юзаю Xrm.Page.getControl("поле").setDisabled(false); При этом становится доступна только сама кнопка выбора даты, а поле нет
Это баг и тянется он ещё с 4.0.
Но есть и вариант решить этот вопрос:
1. Делаете это поле доступным для редактирования по умолчанию (я так понимаю, что по умолчанию оно у вас заблокировано).
2. Добавляете в онлоад формы проверку условия в зависимости от которого поле блокируется и блокируете, если это необходимо.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: NoTimeToCry (1).
Старый 21.05.2012, 18:30   #12  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Еще вопрос появился. Есть сущность, на ней есть поле с типом "валюта". Его значение на онсейве переносится в другую сущность(то есть она создаётся с нужными значениями из первой сущности). Юзаю рест. Значение не пишется.

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  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от NoTimeToCry Посмотреть сообщение
Еще вопрос появился. Есть сущность, на ней есть поле с типом "валюта". Его значение на онсейве переносится в другую сущность(то есть она создаётся с нужными значениями из первой сущности). Юзаю рест. Значение не пишется.

var objct = new Object();
objct.new_field = 50;
COMMON.REST.createRecord(objct, "new_changeopportunity", function (dataRess) {
}, function (errorCoder) {
//Если пришла ошибка
alert(errorCode.description.trim());
});

Помимо этого переносятся еще другие данные. Пиклисты, лукапы, int итд. Всё нормально. Проблема именно в поле с валютой. Еще заметил странную штуку, когда создаю сущность вручную, в которую должны писаться поля, то всё нормально. Если я создал её программно, то я не могу поставить значение в поле с валютой. Пишет выберите валюту о_О
При работе с полем типа деньги всегда необходимо заполнять поле transactioncurrencyid. Без этого работать не будет.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: NoTimeToCry (1).
Старый 21.05.2012, 20:24   #14  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
При работе с полем типа деньги всегда необходимо заполнять поле transactioncurrencyid. Без этого работать не будет.
А не могли бы Вы привести пример его заполнения через рест?
Старый 22.05.2012, 10:42   #15  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Это курс валют. Находится эта сущность здесь:
Settings->BusinessManagament->Currencies.

Вам необходимо рестом получить ID необходимой Вам валюты. и заполнить transactioncurrencyid. Думаю что заполняться он должен как обычный лукап. Я уже писал в этом посте как это делать.
__________________
Мой блог https://procrm.tv
Старый 22.05.2012, 11:03   #16  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Это курс валют. Находится эта сущность здесь:
Settings->BusinessManagament->Currencies.

Вам необходимо рестом получить ID необходимой Вам валюты. и заполнить transactioncurrencyid. Думаю что заполняться он должен как обычный лукап. Я уже писал в этом посте как это делать.
Это я сделал. В поле пишет нужное значение валюты. Теперь надо записать само число, с этим проблема.

objct["TransactionCurrencyId"] = {};
objct["TransactionCurrencyId"].Id = currentValueMoney[0].id;
objct["TransactionCurrencyId"].Value = newestimvalue;
Старый 22.05.2012, 11:10   #17  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Не совсем понял. Вы заполняете поле TransactionCurrencyId.

Но денежное поле у Вас назватся по другому. Вы в него должны передавать значение.
Напишите запрос, который вернет Вам денежное поле. и посмотрите отладчиком как оно устроено. ЧТобы вызвать отладчик нажмите F12.
__________________
Мой блог https://procrm.tv
За это сообщение автора поблагодарили: NoTimeToCry (1).
Старый 23.05.2012, 16:53   #18  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
Старый 25.05.2012, 15:08   #19  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от NoTimeToCry Посмотреть сообщение
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
Апаю тему, вопрос актуален.
Старый 25.05.2012, 15:50   #20  
NoTimeToCry is offline
NoTimeToCry
Участник
 
101 / 10 (1) +
Регистрация: 28.04.2012
Цитата:
Сообщение от NoTimeToCry Посмотреть сообщение
Ребят, еще вопрос! Пытаюсь писать значение в лукап при создании сущности. Получаю ошибку 500:"Attribute regardingobjecttypecode must not be NULL if attribute regardingobjectid is not NULL." Все другие лукапы пишутся нормально. Атрибута regardingobjecttypecode на этой сущности у меня нет вообще. Что не так то?
Сущность системная
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Использование OData в CRM2011 Blog bot Dynamics CRM: Blogs 0 21.09.2011 20:11
Gareth Tucker: Defaulting a Lookup field via a REST query at Form Load Blog bot Dynamics CRM: Blogs 0 23.08.2011 12:11
Microsoft Dynamics CRM Team Blog: Issues When Updating Records Using the REST Endpoint for Web Resources and Silverlight Blog bot Dynamics CRM: Blogs 0 20.06.2011 22:11
Microsoft Dynamics CRM Team Blog: Using Option Set Options with the REST Endpoint – JScript Blog bot Dynamics CRM: Blogs 0 31.05.2011 22:11
Leon's CRM Musings: Dynamics CRM Resources for the Rest Of Us Blog bot Dynamics CRM: Blogs 0 06.11.2010 03:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:43.