Создать схему замещающей модели представления страницы счета
- Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
-
На панели инструментов реестра раздела нажмите Добавить —> Замещающая модель представления (Add —> Replacing view model).
-
Заполните свойства схемы.
- Код (Code) — "InvoicePageV2".
- Заголовок (Title) — "Страница редактирования счета" ("Invoice edit page").
- Родительский объект (Parent object) — выберите "InvoicePageV2".
- В объявлении класса модели представления в качестве зависимостей добавьте модуль InvoiceConfigurationConstants.
-
Реализуйте исключения и условия блокировки полей.
- В свойство attributes добавьте атрибут IsModelItemsEnabled, который включает механизм блокировки полей.
-
В свойстве methods реализуйте методы:
- getDisableExclusionsColumnTags() — исключает блокировку колонки.
- getDisableExclusionsDetailSchemaNames() — исключает блокировку детали.
- setCardLockoutStatus() — настраивает условия блокировки полей.
- onEntityInitialized() — переопределяет базовый виртуальный метод. Срабатывает после выполнения инициализации схемы объекта страницы записи.
- В массив модификаций diff добавьте конфигурационный объект с настройками контейнера CardContentWrapper, в котором планируется блокировать поля.
Исходный код схемы замещающей модели представления страницы счета представлен ниже.
- На панели инструментов дизайнера нажмите Сохранить (Save).
Результат выполнения примера
Чтобы посмотреть результат выполнения примера, обновите страницу раздела Счета (Invoices).
В результате выполнения примера на странице счета, у которого в поле Состояние оплаты (Payment status) выбрано значение "Оплачен полностью" ("Paid")), заблокировано большинство полей. Незаблокированными остаются:
- Поле Состояние оплаты (Payment status).
- Деталь Активности (Activities).
- Поля, для которых в свойстве enabled массива модификаций diff указано значение true.