Типизированные и типообразующие объекты

image_pdfimage_print

Печать (Ctrl+P)
Одним из основных свойств некоторых объектов конфигурации является Тип данных. Это свойство определяет, какого рода информацию может содержать объект конфигурации.
Тип данных объекта конфигурации назначается при создании или редактировании свойств объекта в процессе настройки конфигурации.
Объекты конфигурации, для которых может быть указан тип информации, содержащейся в объекте, в системе «1С:Предприятие» называются типизированными объектами конфигурации.
Такие объекты конфигурации, как Справочник, Документ, Обработка, не являются типизированными объектами, так как содержат «комплексную» информацию и, в свою очередь, включают в себя типизированные объекты конфигурации.
Типы данных, которые может принимать объект конфигурации, можно разделить на две группы.
Первую группу составляют примитивные типы данных: Число, Строка, Дата и Булево. Соответственно, информация, хранящаяся в объекте конфигурации, может быть числом, произвольной строкой символов, датой или логической величиной. Кроме этих типов к примитивным типам относят NULL, Неопределено и Тип (подробнее см. раздел
«Примитивные типы данных» справки по встроенному языку).
Кроме этого, некоторые объекты конфигурации системы «1С:Предприятие» также могут образовывать типы данных. Например, константе может быть назначен тип данных ДокументСсылка. В этом случае значение константы будет представлять собой ссылку на
один из существующих в системе «1С:Предприятие» документов.
Объекты конфигурации, которые могут образовывать типы значений конфигурации, в системе «1С:Предприятие» называются типообразующими объектами конфигурации.
Такими объектами в системе «1С:Предприятие» являются:
● справочники,
● документы,
● планы видов характеристик,
● планы счетов,
● планы видов расчета,
● планы обмена,
● бизнес-процессы,
● задачи,
● перечисления.

Необходимо обратить внимание, что типообразующие объекты конфигурации образуют тип данных сразу после создания в конфигураторе объекта любого из таких типов. При этом появляются сразу три новых вида типов: Ссылка, Объект и Список. Например, когда в конфигураторе создается новый справочник, то в списке типов данных появляются новые типы данных:
СправочникСсылка.<ИмяСправочника>
СправочникОбъект.<ИмяСправочника>
СправочникСписок.<ИмяСправочника>

Такие типы данных могут быть присвоены любому из типизированных объектов конфигурации.
Некоторые данные могут иметь составной тип. Для этого в окне редактирования типа
данных нужно установить флажок Составной тип данных и указать те типы, которые могут
принимать данные. Кроме того, допускается выбор специального типа ЛюбаяСсылка.
При выборе типа данных реквизита система, помимо выбора типов, определенных в
конкретном прикладном решении, предоставляет разработчику возможность выбирать
наборы типов. Наборами типов, например, являются ЛюбаяСсылка, СправочникСсылка,
Характеристика.<имя> и др.

Наборы типов, так же как и составной тип данных, содержат некий перечень типов,
определенных в данном прикладном решении, однако, в отличие от составного типа, этот
перечень формируется системой автоматически, в результате анализа метаданных.
Например, в прикладном решении имеются справочники Номенклатура и Контрагенты. Если определен реквизит составного типа данных, в который входят типы
СправочникСсылка.Номенклатура и СправочникСсылка.Контрагенты, то наряду с этим
можно определить реквизит, содержащий набор типов СправочникСсылка. И в том и в
другом случае можно хранить в реквизите ссылки как на справочник Номенклатура, так и
на справочник Контрагенты.
После добавления нового справочника Цены в реквизите составного типа по-прежнему
могут храниться только ссылки на справочники Номенклатура и Контрагенты, а в
реквизите, описанном как набор типов, допускается хранение ссылки на любой из
справочников, доступных в данной конфигурации, в том числе и на справочник Цены.
При запуске прикладного решения набор типов преобразуется системой, как правило, в
составной тип, содержащий все типы, которые должны входить в этот набор. Поэтому во
втором случае в набор типов попадет и новый справочник Цены.

Однако набор типов не всегда преобразуется системой в составной тип данных. Если
оказывается, что в набор типов входит единственный тип значений, то набор типов будет
преобразован в этот самый тип значений. Такая ситуация возможна, например, когда план
видов характеристик (назовем его Свойства) имеет единственный тип значений в свойстве
ТипЗначенияХарактеристик. Тогда набор типов Характеристика. Свойства будет
преобразован системой не в составной тип данных, содержащий один тип значений, а в тот единственный тип значений, который указан для плана видов характеристик.
Эта особенность может быть важна, когда, например, выполняется проверка реквизита,
тип которого описан как Характеристика.Свойства, на заполненность. Когда
Характеристика.Свойства преобразуется системой в составной тип данных, проверять
нужно на значение Неопределено, а если Характеристика.Свойства преобразуется в
определенный тип значения, то проверять нужно на значение по умолчанию данного типа.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *