Скрыть поле из секции "Запрет на использование" (деталь "Средства связи")
Вопрос
Как скрыть поле с детали "Средства связи"
Ответ
Данный вопрос необходимо решать на уровне конфигурации.
Рассмотрим реализацию на примере.
Кейс:
необходимо скрыть поле «E-mail» из секции «Запрет на использование» в разделе «Контакты».
Решение:
- Необходимо заместить схему (Управление конфигурацией – Конфигурация – кнопка «Добавить» - пункт «Замещающий клиентский модуль»).
- В открывшимся окне в поле «Родительский объект» указать «Средства связи контакта (устаревшая версия)» (Рис. 1).
ВАЖНО. Необходимо использовать устаревшую версию схемы «Средства связи».
3. В замещающую схему вставить следующий код:
define("ContactCommunicationDetail", ["ContactCommunicationDetailResources", "terrasoft"], function(resources, Terrasoft) { return { entitySchemaName: "ContactCommunication", methods: { /** * Возвращает запреты на использование. * @protected * @return {Object} Объект, который содержит свойства запретов на использование. */ getRestrictions: function() { return { "DoNotUseEmail": { /*Не использовать E-mail*/ "RestrictCaption": this.get("Resources.Strings.DoNotUseEmail"), "Caption": this.get("Resources.Strings.DoNotUseEmailCaption") }, "DoNotUseCall": { /*Не использовать телефон*/ "RestrictCaption": this.get("Resources.Strings.DoNotUseCall"), "Caption": this.get("Resources.Strings.DoNotUseCallCaption") }, "DoNotUseSms": { /*Не использовать SMS*/ "RestrictCaption": this.get("Resources.Strings.DoNotUseSms"), "Caption": this.get("Resources.Strings.DoNotUseSmsCaption") }, "DoNotUseFax": { /*Не использовать факс*/ "RestrictCaption": this.get("Resources.Strings.DoNotUseFax"), "Caption": this.get("Resources.Strings.DoNotUseFaxCaption") }, "DoNotUseMail": { /*Не использовать почту*/ "RestrictCaption": this.get("Resources.Strings.DoNotUseMail"), "Caption": this.get("Resources.Strings.DoNotUseMailCaption") } }; } }, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/ }; });
Рис. 1
4. Затем выделяем с помощью компьютерной мышки часть кода, которая изображен на рисунке 2 (начиная от названия "DoNotUseEmail" и заканчивая }, ).
Рис. 2
5. В итоге должно выглядеть как рисунке 3. Затем мы сохраняем схему.
Рис. 3
6. Затем очищаем кэш браузера и проверяем результат.
7. В результате поле "E-mail" не отобразиться (Рис. 4).
Рис. 4
Примечание. Скрытие других полей или реализация в разделе «Контрагенты» происходит аналогичным путем.