Click to view
В 1С 8.3. имеется объект Определяемые типы, которые позволяет разработчику создать новый тип данных на основе имеющихся типов, как примитивных, так и более сложных типов (ссылочные, объектные и т.п.).
СОЗДАЕМ ОПРЕДЕЛЯЕМЫЙ ТИП В 1С
Создадим определяемый тип. Для этого в конфигураторе 1С развернем ветку Общие, в этой ветке нас интересует ветка Определяемые Типы. У данной ветки нужно вызвать контекстное меню с единственной командной Добавить.
После выполнения этой команды, определяемый тип будет создан, а справа откроется палитра свойств этого типа.
В этой палитре свойств мы можем указать название нового типа и определить его тип.
Причем, если мы нажмем на кнопку «…» свойства Тип, то обнаружим, что новый определяемый тип может быть составным…
Мы научились создавать определяемый тип, теперь перейдем к случаям, когда его необходимо использовать.
ИСПОЛЬЗОВАНИЕ ПРИМИТИВНОГО ТИПА С ОБЩИМИ КВАЛИФИКАТОРАМИ
Рассмотрим первую возможность применения определяемого типа. Иногда в конфигурации необходимо массово использовать примитивный тип с одинаковыми квалификаторами. Например, у нас в разных
документах есть реквизит цена, который использует тип Число с длинной 10, точностью 2, и еще неотрицательный. В платформе 1С 8.3 мы можем создать определяемый тип с таким примитивным типом.
Теперь мы можем у соответствующего реквизита документа выбрать этот тип.
Замечу, что после этих действий, у реквизита объекта управляемой формы, которая является основной формой документа, будет указан новый определяемый тип.
После создания нового определяемого типа, мы можем у всех объектов, где применяется сущность цена, использовать этот определяемый тип, не заботясь о том, что мы ошибемся с определением квалификатора в каком-то случае.
ИСПОЛЬЗОВАНИЕ СОСТАВНОГО ТИПА
Иногда возникают ситуации, когда в конфигурации необходимо использовать составной тип данных, причем одинаковый состав типов нужно применять в разных объектах метаданных. В этом случае рациональнее создать новый определяемый тип, который будет составным, и который можно применять в нужных объектах.
У этого подхода есть следующие преимущества:
1. Вы уверены, что в реквизите, в котором применим составной определяемый тип, используется всегда нужный состав типов, и вы ни чего не забыли.
2. При доработке конфигурации, когда вам нужно в состав типа добавить новый тип, то вам достаточно доработать определяемый тип, при этом остальные объекты дорабатывать нет необходимости. И вы будете уверены, что после доработки определяемого типа (добавления нового типа в состав), возможность использовать новый тип появится во всех реквизитах, где указан определимый тип.
Рассмотрим пример использования составного типа в определяемом типе. В моей учебной конфигурации, у документов прихода товара и расхода товара есть реквизит Склад.
В этой конфигурации, товар может поступать (и списываться) как на склад, так и в магазин . А склад и магазин это отдельные
справочники.
В этом случае реквизит Склад документов необходимо сделать составным. Можно это сделать вручную для каждого реквизита документа в отдельности, а можно создать новый определяемый тип, который будет составным.
И этот тип, указать в соответствующих реквизитах документов.
После этих действий, при заполнении склада нужного документа, необходимо выбрать сначала нужный тип данных.
А потом уже выбрать нужный элемент справочника
Если же мы добавим новый справочник (например, Автобаза), и укажем его в составе нашего определяемого типа.
То нам не нужно будет изменять реквизиты объектов. Новый тип появится автоматически, и значение этого типа можно будет указать в соответствующем реквизите.