AXForum  
Go Back   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
DAX
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 22.06.2010, 11:46   #1  
Tarasov E is offline
Tarasov E
Участник
Tarasov E's Avatar
 
100 / 11 (1) +
Join Date: 01.09.2009
Создание группы записей
Доброго времени суток! Была поставлена следующая задача:
Имеется пользовательская сущность new_web, в которой несколько десятков/сотен записей. Необходимо, чтобы какой либо пользователь мог выделить несколько записей этой сущности, нажать на кнопку на тулбаре в CRM и тем самым сформировать группу записей обозвав ее как захочет. Данная группа должна быть доступна затем для редактирования, то есть чтобы можно было добавлять или удалять записи группы. То есть как я думаю эти группы должны появляться в другой пользовательской сущности. Но как именно это реализовать в рамках CRM?
Attached Thumbnails
Click image for larger version

Name:	группировка записей.JPG
Views:	385
Size:	147.8 KB
ID:	5921  
Old 22.06.2010, 12:03   #2  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Join Date: 04.08.2008
Location: Москва
Ну а в чем проблема-то?
Создаете новую сущность new_webgroup.
Между сущностями new_web и new_webgroup создаете связь N:1. Таким образом у Вас в сущности new_web появится лукап new_webgroupid. А дальше по кнопке "Сформировать группу" создаете новую запись new_webgroup и записываете ее GUID во все выбранные new_web в поле new_webgroupid. Можно одними скриптами обойтись, а можно и свой веб-сервис для этого написать.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Old 22.06.2010, 12:08   #3  
Tarasov E is offline
Tarasov E
Участник
Tarasov E's Avatar
 
100 / 11 (1) +
Join Date: 01.09.2009
Quote:
Originally Posted by Гуревич Денис View Post
Ну а в чем проблема-то?
Таким образом у Вас в сущности new_web появится лукап new_webgroupid.
Но в таком случае один объект new_web будет использоваться только в одной группе new_webgroupid. То есть при желании другого пользователя добавить в свою группу запись, которая уже используется в какой-то другой группе, значение поля лукап на этой записи изменится на последнее по нажатию на кнопку "Сформировать группу". Или я не прав?
Old 22.06.2010, 12:18   #4  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Join Date: 04.08.2008
Location: Москва
Quote:
Originally Posted by Tarasov E View Post
Но в таком случае один объект new_web будет использоваться только в одной группе new_webgroupid. То есть при желании другого пользователя добавить в свою группу запись, которая уже используется в какой-то другой группе, значение поля лукап на этой записи изменится на последнее по нажатию на кнопку "Сформировать группу". Или я не прав?
Да, именно так.
Ну если Вам надо, чтобы один new_web мог добавляться в несколько групп, тогда используйте связь N:N. Правда, связывать new_web и new_webgroup надо будет уже не через лукап, а через AssociateEntitiesRequest.
__________________
Опыт позволяет ошибаться гораздо увереннее.
This post has been rated by: Tarasov E (1).
Old 22.06.2010, 12:46   #5  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Артем Enot Грунин's Avatar
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Join Date: 16.08.2007
Location: Пермь!
Blog Entries: 151
Технически реализовать это не сложно. По нажатию кнопки в гриде, скрипт может получить идентификаторы отмеченных записей и передать их вашему диалогу создания новой группы. Пример, хотя и очень туманный, есть в SDK: Capturing the GUID Values of Records Selected in a Grid. Далее создаем новую группу и в цикле ассоциируем записи, как сказал Денис. При желании можно только скриптами формы обойтись.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Last edited by Артем Enot Грунин; 22.06.2010 at 12:56.
This post has been rated by: Tarasov E (1).
Old 23.06.2010, 10:38   #6  
Tarasov E is offline
Tarasov E
Участник
Tarasov E's Avatar
 
100 / 11 (1) +
Join Date: 01.09.2009
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Attached Thumbnails
Click image for larger version

Name:	11.JPG
Views:	461
Size:	83.8 KB
ID:	5926   Click image for larger version

Name:	12.JPG
Views:	365
Size:	20.3 KB
ID:	5927  

Old 23.06.2010, 10:45   #7  
a33ik is offline
a33ik
Чайный пьяница
a33ik's Avatar
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Join Date: 02.07.2008
Location: Greenville, SC
Quote:
Originally Posted by Tarasov E View Post
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Многое можно сделать используя примеры, приведённые в SDK.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Old 23.06.2010, 10:57   #8  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Артем Enot Грунин's Avatar
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Join Date: 16.08.2007
Location: Пермь!
Blog Entries: 151
Как бы я это реализовывал... Создал новый тип записей: "Группа фильтров". По нажатию на кнопку:
1. Проверял есть ли выбранные записи. Для этого не обязательно открывать новый диалог, можно использовать ансаппорт:
Code:
var grid = document.all["crmGrid"];
var gridBody = grid.InnerGrid;
var selected = gridBody.SelectedRecords;
if (selected.length> 0)
{
//...
}
2. Открывал бы диалог поиска группы записей (вернет нам id созданной группы)
Code:
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. Теперь когда у нас есть массив записей для добавления и идентификатор группы, ассоциируем записи:
Code:
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
Old 23.06.2010, 11:19   #9  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Join Date: 04.08.2008
Location: Москва
Quote:
Originally Posted by Tarasov E View Post
Пока решил создать новую сущность new_webgroup и связать с ней new_web как N:N. Так же в "Сведения" поместил пункт "Субъекты", куда и добавил интересующие меня записи, тем самым сформировал группу. Тоесть теперь с записью "Центральный регион" у меня есть группа связанных субъектов, с которых мне нужно выдрать значения определенных полей по нажатию на кнопку. Не подскажете как их получить?
Стройте FetchXml. Благо, инструменты и примеры есть.
__________________
Опыт позволяет ошибаться гораздо увереннее.
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
При слиянии записей-дубликатов выскакивает ошибка о "циклической ссылке" 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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 17:30.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.