Открыть сервисСервис

Булево значение в 1С

Булево значение (тип данных Булево, англ. boolean) — примитивный тип данных в языке встроенного языка 1С:Предприятие, принимающий только два значения: Истина и Ложь. Используется для хранения логических признаков, управления условиями в операторах Если, Пока, Для, а также в качестве значения реквизитов объектов метаданных, форм, регистров и выражений запросов.

Основные свойства

Тип Булево занимает в системе минимальное количество памяти и не допускает иных значений, кроме Истина и Ложь. Присвоение другого значения переменной типа Булево приводит к ошибке выполнения или приведению типа в зависимости от контекста. В встроенном языке литералы Истина и Ложь записываются без кавычек и не зависят от регистра.

``1c Перем Флаг Экспорт; // по умолчанию Неопределено Флаг = Истина; Флаг = Ложь; ``

Значение по умолчанию для нового реквизита типа Булево в конфигураторе — Ложь. Переменная, объявленная без инициализации, содержит Неопределено, которое к Булево не относится, но в условиях Если трактуется как Ложь.

Применение в условных операторах

Основная область использования — построение логических условий. Оператор Если принимает выражение, вычисляемое в значение Булево:

``1c Если Остаток > 0 Тогда Сообщить("Положительный остаток"); Иначе Сообщить("Остаток отсутствует"); КонецЕсли; ``

Оператор Пока (цикл Пока ... Цикл) выполняет тело, пока условие истинно. Логические значения участвуют в составных условиях через операторы И, ИЛИ, НЕ:

``1c Если Доступен И НЕ Заблокирован Тогда // ... КонецЕсли; ``

Булево в метаданных и запросах

В конфигураторе 1С:Предприятие тип Булево доступен при описании реквизитов справочников, документов, планов видов характеристик, регистров сведений, планов обмена, а также реквизитов и элементов форм. Типичные примеры — признаки «ПометкаУдаления», «Проведен», «Активность», «ЗаписьДействует».

В запросах языка запросов 1С тип Булево поддерживается как в части полей выборки, так и в выражениях отбора. Значения ИСТИНА и ЛОЖЬ записываются в запросе заглавными буквами:

``1c ВЫБОР Справочник.Товары.ПометкаУдаления ``

Приведение типов и взаимодействие

Значение Булево приводится к строке как «Истина» или «Ложь» (в зависимости от локали конфигурации). Обратное преобразование строки в Булево допускает только указанные литералы; иные строки вызывают ошибку. Число 0 не преобразуется в Ложь автоматически — для этого требуется явная проверка.

При передаче значений в клиент-серверном взаимодействии Булево сериализуется без потерь. В HTTP-сервисах и при обмене с внешними системами логические значения обычно представляются строками "true" / "false" или числами 1 / 0, преобразование выполняется вручную.

Особенности отладки и хранения

В отладчике и окне «Значение» переменная Булево отображается как Истина или Ложь. В файлах выгрузки конфигурации (.cf) и в хранилище конфигураций значение хранится как true / false в формате XML.

Тип Булево не поддерживает значение NULL (в отличие от некоторых СУБД); при чтении из внешних источников, где допускается NULL, требуется явная обработка.

Историческая справка

Тип Булево присутствует в платформе 1С:Предприятие с ранних версий (начиная с 7.x) и не менял семантику вплоть до версии 8.3. В платформе 8.3.21 и новее появились улучшения отладчика, упрощающие просмотр значений логических переменных, но сам тип остался неизменным.

Источники

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru