Разберем методы, при помощи которых, в 1С 8.3 можно определить тип значения переменной (или реквизита какого-нибудь объекта). Причем, эти методы могут работать со всеми типами: примитивными, объектными и коллекциями значений.
Для работы с типами, в платформе 1С имеется специальный тип, который так и называется Тип. Этот тип необходим для идентификации типов значений различных данных. Значения типа Тип возвращают только две функции Тип и ТипЗнч.
Функция ТипЗнч в 1С
Разберем функцию ТипЗнч. Эта функция принимает в качестве параметра любое значение и возвращает тип этого значения.
Рассмотрим пример: будем использовать в качестве параметра этой функции число, таблицу значений и объект какого-нибудь справочника.
п_Число = 124.56; п_ТаблицаЗначений = Новый ТаблицаЗначений; п_Объект = Справочники.Товары.СоздатьЭлемент(); тип_ч = ТипЗнч(п_Число); тип_ТЗ = ТипЗнч(п_ТаблицаЗначений); тип_Объект = ТипЗнч(п_Объект);
Посмотрим в отладке, что вернет этот метод.
Как видите, все значения, которые вернул метод ТипЗнч имеют тип Тип. Но, сами по себе знания о том, какой тип у того или иного значения нам ни чего не дают. Разве что можно сравнить одинаковы ли типы у двух разных значений. Эти знания применимы только тогда, когда можно точно определить какого типа наше значение. Делается это при помощи функции Тип.
Функция Тип в 1С
Функция тип имеет один параметр имя получаемого типа в строковом представлении, возвращает тип Тип.
Переделаем предыдущий пример: будем получать типы значений, используя функцию Тип.
тип_ч = Тип("Число"); тип_ТЗ = Тип("ТаблицаЗначений"); тип_Объект = Тип("СправочникОбъект.Товары");
В переменных будут те же значения, что и в прошлый раз.
Чтобы быстро получить название какого-то типа, достаточно «задержаться» в написании после первой кавычки, или нажать комбинацию клавиш Ctrl+Пробел.
Появится выпадающий список всех названий типов, где набирая первые символы названия можно быстро найти нужный тип.
Обе функции Тип и ТипЗНЧ возвращают значения одного типа – Тип. Но, если в случае функции ТипЗнч мы не можем точно знать, что вернет эта функция (поскольку, иногда, возникают ситуации, когда точно не известно какого тип та или иная переменная), то при работе с функцией Тип, мы точно знаем, какое значение вернет эта функция, поскольку сами указали строковое представление типа в параметре.
Как проверить тип значения
Для того, чтобы проверить какой тип значения у той или иной переменой, достаточно использовать обе этих функции (Тип и ТипЗнч) вместе: сравнивая, что возвращает функция ТипЗнч, в параметре которой указано какое-либо значение, с функцией Тип, в параметре которой мы указали конкретный тип.
Рассмотрим пример: будем заполнять массив значениями разных типов, потом при помощи генератора случайных чисел выберем нужный элемент массива, и определим какого типа этот элемент массива. В этот массив поместим число, дату, строку и какой-нибудь список значений.
МассивТипов = Новый Массив; МассивТипов.Добавить("Какая-то строка"); МассивТипов.Добавить(23445.11); МассивТипов.Добавить(Дата(2012,01,02)); МассивТипов.Добавить(Новый СписокЗначений); ГСЧ = Новый ГенераторСлучайныхЧисел; СлучайныйИндекс = ГСЧ.СлучайноеЧисло(0,3); ЭлементМассива = МассивТипов[СлучайныйИндекс]; Сообщить("Номер элемента массива: " + СлучайныйИндекс); Если ТипЗнч(ЭлементМассива) = Тип("Строка") Тогда Сообщить("Это строка"); ИначеЕсли ТипЗнч(ЭлементМассива) = Тип("Число") Тогда Сообщить("Это число"); ИначеЕсли ТипЗнч(ЭлементМассива) = Тип("Дата") Тогда Сообщить("Это дата"); ИначеЕсли ТипЗнч(ЭлементМассива) = Тип("СписокЗначений") Тогда Сообщить("Это список значений"); КонецЕсли;
В этом коде я использовал условие, где обрабатывал сравнение значений, которые возвращают функции Тип и ТипЗнч.
Статьи о примитивных типах в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009