Показать сообщение отдельно
Старый 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