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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.06.2010, 17:10   #1  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Сохранение параметров расширенного поиска в БД
Подскажите как сохранить у себя в БД настроенные параметры расширенного поиска, так же как это делается в UserQuery. Мне необходимо сделать сущность (скажем ХХХ) в записях которой я буду хранить параметру расширенного поиска. Потом надо будет этот поиск еще и запускать ... Кто пробовал?
Старый 08.06.2010, 17:33   #2  
Артем 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://www.axforum.info/forums/blog.php?b=40
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 08.06.2010, 17:59   #3  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Опишите задачу подробнее, пожалуйста. Хотелось бы услышать не что вам нужно, а для чего. А так реализовывалось подобное: http://www.axforum.info/forums/blog.php?b=40
Необходимо при массовом создании экземпляров сущьности YYY рассчитывать значение поля OwnerID. Рассчитывать его видится правильным при помощи выполнения заранее настроенных и сохранённых поисков, при этом к каждому такому поиску прикреплен ответоисполнитель, который и назначается найденным записям YYY.
Решение такое обсусловлено тем, что опеределение OwnerID зависит от множества факторов, исвестны которые становятся только при внедрении системы после подготовки соответствующего ТЗ.
Старый 08.06.2010, 23:21   #4  
Артем 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
Старый 09.06.2010, 12:06   #5  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Прошу прощения, но это звучит как бред. Вы повторно строите то не знаю что. Для отработки на событие создание следует использовать либо воркфлоу, либо плагин. В вашем случае лучше подходит плагин.
Понятно что к этому надо будет разработать еще и бизнес-правило... Однако инкапсулировать всю настройку распределения ответственных в рамках бизнес-процесса, который будет вызываться при добавлении нет возможности. Это очень не удобно, несопровождаемо, и не надежно. Настройка будет очень большая (много пользователей)... Кроме этого возможности определения условий, которые есть в рамках бизнес-процессов значительно ниже чем в рамках расширенного поиска и этих возможностей явно не достаточно для данной задачи...Так что без поиска не обойтись...

Прошу прощения, но бред это когда не понимая суть и причины бизнес-задачи начинают выносить некоторые оценки тем или иным действиям и желаниям своих колллег... Система у нас сложная, не плоская... поэтому и решения применяются сложные...
Старый 09.06.2010, 12:44   #6  
Артем 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
Прошу прощения, но я не новичок в разработке под эту систему и знаю ее возможности! Поверьте поддерживать какую-то охинею которая гранит в базе готовые fetch запросы (а вы, к примеру, знали что расширенный поиск использует именно этот механизм?) значительно сложнее чем поддерживать стандартный рабочий процесс. Кроме того, этот механизм можно расширять под свои нужды! В том числе для выполнения поиска: http://mscrm4ever.blogspot.com/2009/...ry-wizard.html
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.06.2010, 13:05   #7  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Прошу прощения, но я не новичок в разработке под эту систему и знаю ее возможности! Поверьте поддерживать какую-то охинею которая гранит в базе готовые fetch запросы (а вы, к примеру, знали что расширенный поиск использует именно этот механизм?) значительно сложнее чем поддерживать стандартный рабочий процесс. Кроме того, этот механизм можно расширять под свои нужды! В том числе для выполнения поиска: http://mscrm4ever.blogspot.com/2009/...ry-wizard.html
Согласен. Наверное лучше из XXX ссылаться на сохраненный поиск...
Старый 09.06.2010, 15:40   #8  
Артем 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
Не важно где хранить коды запросов: внутри кастомного объекта, или ссылаться на готовый UserQuery/SavedQuery. Речь шла о том что вам нужно разобраться как работают внутренние механизмы системы. Поясните все же для чего нужен поиск? Не на XXX, а на конкретных примерах и задачах. Есть ощущение, что вы хотите производить назначение объекта на основании того, попадает ли он под критерии поиска для конкретного пользователя.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 10.06.2010, 13:20   #9  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Не важно где хранить коды запросов: внутри кастомного объекта, или ссылаться на готовый UserQuery/SavedQuery. Речь шла о том что вам нужно разобраться как работают внутренние механизмы системы. Поясните все же для чего нужен поиск? Не на XXX, а на конкретных примерах и задачах. Есть ощущение, что вы хотите производить назначение объекта на основании того, попадает ли он под критерии поиска для конкретного пользователя.
Задача: у сущьности YYY надо при её создании,а также при изменении её состояния (состояния у нас свои, их порядка 15) определить владельца (ownerID)... В рамках бизнес-процесса, при помощи стандартной функциональности - невозможно. Определение OwnerID зависит от множества произвольных факторов (в частности аттрибутов) сущьности ХХХ, а также аттрибутов связанных сущьностей. Например, если XXX это:
1. XXXID
2. CustomerID
3. Name
4. OwnerID
5. и др.

