На прошлых занятиях мы изучили примитивные типы данных Число, Строка, Дата и Булево, ознакомьтесь с этими материалами, прежде чем приступить к изучению этого.
Неопределено – значение данного типа применяются, когда необходимо использовать значение, не принадлежащее ни к одному конкретному типу. Означает, что у объявленной переменной может быть любой тип, но пока тип не определен.
Тип – представляет собой объект для управления допустимыми типами значений данных.
Присвоение значения объекту «Тип данных» посредством чтения реквизита
Для того, чтобы понять этот тип данных, создадим обработку, которая позволит менять значение некоторой переменной. Мы создадим переменную А, которая может принимать следующие значения:
- Число
- Строка
- Дата
- Булево
- Неопределено
Для демонстрации принципов работы с этим типом данных создадим новую форму обработки.
Сразу добавим в нее следующие реквизиты:
- НашаПеременная, укажем для нее Составной тип данных: Строка, Число, Дата и Булево
- ПрисвоеныйТип – Строка длинной 15 символов
- Комментарий - Строка неограниченной длины
Затем поместим реквизиты на созданную конструктором форму.
Создадим процедуру-обработчик события при изменении значения реквизита НашаПеременная. Цель обработчика – определять тип данных реквизита, для этого используется функция ТипЗначения или ТипЗнч
На первом этапе объявим переменную А и создадим предопределенную процедуру-обработчик ПриОткрытии. Обработчик будет подтягивать в поле Комментарий примитивный тип данных реквизита НашаПеременная.
Обратите внимание, что программа не выполнит процедуру-обработчик, если мы не привяжем его к событию. В данном случае мы вызвали выполнение процедуры ТипЗначения (А), объявив ее в другой процедуре.
Теперь при открытии формы обработки можно увидеть, что созданная переменная А имеет тип Неопределено.
На втором этапе дополним код предопределенным обработчиком ПриИзменении для реквизита НашаПеременная. Задача обработчика – обновлять реквизит Комментарий каждый раз при изменении реквизита НашаПеременная.
В результате мы создали обработку, которая задает переменную А через взаимодействие с реквизитом НашаПеременная. Также мы создали процедуру ТипЗначения (А), которая выводит Тип выбранного значения примитивных данных в реквизите Комментарий.
Однако, такой способ управления переменной нельзя назвать практичным – необходимо создавать реквизит, цель которого не хранить и записывать данные, а быть переключателем типа данных.
Присвоение значения объекту «Тип данных» посредством команды
Далее мы рассмотрим более лаконичный механизм, который позволит присвоить переменной А необходимое значение при помощи соответствующих команд.
Так, чтобы присвоить переменной А тип Строка, создадим команду ТипСтрока и выведем ее на форму.
Теперь создадим процедуру-обработчик команды, которая назначит переменной А новое значение.
Для присвоения нового значения используется процедура ОписаниеТипов. При этом помимо непосредственно значения переменной А, обработчик выведет использованный код в строку Комментарий.
Для заполнения реквизита формы ПрисвоенныйТип создадим процедуру заполнения этого реквизита полученным значением.
После выполнения команды получаем результат:
Теперь создадим на управляемой форме аналогичные команды и процедуры-обработчики для присвоения переменной переменной А примитивных типов:
- Число
- Дата
- Булево
- Неопределено
Вы можете попробовать сделать это самостоятельно.
Теперь при выполнении каждой команды реквизит формы ПрисвоенныйТип будет показывать какой тип данных присвоен переменной А, а реквизит Комментарий покажет строку программного кода, которая присваивает переменной А нужный тип примитивных данных.
Освойте навыки разработчика 1С на очных специализированных курсах от крупнейшей компании-франчайзи 1С.