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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.04.2013, 10:09   #1  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Создание кастомной сущности наподобие заказа из возможной сделки
Доброго времени суток.
Есть задача создания кастомной сущности из возможной сделки под названием "Запрос на рассчет цен". У этой сущности похожая структура по сравнению с заказом, предложением, счетом, т.е. есть так же есть "Продукт для ...". Но нужно не просто создать эту заявку, а что бы при её создании создавались записи "Продукт для .." с некоторыми полями из "Продукт для возможной сделки". Тут и к бабке можно не ходить, понятно что нужно писать плагин. Но в голове не совсем укладывается последовательность действий плагина, а так же на какое событие его нужно вешать? И вообще, возможно ли это?

CRM 2011
Старый 14.04.2013, 11:40   #2  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
:)
Цитата:
Сообщение от Ronin2007 Посмотреть сообщение
Доброго времени суток.
Есть задача создания кастомной сущности из возможной сделки под названием "Запрос на рассчет цен". У этой сущности похожая структура по сравнению с заказом, предложением, счетом, т.е. есть так же есть "Продукт для ...". Но нужно не просто создать эту заявку, а что бы при её создании создавались записи "Продукт для .." с некоторыми полями из "Продукт для возможной сделки". Тут и к бабке можно не ходить, понятно что нужно писать плагин. Но в голове не совсем укладывается последовательность действий плагина, а так же на какое событие его нужно вешать? И вообще, возможно ли это?

CRM 2011
Шаги:
1. Событие - создание записи "Запрос на расчет цен" (должна быть связь со сделкой)
2. Найти запись "Продукт для ВС" - в отношении сделки, которая у вас в лукапе сушности "Запрос на расчет цен"
3. Создать запись "Продукт для запроса на расчет цен" - скопировать необходимые данные.
4. Проверить, есть ли еще продукты, если есть повторить шаг 2-3
ну как-то так на быструю руку...
Старый 15.04.2013, 09:49   #3  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Цитата:
Сообщение от -O_o- Посмотреть сообщение
Шаги:
1. Событие - создание записи "Запрос на расчет цен" (должна быть связь со сделкой)
2. Найти запись "Продукт для ВС" - в отношении сделки, которая у вас в лукапе сушности "Запрос на расчет цен"
3. Создать запись "Продукт для запроса на расчет цен" - скопировать необходимые данные.
4. Проверить, есть ли еще продукты, если есть повторить шаг 2-3
ну как-то так на быструю руку...
Спасибо. Немного уточню:
Находясь в возможной сделке нажимаю создать "Запрос на расчет цен".
В этот момент, если создавать например счет, то все продукты для счета уже созданы, сама запись счета уже сохранена. Просто открывается уже готовое окно. Следовательно, если я хочу то же самое, но со своей сущностью, то повесить плагин на post-operation недостаточно, т.к. он срабатывает при сохранении (запросто могу быть не прав).
Старый 15.04.2013, 14:54   #4  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
я так и не понял последовательность действий.
Вы хотите, что бы по нажатию кнопки создалась сущность, сохранилась, а потом к ней привязались продукты из ВС?
Вот так вы хотите?
Старый 15.04.2013, 15:06   #5  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Да, именно так. Как и создание подобных сущностей, о которых я писал выше.
Как мне это сделать с помощью плагинов?
Старый 15.04.2013, 15:55   #6  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
Cool
Цитата:
Сообщение от Ronin2007 Посмотреть сообщение
Да, именно так. Как и создание подобных сущностей, о которых я писал выше.
Как мне это сделать с помощью плагинов?
Не знаю как насчет новой сущности...Я не разраб.
Но ком.пред, счет и заказ создаются нормально с продуктами - стандартными инструментами CRM.
Посмотрите как реализовал это Microsoft. Насколько я знаю, можно посмотреть исходники. Или ждите пока кто-то, что-то напишет...
Старый 16.04.2013, 05:53   #7  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Цитата:
Сообщение от -O_o- Посмотреть сообщение
Не знаю как насчет новой сущности...Я не разраб.
Но ком.пред, счет и заказ создаются нормально с продуктами - стандартными инструментами CRM.
Посмотрите как реализовал это Microsoft. Насколько я знаю, можно посмотреть исходники. Или ждите пока кто-то, что-то напишет...
А вот я не знал что можно как-то посмотреть исходники стандартного функционала. Не поделитесь как это сделать? Этого мне будет достаточно, дальше сам разберусь. Спасибо.

