Платформа 3V/Рекомендации по использованию инструментов платформы и решаемым задачам/Карточки

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Рекомендации по карточкам:

  1. Минимизировать действия при открытии карточки, которые направлены на перестроение и получение данных из отчетов и справочников больших объемов. Например, открывать карточку со значениями по умолчанию, либо, при открытии карточки с параметром, настроить отложенное построение отчетов.
  2. Если в карточке используется получение значения связанных атрибутов справочников больших объемов, необходимо прописывать настройку данного атрибута как получение значения транзитивного атрибута справочника, а не как связанного, через конструкцию TransitiveAttributeDefinitionDto. Данная настройка используется потому, что связанный атрибут влечет построение всего связанного справочника, а транзитивный - только используемых значений. Аналогичную настройку необходимо использовать при настройки отчетов.
  3. Если в карточке настроены вкладки, на которых размещены контролы, таблицы, то необходимо при открытии настраивать загрузку только активной вкладки, чтобы других вкладках данные загружались только в момент активации вкладки.
  4. В карточках должны присутствовать только те ui, источники, expressions, binaryConditionsRules и actions, которые используются в карточке, не должно быть лишних источников, выражений, условий и действий, которые не используются.
  5. Для раскрывающегося списка, источником которого является большой справочник необходимо настроить серверный поиск.
  6. По возможности не злоупотреблять настройкой disableDataEditingRuleId, где указывается условие блокировки контролов при открытии карточки, лучше настраивать блокировку на уровне прав всей карточки, либо для каждого контрола отдельно.
  7. Желательно использовать меньше выражений типа EntryExpressionByDictionaryRequestDto, где происходит запрашивание справочника для каждого выражения данного типа.
  8. Продумывать использование настройки doActionOnChangeValue для контрола, чтобы не происходило постоянного обновления зависимых объектов при изменении значения в контроле, включать данную настройку только для тех контролов, при изменении которых необходимо выполнение действия для дальнейшего заполнения карточки.
  9. Выключать настройку isReadOnly для справочников необходимо только в том случае, если действительно необходимо сохранение данных в источник при выполнении действия сохранения всех источников, чтобы не происходило сохранения тех источников, которые этого не требуют.
  10. Для источников карточки необходимо описывать в настройках dictionaryAttributes только те атрибуты, которые необходимы для использования в текущей карточке, т.е. все лишние атрибуты, которые не используются, в карточке запрашиваться не должны.