то примером не умещающегося в стандартный функционал бизнес-процессов может быть случай, когда надо определить того или иного пользователя как владельца в зависимости от принадлежности пользователя к тому или иному подразделению и количества выполненных за последние 365 дней действий под объектом XXX, от результатов и этих дейтсвий и т.д. Пользователей, которые могут быть назначены в качестве владельцев может быть много и в случае ухода кого либо в отпуск или увольнения не хотелось бы перенастраивать бизнес-процесс. В общем видится что настройку определения владельцев надо вынести из бизнес-процессов, а вот в самом бизнес-процессе оставить только метод, который на основании этой настройки будет искать и присваивать ownerID... Вот такая механика...
Соответственно хотел бы где либо почитать и посмотреть код в котором сохраняют, модифицируют и запускают сохранённый поиск... Ну или запускают сохранённый в UserQuery...
Старый 10.06.2010, 17:30   #10  
Артем 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
Цитата:
Сообщение от guenberg Посмотреть сообщение
Задача: у сущьности YYY надо при её создании,а также при изменении её состояния определить владельца... В рамках бизнес-процесса, при помощи стандартной функциональности - невозможно.
Может все-таки начнете изучать систему? Один и тот же БП легко может срабатывать и на событие создание записи и на событие смены состояния. Есть стандартный шаг проверки условий например "текущее состояние = состояние N" после которого можно выполнять дальнейшие проверки или запускать дочерний процесс - очень удобно для декомпозиции сложных правил.
Если не хватит стандартных опций, например, проверка загруженности или отпуск пользователя - всегда можно дописать свои шаги для процесса. Вот бы только почитать в sdk как это делает, верно? Я думаю что уже очевидно, что всем лень писать для вас код который делает неведомую хреновину. Прислушайтесь уже к совету профессионала и идите в указанном мной направлении.

p.s. Неправильный путь (ваш): запросом Retrive вычитать id нужной вам сущности UserQuery (понятия не имею как вы поймете какая вам нужна в конкретном случае) , после чего сообщением ExecuteByIdUserQuery выполнить его и обработать результат.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 10.06.2010, 17:41   #11  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Может все-таки начнете изучать систему? Один и тот же БП легко может срабатывать и на событие создание записи и на событие смены состояния. Есть стандартный шаг проверки условий например "текущее состояние = состояние N" после которого можно выполнять дальнейшие проверки или запускать дочерний процесс - очень удобно для декомпозиции сложных правил.
Если не хватит стандартных опций, например, проверка загруженности или отпуск пользователя - всегда можно дописать свои шаги для процесса. Вот бы только почитать в sdk как это делает, верно? Я думаю что уже очевидно, что всем лень писать для вас код который делает неведомую хреновину. Прислушайтесь уже к совету профессионала и идите в указанном мной направлении.

p.s. Неправильный путь (ваш): запросом Retrive вычитать id нужной вам сущности UserQuery (понятия не имею как вы поймете какая вам нужна в конкретном случае) , после чего сообщением ExecuteByIdUserQuery выполнить его и обработать результат.
SDK давно установили и при необходимости обращаемся туда... После анализа стало понятно, что функциональности описания условий в бизнес-процессах не хватает для данной задачи, поэтому и возникла мысль использовать сохраненный поиски... А кастомный шаг для БП уже делаем... тут ни куда не деться... Спасибо за подсказки в неправильном пути
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Все о Microsoft Dynamics CRM: Включение неактивных записей в результат Быстрого поиска (Quick Find) в Microsoft Dynamics CRM 4.0 Blog bot Dynamics CRM: Blogs 0 26.07.2009 22:06
Выбор записи из БД if_maks Dynamics CRM: Разработка 4 24.12.2008 12:11
Где в БД храняться настройки объектов? if_maks Dynamics CRM: Разработка 9 19.12.2008 15:42
Почему недоступно изменение параметров? Faina Dynamics CRM: Администрирование 2 09.06.2006 09:45

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

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

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