1CLenta.ru  

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

Программирование системы     20.12.2016 10:47     16277

Для определения типа значения в 1С существуют специальные методы и конструкции встроенного языка программирования и языка запросов.

На встроенном языке


Функция ТипЗнч(<Значение>) по значению возвращает тип.
Функция Тип(<Строка>) по описанию возвращает тип.

Если ТипЗнч(Значение) = Тип("Число") Тогда
Сообщить("Тип значения - Число");

ИначеЕсли ТипЗнч(Значение) = Тип("Строка") Тогда
Сообщить("Тип значения - Строка");

ИначеЕсли ТипЗнч(Значение) = Тип("Дата") Тогда
Сообщить("Тип значения - Дата");

ИначеЕсли ТипЗнч(Значение) = Тип("Булево") Тогда
Сообщить("Тип значения - Булево");

ИначеЕсли ТипЗнч(Значение) = Тип("СправочникСсылка.Справочник1") Тогда
Сообщить("Тип значения - Справочник1");

ИначеЕсли ТипЗнч(Значение) = Тип("ДокументСсылка.Документ1") Тогда
Сообщить("Тип значения - Документ1");

//...
//...
//...

КонецЕсли;

В запросах


Для определения типа значения можно применить оператор ССЫЛКА или воспользоваться функциями языка заросов ТИПЗНАЧЕНИЯ() и ТИП().

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКВыплате.Сотрудник,
| ЗарплатаКВыплате.СуммаКВыплате
|ИЗ
| РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате
|ГДЕ
| ЗарплатаКВыплате.Регистратор ССЫЛКА Документ.ВозвратНДФЛ"
;


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКВыплате.Сотрудник,
| ЗарплатаКВыплате.СуммаКВыплате
|ИЗ
| РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате
|ГДЕ
| ТИПЗНАЧЕНИЯ(ЗарплатаКВыплате.Регистратор) = ТИП(Документ.ВозвратНДФЛ)"
;

В 1С:Предприятии все значения имеют определенный тип. Во встроенном языке есть специальные методы для приведения типа значения.

Комментарии (0)