#std704¶
Использование определяемых типов¶
1.¶
Определяемые типы используйте для данных, которые:
- часто применяются в конфигурации;
- могут меняться при внедрении прикладного решения.
Такой тип задается один раз и многократно используется в разных местах: в реквизитах объектов, свойствах, реквизитах форм, параметрах макетов.
См также¶
Объекты конфигурации - Определяемые типы
2.¶
Определяемые типы рекомендуется использовать в следующих случаях.
2.1.¶
Для определения простого типа и его квалификаторов, если тип имеет прикладной смысл и используется в разных реквизитах, ресурсах, реквизитах форм, макетах и т.д.
Это обеспечивает одинаковую длину и точность данных во всех местах использования и упрощает доработку при изменении требований.
Примеры
НомерСчетаФактуры: строка, длина30. Единый формат номера счета-фактуры в документахПоступлениеТоваровИУслуг,ЗаписьКнигиПокупок,ВозвратТоваровОтКлиентаи др.АдресДоставки: строка, длина500. Текст адреса доставки в документахЗаказПоставщику,ЗаявкаНаВозвратТоваровОтКлиента, в обработкеПомощникПродажи др.
2.2.¶
Для определения #std728: составного типа, который массово используется в объектах подсистемы или во всем прикладном решении.
Определяемый тип фиксирует единый состав типов во всех местах использования и упрощает доработку и внедрение подсистемы в прикладные конфигурации.
Пример
В подсистеме Взаимодействия задан определяемый тип КонтактВзаимодействий:
ФизическиеЛица, Партнеры, КонтактныеЛицаПартнеров.
Этот тип используется в документах (Встреча, ЗапланированноеВзаимодействие, СообщениеSMS, ТелефонныйЗвонок), общих формах (АдреснаяКнига, ВыборКонтакта) и в параметрах макетов.
Без определяемого типа пришлось бы задавать состав типов во всех этих местах вручную и снимать объекты подсистемы с поддержки.
2.3.¶
При разработке внедряемой подсистемы: когда прикладной тип будет уточняться при внедрении.
Пример
Тип подсистемы Поставщики при внедрении может быть заменен на прикладной тип конфигурации Контрагенты.
3.¶
Не используйте определяемые типы:
- как «синоним» уже существующего типа;
- для «подмены» сущностей;
- для локального (немассового) использования без реальной потребности внедрения в другие конфигурации;
- только ради гипотетического удобства будущей доработки.
Обычно это признак ошибки проектирования или некорректного выбора исходного имени типа.
Неправильно
В конфигурации есть справочник Контрагенты, который используется в нескольких регистрах сведений, реквизитах форм и других объектах.
Если это не внедряемая подсистема и тип не предполагается расширять, не нужно создавать отдельный определяемый тип из единственного типа Контрагенты «на всякий случай».
Это размывает прикладной смысл сущности.
См. также¶
- #std728: Ограничения на использование реквизитов составного типа
- Объекты конфигурации - Определяемые типы (документация)