Тип значения в 1с

Заметил, что не опытные программисты зачастую не понимают как работать с типом значения в 1с и где его можно применить на практике. Давайте же поможем им в этом разобраться. В рубрике ‘Джуниор 1с’ поговорим о типах значений в 1с.

В 1с есть коллекция определенных типов, которые могут принимать объекты и значения. Что бы посмотреть весь их список, достаточно в конфигураторе набрать функцию глобального контекста ‘Тип(“‘ и увидеть список доступных типов:

Глоабльный контекст  Тип (Type).
Глобальный контекст Тип (Type).

В результате выполнения данной конструкции мы получим значения типа ‘Тип’:

Тип.
Тип.

По сути все что нам осталось это научиться приводить значения переменных и объектов конфигурации к данному типу. Для этого используется функция глобального контекста для работы с типами, а именно ‘ТипЗнч‘:

Рассмотрим примеры типовых конфигураций, где нам может понадобиться сравнивать типы значений.

К пример из одного документа можно создавать на основании много других, для этого используется событие ‘ОбработкаЗаполнения‘, в котором нам и понадобится определять тип создаваемого объекта:

При изменении реквизита составного типа на форме:

В общих модулях – в процедурах подписок на события:

В общем используем в любых алгоритмах, где тип значения имеет важную роль.

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

Со сравнениями типов вроде все! Еще так же при описании таблицы значений, которую мы собираемся передавать в запрос, важно указать типы колонок, для этого используется конструктор описания типов [Новый ОписаниеТипов(“…”)]:

Тип любого значения мы так же можем посмотреть через табло во время отладки:

Тип значения в отладке.
Тип значения в отладке.

Есть еще разные типы: типы значений XDO-пакетов, XML элементов и т.д. Но о них уже поговорим в другой статье.

Надеюсь теперь у новичков не должно возникнуть вопросов, как работать с типами в модулях 1с!

2+

Оставить комментарий

Ваш адрес email не будет опубликован.