Последний раз редактировалось Ronin2007; 16.04.2013 в 06:40.
Старый 18.04.2013, 13:10   #8  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
мдя... кажется, что нельзя Извините за ложный след.
Старый 18.04.2013, 14:02   #9  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Стандартный функционал использует приватные веб сервисы и специальное сообщение. Подобные вещи нам пока недоступны. Вы можете создать кастомный объект на создание которого повесить свой плагин. Создайте в этом объекте необходимые атрибуты, которые вам нужны для выполнения операции, например, ссылку на Возможную сделку. Далее необходимо создать кнопку по которой скриптом будет создаваться ваш служебный объект. Если при этом необходимо открыть форму созданного объекта, выполняйте синхронный запрос. Что происходит далее: срабатывает ваш плагин, из контекста получает служебный объект в котором есть ссылка на сделку, далее он производит чтение связанных с ней продуктов и др. необходимых данных, после чего создает нужные вам объекты. Важный момент заключается в том, что этот же плагин может сохранить ссылку на созданный им объект в поле этой служебной записи. Теперь вернемся к скрипту: если запись создалась успешно, сервер вернет вашему скрипту иденификатор созданного служебного объекта. Теперь остается только вторым запросом прочитать из его поля ссылку на запись которую создал плагин. Готово: осталось лишь открыть окно.

Если не нужно создавать запись сразу, а нужно лишь открыть форму ввода, тогда все еще проще. Сообщите какой вариант подходит вам больше и я продолжу.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
За это сообщение автора поблагодарили: Ronin2007 (1).
Старый 19.04.2013, 08:48   #10  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Спасибо за ответ. Но не совсем понятна мысль
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Важный момент заключается в том, что этот же плагин может сохранить ссылку на созданный им объект в поле этой служебной записи.
Создаются записи, подчинённые к той сущности, для которой и сработал плагин. Таких, созданных плагином, записей будет столько же, сколько и продуктов для возможной сделки. О какой ссылке шла речь?
Старый 19.04.2013, 09:28   #11  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Ronin2007 Посмотреть сообщение
Спасибо за ответ. Но не совсем понятна мысль

Создаются записи, подчинённые к той сущности, для которой и сработал плагин. Таких, созданных плагином, записей будет столько же, сколько и продуктов для возможной сделки. О какой ссылке шла речь?
Писал с телефона, поэтому было не совсем удобно. Плагин должен не только создать кучу объектов, но и как-то вернуть результат чтобы вы знали как искать ваш "запрос цен". Для этого у служебного объекта должно быть лукап поле, которое заполнит плагин. Иными словами вам нужна следующая объектная модель:

Возможная сделка 1:N Служебный объект N:1 Запрос цен 1:N Продукт для запроса цен.
  1. Скрипт создает объект "Служебный объект" указав поле "Возможная сделка".
  2. Срабатывает плагин и создает объект "Запрос цен" (и все прочее) и помещает Id созданного объекта в поле Служебного объекта.
  3. Скрипт получает Id созданного им служебного объекта. Так как плагин в этот момент уже отработал, в поле служебного объекта есть Id Запроса цен, который создал плагин
  4. Скрипт вычитывает Id запроса цен и открывает его форму через Xrm.Page.open
