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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2011, 12:56   #1  
ashuron is offline
ashuron
Участник
 
41 / 10 (1) +
Регистрация: 25.03.2010
Создание Order из другой сущности
Уважаемые гуру,

Как правильно в CRM 2011 создать из "нестандартной" сущности Order? Создание должно запускаться из кнопки на Ribbon для "нестандартной сущности".
"Нестандартная сущность" уже есть в приложении. Необходимо принять во внимание следующие требования:
1. Возможно выбрать несколько "нестандартных сущностей" из списка, и нажатие на кнопку на Ribbon должно создать N Order-ов;
2. При невозможности (исходя из бизнес - логики) создания Order из "нестандартной сущности" нужно выдать сообщение пользователю и пропустить создание Order;
3. (Опционально) Иметь возможность посмотреть "историю" для каждой "нестандартной сущности". Этот пункт необязателен.
4. Количество записей невелико (десятки).
Я вижу один из следующих вариантов:
А. Использовать Plugin и в самом Plugin писать логику и создавать Order, предварительно проверив, может ли этот Order быть создан. Мне кажется, наиболее подходящий вариант, т.к. проще, однако сомневаюсь, что возможно реализовать пункт 3 и где - то сохранить "историю" преобразования;
Б. Используя Workflow. Преимущества - неограниченное время выполнения (что некритично), и, возможно, некая "история" выполнения. Недостаток - видимо, придется вызывать тот же Plugin (как?) из Workflow, который выполняет непосредственно преобразование "Нетандартная сущность" --> Order.

Вопрос: как ПРАВИЛЬНО реализовывать такие прицессы в CRM? Информации в Best Practice не так много, поэтому буду признателен за Ваши советы.
Заранее спасибо
Старый 16.11.2011, 16:06   #2  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Еще варианты:
Б. Вместо вызова плагина из бизнес-процесса, можно сделать программный шаг этого БП.

В. Веб-служба, которая выполняет всю логику и вызывается из JavaScript'а с кнопки с риббона, передавая в параметре Guid'ы всех выбранных в списке записей.
Старый 16.11.2011, 17:37   #3  
ashuron is offline
ashuron
Участник
 
41 / 10 (1) +
Регистрация: 25.03.2010
Цитата:
Сообщение от griefon Посмотреть сообщение
Еще варианты:
Б. Вместо вызова плагина из бизнес-процесса, можно сделать программный шаг этого БП.

В. Веб-служба, которая выполняет всю логику и вызывается из JavaScript'а с кнопки с риббона, передавая в параметре Guid'ы всех выбранных в списке записей.
Спасибо за ответ. Мне кажется, что в данной ситуации использовать Plugin было бы самым правильным решением, не так ли?
Старый 16.11.2011, 22:21   #4  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Если вы хотите делать запуск преобразования по кнопке, то значит в первую очередь сработает JavaScript на этой кнопке.
Далее у вас есть варианты:
1. Написать всю логику на JavaScript.
2. JavaScripto'ом изменить какое-либо поле на форме и сохранить форму, повесить плагин на изменение этого поля.
3. Если кнопка на риббоне списка, то тогда изменить поле для всех выбранных записей, вызывая соответствующий веб-сервис CRM. Повесить плагин на изменение этого поля.
4. Сделать бизнес-процесс с дополнительным программным шагом. Процесс повесить на изменение поля, которое изменять скриптом.
5. Веб-служба, которая выполняет всю логику и вызывается из JavaScript'а с кнопки с риббона, передавая в параметре Guid'ы всех выбранных в списке записей.

Зависит от того, что для вас проще, что из этих вариантов вы уже пробовали делать. Первый вариант, на мой взгляд, неудобный. Вариант с плагином довольно гибкий, так как плагин можно вызвать разными методами. Вариант 4 удобен тем, что не надо добавлять кнопку и писать JavaScript.

Для ведения "истории" либо создать отдельную сущность, либо добавить поля в order, куда сохранять информацию об исходном объекте.

Последний раз редактировалось griefon; 16.11.2011 в 22:35.
За это сообщение автора поблагодарили: ashuron (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить значение поля одной сущности при обработке формы другой сущности zhenek Dynamics CRM: Разработка 25 05.07.2011 16:19
Создание сущности с прикрепленным файлом Казарин Александр Dynamics CRM: Разработка 1 08.09.2010 17:02
Создание одной записи на основании другой ZooY Dynamics CRM: Разработка 1 26.07.2010 08:14
Создание экземпляра кастомной сущности из плагина Roman08 Dynamics CRM: Разработка 14 31.08.2009 21:34
Создание объекта сущности из другого объекта! SnSS Dynamics CRM: Разработка 5 29.05.2008 13:38

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

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

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