Всем доброго времени суток. Версия 7.10.
При создании нового контакта обычно вызывается мини-карточка. Сейчас при нажатии на кнопку "Добавить" на странице списка контактов сделан выбор между двумя типами контактов - клиентом и сотрудником (у разных типов контактов немного разные страницы). Однако мини-карточка вызывается только при создании контакта с типом Сотрудник, если выбран тип контакта Клиент, то открывается сразу страница контакта.
В базовой схеме раздела BaseSectionV2 есть функция addRecord, где есть проверка типа:
if (this.hasAddMiniPage(typeColumnValue)) { this.openAddMiniPage({ entitySchemaName: this.entitySchemaName, valuePairs: this.getAddMiniPageDefaultValues(typeColumnValue) }); } else { this.openCardInChain({ schemaName: schemaName, operation: ConfigurationEnums.CardStateV2.ADD, moduleId: this.getChainCardModuleSandboxId(typeColumnValue), instanceConfig: { useSeparatedPageHeader: this.get("UseSeparatedPageHeader") } }); }
typeColumnValue - это guid типа контакта.
Вопрос - где искать функцию hasAddMiniPage, или быть может где-то нужно добавить тип контакта в некий список?
Попробовал в переопределении ContactSectionV2 сделать так:
hasAddMiniPage: function(typeColumnValue){ if ( (typeColumnValue == "00783ef6-f36b-1410-a883-16d83cab0980") || (typeColumnValue == "60733efc-f36b-1410-a883-16d83cab0980") ){ return true; } else { this.callParent(arguments); } }
На странице списка контактов, конечно, работает, но в других местах есть и отдельные детали, привязанные к объекту Contact, поэтому очевидно, что это решает проблему лишь частично.
Нравится
Денис, добрый день!
Информация касательно использования миникартчоки хранится в базе данных в таблице SysModuleEdit. Если для страницы редактирования используется миникарточка, то в поле MiniPageSchemaUId указывается UId схемы миникарточки.
Также, рекомендую ознакомиться со статьей: https://academy.terrasoft.ru/documents/technic-sdk/7-11/sozdanie-mini-k…
Новак Руслан,
Руслан, спасибо, но есть ещё пара вопросов:
Нашёл в базе две записи:
Id:"a4f8a54f-2794-4eae-9ce4-4f8d66061a60" MiniPageSchemaUId:"2741dd1e-7c35-432c-915a-9aa228eb057b" PageCaption:"Сотрудник" Id:"7b055f93-bb7e-463a-a6ce-24c2730f0f8e" MiniPageSchemaUId:"" PageCaption:"Клиент"
Судя по MiniPageSchemaUId - это они. Запросом через batch query добавил такой же id "2741dd1e-7c35-432c-915a-9aa228eb057b" и в запись для клиента. Но миникарточка всё равно не показывается.
Где-то ещё нужно поправить?
Смородинов Денис,
возможно, после добавления Uid миникарточки в запись в таблице SysModuleEdit, требуется почистить кэш, перелогиниться, и, возможно еще и redis