Настройки системы делаем на базе Студио, очень много новых разделов создано и связано с активностями. В мини-карточке активности сложно понять с чем именно это связь так как иконки одинаковые.
Если нажать правой кнопкой на иконке и посмотреть в исходниках веб-страницы, видно, что она загружается из EntityConnectionLinksResourceUtilities. Там кода почти нет, зато все эти картинки в дереве справа: ContactExistIcon, AccountExistIcon и др., а для неизвестных — цепь в DefaultIcon.
А логика подстановки в зависимости от названия колонки реализована в EntityConnectionLinksUtilities (и аналогичными по смыслу в EntityConnectionLinksPanelItemUtilities) функциями:
/**
* Returns menu of connections type buttons.
* @protected
* @param {Object} column Connection column.
* @return {Terrasoft.BaseViewModel} View model menu item.
*/
generateRelationMenuItemConfig: function(column){
var imageConfig =this.getRelationImageConfig(column.name);
var config ={"click":{"bindTo":"onRelationMenuItemClick"},
"caption": column.caption,
"imageConfig": imageConfig,
"tag": column.name,
"visible":{"bindTo": column.name,
"bindConfig":{"converter":"isEmptyColumnValue"}},
"markerValue": column.caption};return config;},
...
/**
* Returns object config with button icon parameters.
* @param {String} columnName Column name.
* @return {Object}
*/
getRelationImageConfig: function(columnName){
var resourceName = columnName +"ExistIcon";
var image = EntityConnectionLinksResourceUtilities.resources.localizableImages[resourceName]||
EntityConnectionLinksResourceUtilities.resources.localizableImages.DefaultIcon;return image;},
То есть если для нового раздела колонка и иконка одна и та же и дополнительных условий проверять не требуется, можно без изменений в коде, только добавить в EntityConnectionLinksResourceUtilities новую картинку с названием название_раздела + ExistIcon, желательно в том же размере и формате.