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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2010, 11:46   #1  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Создание группы записей
Доброго времени суток! Была поставлена следующая задача:
Имеется пользовательская сущность new_web, в которой несколько десятков/сотен записей. Необходимо, чтобы какой либо пользователь мог выделить несколько записей этой сущности, нажать на кнопку на тулбаре в CRM и тем самым сформировать группу записей обозвав ее как захочет. Данная группа должна быть доступна затем для редактирования, то есть чтобы можно было добавлять или удалять записи группы. То есть как я думаю эти группы должны появляться в другой пользовательской сущности. Но как именно это реализовать в рамках CRM?
Миниатюры
Нажмите на изображение для увеличения
Название: группировка записей.JPG
Просмотров: 369
Размер:	147.8 Кб
ID:	5921  
Старый 22.06.2010, 12:03   #2  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Ну а в чем проблема-то?
Создаете новую сущность new_webgroup.
Между сущностями new_web и new_webgroup создаете связь N:1. Таким образом у Вас в сущности new_web появится лукап new_webgroupid. А дальше по кнопке "Сформировать группу" создаете новую запись new_webgroup и записываете ее GUID во все выбранные new_web в поле new_webgroupid. Можно одними скриптами обойтись, а можно и свой веб-сервис для этого написать.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 22.06.2010, 12:08   #3  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Ну а в чем проблема-то?
Таким образом у Вас в сущности new_web появится лукап new_webgroupid.
Но в таком случае один объект new_web будет использоваться только в одной группе new_webgroupid. То есть при желании другого пользователя добавить в свою группу запись, которая уже используется в какой-то другой группе, значение поля лукап на этой записи изменится на последнее по нажатию на кнопку "Сформировать группу". Или я не прав?
Старый 22.06.2010, 12:18   #4  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Но в таком случае один объект new_web будет использоваться только в одной группе new_webgroupid. То есть при желании другого пользователя добавить в свою группу запись, которая уже используется в какой-то другой группе, значение поля лукап на этой записи изменится на последнее по нажатию на кнопку "Сформировать группу". Или я не прав?
Да, именно так.
Ну если Вам надо, чтобы один new_web мог добавляться в несколько групп, тогда используйте связь N:N. Правда, связывать new_web и new_webgroup надо будет уже не через лукап, а через AssociateEntitiesRequest.
__________________
Опыт позволяет ошибаться гораздо увереннее.
За это сообщение автора поблагодарили: Tarasov E (1).
Старый 22.06.2010, 12:46   #5  
Артем 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
Технически реализовать это не сложно. По нажатию кнопки в гриде, скрипт может получить идентификаторы отмеченных записей и передать их вашему диалогу создания новой группы. Пример, хотя и очень туманный, есть в SDK: Capturing the GUID Values of Records Selected in a Grid. Далее создаем новую группу и в цикле ассоциируем записи, как сказал Денис. При желании можно только скриптами формы обойтись.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Последний раз редактировалось Артем Enot Грунин; 22.06.2010 в 12:56.
За это сообщение автора поблагодарили: Tarasov E (1).
Старый 23.06.2010, 10:38   #6  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Миниатюры
Нажмите на изображение для увеличения
Название: 11.JPG
Просмотров: 450
Размер:	83.8 Кб
ID:	5926   Нажмите на изображение для увеличения
Название: 12.JPG
Просмотров: 352
Размер:	20.3 Кб
ID:	5927  

Старый 23.06.2010, 10:45   #7  
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
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Многое можно сделать используя примеры, приведённые в SDK.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.06.2010, 10:57   #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
Как бы я это реализовывал... Создал новый тип записей: "Группа фильтров". По нажатию на кнопку:
1. Проверял есть ли выбранные записи. Для этого не обязательно открывать новый диалог, можно использовать ансаппорт:
Код:
var grid = document.all["crmGrid"];
var gridBody = grid.InnerGrid;
var selected = gridBody.SelectedRecords;
if (selected.length> 0)
{
//...
}
2. Открывал бы диалог поиска группы записей (вернет нам id созданной группы)
Код:
var lookupItems = LookupObjects(lookupField, lookupStyle, lookupClass, lookupTypes, lookupBrowse, bindingColumns, additionalParams, showNew, showProp, bPopulateLookup, defaultType, searchString);
if ( lookupItems )
{
if ( lookupItems.items.length > 0 )
{
itemObjectId = lookupItems.items[0].id;
}
}
3. Теперь когда у нас есть массив записей для добавления и идентификатор группы, ассоциируем записи:
Код:
AssociateObjects(crmForm.ObjectTypeCode, crmForm.ObjectId, oTypeAssociated, oNewItemsIds, false, "", oAssociationName);
Как видно из кода, я фанат ансаппорта. Все эти функции системные, так что использовать их можно только на свой страх и риск. Зато это просто!
p.s Как асоциировать записи из кода формы: http://www.axforum.info/forums/blog.php?b=46
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 23.06.2010, 11:19   #9  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Стройте FetchXml. Благо, инструменты и примеры есть.
__________________
Опыт позволяет ошибаться гораздо увереннее.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
При слиянии записей-дубликатов выскакивает ошибка о "циклической ссылке" Bakai Madybaev Dynamics CRM: Функционал 11 20.12.2011 22:59
Все о Microsoft Dynamics CRM: Включение неактивных записей в результат Быстрого поиска (Quick Find) в Microsoft Dynamics CRM 4.0 Blog bot Dynamics CRM: Blogs 0 26.07.2009 22:06
Как отследить создание предложения из возможной сделки ZooY Dynamics CRM: Разработка 2 28.11.2008 21:00
Фильтр для отчета - из списка связанных записей? AlekseyS Dynamics CRM: Разработка 3 11.09.2008 10:54

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

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

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