Так понятнее?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 19.04.2013, 11:12   #12  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Так понятнее?
Более чем. Но всё-таки одно не пойму: зачем создавать "служебный объект"? А нельзя ли скриптом создавать сразу "запрос цен", зачем промежуточное звено? Конечно возможно изначально я не совсем корректно описал задачу...
Старый 19.04.2013, 16:39   #13  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Можно. Все зависит от сложности задачи. Если создание Запроса цен сложности не представляет, можно пропустить шаг со служебным объектом. Он нужен был лишь как носитель плагина. Опять же вопрос: может ли пользователь создать этот запрос цен вручную? Имеется в виду не кнопкой, в просто через интерфейс системы? Нужна ли в этом случае кнопка "Добавить продукты из возможной сделки" как у стандартных объектов.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 22.04.2013, 06:53   #14  
Ronin2007 is offline
Ronin2007
Участник
 
87 / 12 (1) ++
Регистрация: 14.03.2012
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Можно. Все зависит от сложности задачи. Если создание Запроса цен сложности не представляет, можно пропустить шаг со служебным объектом. Он нужен был лишь как носитель плагина. Опять же вопрос: может ли пользователь создать этот запрос цен вручную? Имеется в виду не кнопкой, в просто через интерфейс системы? Нужна ли в этом случае кнопка "Добавить продукты из возможной сделки" как у стандартных объектов.
На данный момент я представляю себе логику работы такой: "Запрос цен" будет создаваться кнопкой из "предложения с расценками", что бы расчитанные цены после отработки некоторого бизнес процесса автоматом попадали в это предложение. В принципе создание запроса цен и создание продуктов для запроса цен из продуктов для возможной сделки можно поместить на кнопку формы, описанную выше. Кнопка "Добавить продукты из возможной сделки" думаю не нужна.
Таким образом необходимость в плагине отпала. Спасибо всем за участие.
Старый 01.05.2013, 21:47   #15  
Fighter is offline
Fighter
Участник
Аватар для Fighter
 
108 / 31 (2) +++
Регистрация: 26.07.2011
Адрес: Kyiv
Записей в блоге: 12
Цитата:
Сообщение от Ronin2007 Посмотреть сообщение
На данный момент я представляю себе логику работы такой: "Запрос цен" будет создаваться кнопкой из "предложения с расценками", что бы расчитанные цены после отработки некоторого бизнес процесса автоматом попадали в это предложение. В принципе создание запроса цен и создание продуктов для запроса цен из продуктов для возможной сделки можно поместить на кнопку формы, описанную выше. Кнопка "Добавить продукты из возможной сделки" думаю не нужна.
Таким образом необходимость в плагине отпала. Спасибо всем за участие.
Все правильно, еще добавьте кнопку на ленту представления предложений. По нажатию на кнопку Вы сможете вызвать скрипт, в котором с помощью параметров selectedControlSelectedItemCount и selectedControlSelectedItemIds сможете узнать, для каких отмеченных предложений с расценками будут создаваться запросы цен.

Библиотека XrmServiceToolkit прекрасно подходит для таких случаев, когда надо считывать необходимые данные и создавать новые записи и отношения.

В общем, по моему опыту, все реализуется намного проще и легче (чем на плагинах) с помощью сриптов и использования синхронных или асинхронных REST/SOAP запросов.
__________________
Материалы для внедренцев Microsoft Dynamics CRM теперь на сайте Infoleat.com и в моем блоге CRM для бизнеса
Теги
crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Все о Microsoft Dynamics CRM: Построение бизнес-процесса автоматизации ведения Возможной сделки (часть 2) Blog bot Dynamics CRM: Blogs 0 19.04.2012 07:14
Запрет на создание продуктов для возможной сделки Mihail Dynamics CRM: Администрирование 7 17.11.2010 13:05
Ошибка при создание "Возможной сделки" Alpen Dynamics CRM: Администрирование 12 14.11.2009 13:41
Создание экземпляра кастомной сущности из плагина Roman08 Dynamics CRM: Разработка 14 31.08.2009 21:34
Как отследить создание предложения из возможной сделки ZooY Dynamics CRM: Разработка 2 28.11.2008 21:00

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

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

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