Объект описание типов 1С сам по себе нигде не используется, в основном он нужен в качестве параметра разных объектов, например, таблицы значений 1С. На примере таблицы значений и покажем, как работать с описанием типов. Описание типов можно создать только для одного типа, например, для типа Число будет следующее описание типа.
Описание объекта ОписаниеТипов находится в разделе Общие объекты/описание типов значений в синтаксис – помощнике электронной документации платформы
![Описание типов 1с](https://ithelpyou.ru/wp-content/uploads/2024/11/Opisanie-tipov-1s-1.jpg)
Что такое Квалификаторы?
В 1С есть простые типы: Число
, Строка
, Дата
. Но иногда необходимо уточнить, что переменная будет не просто числом, а например, числом длиной 12 символов и 2 разрядами после запятой, при этом неотрицательное. В простых типах это сделать невозможно т.к. тип не имеет соответствующих свойств. Для таких случаев и нужен объект «Квалификатор».
Знак = ДопустимыйЗнак.Неотрицательный;
КвалификаторЧисло = Новый КвалификаторыЧисла(12, 2, Знак);
У каждого простого типа есть свой квалификатор:
КвалификаторСтрока = Новый КвалификаторыСтроки(100);
КвалификаторВремя = Новый КвалификаторыДаты(ЧастиДаты.Время);
Описание типов 1с с использованием Массивов. Например, мы создали описание типов для чисел, строк и булево.
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Число"));
МассивТипов.Добавить(Тип("Строка"));
МассивТипов.Добавить(Тип("Булево"));
КвалификаторЧисла = Новый КвалификаторыЧисла(6,2,ДопустимыйЗнак.Неотрицательный);
КвалификаторСтроки = Новый КвалификаторыСтроки(10,ДопустимаяДлина.Фиксированная);
ОписаниеТипов = Новый ОписаниеТипов(МассивТипов,КвалификаторЧисла,КвалификаторСтроки,);
Следует учитывать, что объект ОписаниеТипов и значение типа Тип – это два совсем разных по смыслу значения. Значение типа Тип идентифицирует тип конкретного значения, а ОписаниеТипов описывает область допустимых значений там, где могут храниться значения.
Объект ОписаниеТипов, кроме перечня типов, содержит квалификаторы для типов Дата, Строка и Число. С помощью квалификаторов для этих примитивных типов может быть установлено дополнительное ограничение допустимых значений.
Важной особенностью объекта ОписаниеТипов является работа с типом Неопределено. Если в объекте ОписаниеТипов задано более одного типа, то считается, что кроме значений заданных типов, может храниться и значение типа Неопределено. Это необходимо, потому что если, например, какой либо реквизит имеет составной тип (допускает хранение более одного типа), то значением по умолчанию для данного реквизита будет значение Неопределено. Если допускается хранение одного типа, то значением по умолчанию будет являться значение по умолчанию этого типа. Таким образом, тип Неопределено всегда неявно присутствует в перечне типов объекта ОписаниеТипов если в нем задано более одного типа.