Поля составных типов
Общее определение
Поля составных типов в программировании (на примере программы «1С:Предприятие») — это поля, которые могут принимать значения одного из нескольких типов. Это полезно для работы с комплексными структурами данных, такими как адреса, реквизиты или другие составные объекты.
Составной тип. Тип считается составным, если в конфигураторе при выборе типа объекта метаданных (реквизита, измерения, ресурса и т. п.) в диалоге редактирования выбран более чем один тип (для этого нужно установить флаг «Составной тип») или выбрана ссылка на объекты базы данных более чем одного типа.
Важно
В каждый конкретный момент времени значение имеет только один конкретный тип. Если значение составного типа не указано, тип будет «Неопределенно». Одновременно двух типов значение составного типа быть не может.
Пример использования
В составе типовых объектов программы «1С:Предприятие» часто можно встретить поля составных типов с разнообразной палитрой типов данных. На примере документа «Приходный ордер» рассмотрим работу с такими полями.
Поле «Документ основания» приходного ордера является полем с составным типом.
Что делаем?
При создании проекта на этапе сопоставления полей для реквизита, который имеет множественный тип, вычислим тип метаданных.
Для каждого отдельного типа настраиваем Условие выбора типа:
Передается в отдельной колонке
Можем сопоставить передаваемую СУБД колонку по ссылке с данными загрузки.
Либо вычисляем по собственной формуле
Вычисляется по условиям
В колонке "Поиск по полям" настроим соответсвие между полями источника и приемника.
Далее заканчиваем настройку и нажимаем кнопку «Перенести условия в итоговый текст». Конструктор Инжектора 1С сформирует запрос, текст которого можно увидеть и отредактировать, на вкладке «Итоговый текст на стороне 1С».
Сохраняем изменения. На этом этапе работа с полем и его составными типами закончена.
Таким образом нам удалось настроить уникальное условие связи между приемником и источников, в данных передачи которых есть поля составных типов.