Описание типов 1С


Когда требуется работать со списком типов – используется объект ОписаниеТипов (см. «Получение доступных типов», «Работа с типами реквизитов в метаданных конфигурации», «Указать фильтр типов в фильтре»).

 

Получить список типов

Предположим, что Вы получили готовый объект ОписаниеТипов:

  • ЭлементыФормы.ИмяПоля.ТипЗначения
  • ДокументСсылка.Метаданные().Реквизиты.ИмяРеквизита.Тип
  • СписокЗначений.ДоступныеЗначения

Получить список типов из объекта ОписаниеТипов можно с помощью метода .Типы(), например:
Для каждого ДоступныйТип из ЭлементыФормы.ИмяПоля.ТипЗначения Цикл
     Если ДоступныйТип = Тип("Строка") Тогда
          //…
     КонецЕсли;
КонецЦикла;

 

Проверка наличия типа в списке

Если требуется просто проверить – есть ли в списке типов требуемый, можно использовать метод .СодержитТип(), например:
Если ЭлементыФормы.ИмяПоля.ТипЗначения.СодержитТип( Тип("Строка") ) Тогда
     //…
КонецЕсли;

 

Приведение значения к разрешенному типу

Если у Вас имеется значение (например, переменная со значением) и имеется фильтр типов значений в объекте ОписаниеТипов, то возможно привести значение к тем ограничениям типов, которые указаны в объекте ОписаниеТипов.

Например:
ЗначениеРазрешенногоТипа = ОписаниеТиповФильтр.ПривестиЗначение( НекотороеЗначение );

 

Создание описания типов

Создать объект ОписаниеТипов требуется в тех случаях, когда требуется указать какой фильтр типов будет установлен, например, при добавлении колонки таблицы значений методом .Добавить (фильтр типов указывается вторым параметром), или для установки фильтра разрешенных типов в список значений в свойстве .ДоступныеЗначения

Если в списке разрешенных типов присутствует только один тип, то в качестве параметра при создании объекта ОписаниеТипов указывается просто название типа (см. выше «Работа с типами»).

Например:
ФильтрТипов = Новый ОписаниеТипов("Строка");

Если в списке разрешенных типов нужно указать список типов, то требуется сначала создать массив типов и указать в качестве параметра массив.

Например:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


При добавлении базовых типов (строка, число, дата) Вы указываете имя типа. Но ведь базовые типы имеют настройки – длину строки, разрядность числа, дата и время или только дата.

При создании объекта ОписаниеТипов возможно указать дополнительными параметрами настройки базовых типов (любой из указанных параметров настроек – необязательный и можно пропустить).
Новый ОписаниеТипов(ИмяТипа, НастройкиТипаЧисло, НастройкиТипаСтрока, НастройкиТипаДата);

 

Настройки числа

Создадим настройку для целого числа с 5 цифрами: 99 999
НастройкаТипаЧисла = Новый КвалификаторыЧисла(5,0);

Создадим настройку для дробного числа с 5 цифрами до запятой и 2 цифрами после запятой: 99 999,99
НастройкаТипаЧисла = Новый КвалификаторыЧисла(5,2);

Настройка для того же числа, что и выше, и дополнительно – неотрицательного:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


 

Настройки строки

Если необходимо использовать строку неограниченной длины – настройку указывать не надо.

Настройка для строки длиной 100 символов:
НастройкаТипаСтроки = Новый КвалификаторыСтроки(100);

Настройка для строки длиной 100 символов, значения которой дополняются до 100 символов пробелами:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


 

Настройки даты

Если необходимо использовать дату и время – настройку указывать не надо.

Настройка для только даты, без времени (значение будет содержать время 00:00:00):
НастройкаТипаДаты = Новый КвалификаторыДаты(ЧастиДаты.Дата);

Настройка для только времени, без даты (значение будет содержать дату 01.01.0001):
НастройкаТипаДаты = Новый КвалификаторыДаты(ЧастиДаты.Время);

 

Пример использования настроек



Только зарегистрированные пользователи VIP группы могут видеть этот контент.




Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (8 голосов, среднее: 4,00 из 5)
Загрузка...

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