#std704

Использование определяемых типов

1.

Определяемые типы используйте для данных, которые:

  • часто применяются в конфигурации;
  • могут меняться при внедрении прикладного решения.

Такой тип задается один раз и многократно используется в разных местах: в реквизитах объектов, свойствах, реквизитах форм, параметрах макетов.

См также

Объекты конфигурации - Определяемые типы

2.

Определяемые типы рекомендуется использовать в следующих случаях.

2.1.

Для определения простого типа и его квалификаторов, если тип имеет прикладной смысл и используется в разных реквизитах, ресурсах, реквизитах форм, макетах и т.д.

Это обеспечивает одинаковую длину и точность данных во всех местах использования и упрощает доработку при изменении требований.

Примеры

  • НомерСчетаФактуры: строка, длина 30. Единый формат номера счета-фактуры в документах ПоступлениеТоваровИУслуг, ЗаписьКнигиПокупок, ВозвратТоваровОтКлиента и др.
  • АдресДоставки: строка, длина 500. Текст адреса доставки в документах ЗаказПоставщику, ЗаявкаНаВозвратТоваровОтКлиента, в обработке ПомощникПродаж и др.
2.2.

Для определения #std728: составного типа, который массово используется в объектах подсистемы или во всем прикладном решении.

Определяемый тип фиксирует единый состав типов во всех местах использования и упрощает доработку и внедрение подсистемы в прикладные конфигурации.

Пример

В подсистеме Взаимодействия задан определяемый тип КонтактВзаимодействий: ФизическиеЛица, Партнеры, КонтактныеЛицаПартнеров.

Этот тип используется в документах (Встреча, ЗапланированноеВзаимодействие, СообщениеSMS, ТелефонныйЗвонок), общих формах (АдреснаяКнига, ВыборКонтакта) и в параметрах макетов.

Без определяемого типа пришлось бы задавать состав типов во всех этих местах вручную и снимать объекты подсистемы с поддержки.

2.3.

При разработке внедряемой подсистемы: когда прикладной тип будет уточняться при внедрении.

Пример

Тип подсистемы Поставщики при внедрении может быть заменен на прикладной тип конфигурации Контрагенты.

3.

Не используйте определяемые типы:

  • как «синоним» уже существующего типа;
  • для «подмены» сущностей;
  • для локального (немассового) использования без реальной потребности внедрения в другие конфигурации;
  • только ради гипотетического удобства будущей доработки.

Обычно это признак ошибки проектирования или некорректного выбора исходного имени типа.

Неправильно

В конфигурации есть справочник Контрагенты, который используется в нескольких регистрах сведений, реквизитах форм и других объектах.

Если это не внедряемая подсистема и тип не предполагается расширять, не нужно создавать отдельный определяемый тип из единственного типа Контрагенты «на всякий случай».

Это размывает прикладной смысл сущности.

См. также
Источник

https://its.1c.ru/db/v8std#content:704