Что такое булево в 1с
Перейти к содержимому

Что такое булево в 1с

  • автор:

Что такое булево в 1с

Значение Булево 1С — это значение Истина или Ложь. В числовом выражении Ложь это ноль, а Истина — число больше нуля (обычно единица).

Выражение (операция) Булево 1С — это математическое выражение, результатов которого является значение типа Булево 1С, например:
a = 0+1;
b = 2-1;
x = (a = b);
//x = Истина

Далее — подробнее о условных операциях 1С, значениях и выражениях булево 1С.

Условная операция 1С ЕСЛИ выглядит следующим образом:
Если ОПЕРАЦИЯ-БУЛЕВО Тогда
//действия1…
ИначеЕсли ОПЕРАЦИЯ-БУЛЕВО Тогда
//действия2…
Иначе
//действия3…
КонецЕсли;

Булево 1С — это результат вычисления со значениями Истина или Ложь, например:
Массив1 = Новый СписокЗначений();
Если Массив1.Количество() > 0 Тогда
//действия…
КонецЕсли;

//другой вариант, полностью аналогичный
Если НЕ Массив1.Количество() = 0 Тогда
//действия…
КонецЕсли;

Многие функции/методы объектов возвращают успешность выполнения операции как булево 1С, например:
Запрос = Новый Запрос();
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
//действия…
КонецЕсли;

В условной операции 1С можно объединять несколько условий с использованием И и ИЛИ:
Массив1 = Новый СписокЗначений();
Если (Массив1.Количество() > 0 и Массив1.Количество() 100 Тогда
//действия…
КонецЕсли;

Условия булево 1С можно использовать непосредственно в коде программы:
Переменная1 = 5;
флгРезультат = (Переменная1 = 2 + 3); //флгРезультат будет равен ИСТИНА

В условной операции 1С оператор ЕСЛИ ИНАЧЕ ТОГДА можно заменить более кратким выражением. Следующие два варианта равны:

Только зарегистрированные пользователи VIP группы могут видеть этот контент.

У реквизитов объектов (справочников, документов и т.п.) есть возможность установить тип булево 1С. Также можно создать переменную булево 1С, например:
флгВыполнено = Истина;

Далее, в условиях ЕСЛИ, можно писать равнозначно двумя способами:
//вариант 1
Если флгВыполнено = Истина Тогда
//делаем что-то
КонецЕсли;

//вариант 2
Если флгВыполнено Тогда
//делаем что-то
КонецЕсли;

Второй вариант таит в себе следующую «неприятность»:

Только зарегистрированные пользователи VIP группы могут видеть этот контент.

Проголосовать за этот пост:

Что такое булево в 1с

  • 1С:Предприятие 8.2. Коротко о главном. Новые возможности версии 8.2
    • Обложка
    • Титульный лист
    • Выходные данные
    • Дополнительные материалы
    • Вступление
    • Основные изменения
      • Несколько дистрибутивов
      • Установка, обновление и запуск
        • Запуск
          • Запуск с локального компьютера
          • Запуск по сети
          • Различные сценарии установки и запуска
          • Ключи командной строки
          • Обзор интерфейса
          • Информационная панель
          • Область системных команд и главное меню
          • Устойчивость клиентских приложений
          • Использование протокола HTTP
          • Безопасность
            • Многоуровневая аутентификация
            • Шифрование передаваемых данных
            • Масштабируемость менеджера кластера
            • Отказоустойчивость кластера
            • Отказоустойчивость рабочих процессов
            • Устойчивость к обрыву канала связи
            • Динамическое распределение нагрузки
            • Нет меню «Операции»
            • Где управление итогами?
            • Ссылки
              • Интерактивные ссылки
              • Неинтерактивные ссылки
              • Динамические списки
              • Прочие списки
              • Объект «Интерфейс» не используется
              • Подсистемы
              • Нет корневой подсистемы
              • У объектов конфигурации нет свойства «Подсистемы»
              • Новые объекты конфигурации
                • Функциональные опции
                • Хранилища настроек
                • Команды
                • Управляемые формы
                • Свойства объектов
                  • Быстрый выбор
                  • Представления
                  • Пояснение
                  • Использовать стандартные команды
                  • Режим пароля, Многострочный режим, Расширенное редактирование, Выбор групп и элементов, Выделять отрицательные
                  • Подсказка, Маска
                  • Форма выбора
                  • Проверка заполнения
                  • Значение заполнения, Заполнять из данных заполнения
                  • Параметры выбора, Связи параметров выбора
                  • Связь по типу
                  • Модуль управляемого приложения
                  • Модуль обычного приложения
                  • Модуль команды
                  • Модуль управляемой формы
                  • Модуль менеджера
                  • Общие модули
                  • Резервная копия
                  • Конвертация
                  • Настройки конфигуратора
                  • Отключение режима совместимости с версией 8.1
                    • Процедура «ПроверитьЗаполнение()»
                    • Обработчики события «Обработка заполнения»
                    • Графа «Тип» в журналах документов
                    • Запросы
                    • Когда можно изменить это свойство
                    • Запуск клиентского приложения у пользователя
                    • Запуск клиентского приложения из конфигуратора
                    • Настройки конфигуратора
                    • Редактирование конфигурации
                    • Тонкий клиент и веб-клиент
                    • Толстый клиент
                    • Что такое настройка
                    • Как хранятся настройки
                    • Варианты отчетов и пользовательские настройки отчетов
                    • Данные форм
                    • Общие настройки
                    • Системные настройки
                    • Как получить доступ к настройкам в системном хранилище
                    • Когда нужно создавать собственные хранилища настроек
                    • Как организовать собственное хранилище настроек
                    • Привилегированный режим
                    • Безопасный режим
                    • Числа и даты
                    • Булево
                    • На клиенте недоступны многие типы
                    • Другой подход к написанию модулей форм
                    • Как добавить элементы в форму
                    • Рекомендуется создавать формы объектов
                    • Форма списка и форма выбора должны быть разными
                    • Отчет/обработка без формы не видны в интерфейсе
                    • Нет просмотра групп и элементов
                    • Нет события «При изменении данных» формы
                    • Нет события «Обновление отображения» формы

                    Преобразование значения к типу Булево не может быть выполнено в 1С

                    1. Ошибка кэша 2. Исключение ошибки в настройках пользователя 3. Обновление типовой конфигурации 1С 4. Исправление ошибки Булево в конфигураторе 1С 5. Как самостоятельно найти ошибку преобразования значения к типу Булево?
                    Статья рассчитана как на пользователей-непрограммистов, так и на тех, кто имеет желание попробовать свои силы в решении этой проблемы. Для последних в этом вопросе важно иметь представление о режиме «Конфигуратор». Однако начать стоит с малого – того, что может сделать даже не знакомый с тонкостями программирования пользователь.

                    1. Ошибка кэша

                    В зависимости от режима работы программы 1С Предприятие 8 можно попробовать перезагрузить компьютер, на котором расположена база, если режим файловый, или сервер – если программа работает в серверном режиме.
                    Узнать, в каком режиме работает Ваша 1С можно из окна «О программе», как показано на скриншоте ниже.

                    Делается это из-за возможных ошибок кэша, которые, в свою очередь, могут стать причиной появления сообщения об ошибке преобразования значения к типу Булево.
                    Очистив таким нехитрым образом кэш, можно избежать последующих проблем.

                    2. Исключение ошибки в настройках пользователя

                    Если ошибка повторяется только у одного пользователя, есть вариант просто исключить ее в настройках пользователя 1С.
                    Откроем настройки карточки данного пользователя 1С и отыщем в списке форму, на которой возникает ошибка. Если таковая в списке имеется, просто очищаем ее, путем нажатия на кнопку «Очистить» (показано на рисунке ниже).

                    3. Обновление типовой конфигурации 1С

                    Если вы работаете с типовой конфигурацией системы 1С — лучшее решение — обновить программу до версии последнего релиза. Возможно, это решит проблему.
                    Если описанные выше способы не стали решением проблемы, рекомендую неподкованным в программировании пользователям остановиться на этом, и обратиться за помощью к более компетентным коллегам. Далее последует информация для тех, кто уже имел опыт работы в 1С в режиме «Конфигуратор».

                    4. Исправление ошибки Булево в Конфигураторе 1С

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

                    Еще пример: есть переменные А и Б. Необходимо проверить, есть ли Б в некотором Списке. Ниже приведена часть кода, при котором воспроизводится и закомментированное верное условие, и ошибка не возникает:

                    Преобразовать в тип «булево» можно только тип «число»:

                    Такая ошибка может возникнуть при использовании внешней обработки или печатной формы. Вот пример реальной проблемы и ее решения из сети:
                    При внесении остатков склада через внешнюю обработку пользователь не указал «Вид номенклатуры» и не поставил признака «Не определена». Т.е. она просто не была заполнена.
                    Далее были определенные действия (использование механизма подбора в складских типах документов), при которых возникала ошибка преобразования значения к типу Булево в 1С. То есть, програмно, без проверок была создана Номенклатура со значением вида NULL.
                    Решение существующей проблемы: заполнить значение – простыми словами – указать соответствующий вид номенклатуры.

                    5. Как самостоятельно найти ошибку преобразования значения к типу Булево?

                    Если Вам требуется самостоятельно найти ошибку преобразования значения к типу Булево, поиск следует начать, открыв программу в режиме Конфигуратора.

                    Далее включаем отладку по ошибке:

                    Открываем программу 1С Предприятие 8 в режиме отладки:

                    Проверяем, запущена ли отладка (пример на файловом варианте работы системы «1С:Предприятие 8»):

                    В подключенных предметах отладки должно быть две строки с типом «Сервер» и «Тонкий клиент» (исключение, если режим отладки запущен в Толстом клиенте, тогда строка будет только одна – с этим типом):

                    Проверили. Закрыли. Теперь повторяем то же действие в режиме 1С:Предприятия, при котором возникает ошибка. В данном примере это внешняя обработка. Для выявления ошибки она открыта как в режиме Конфигуратора, так и в режиме 1С:Предприятие:

                    После выполнения действий, при которых возникает ошибка преобразования значения к типу Булево, появится следующая картина:

                    Программа в режиме отладки остановилась на шаге момента выполнения строки кода с нашей ошибкой. Далее мы видим, что во внешней обработке неверно составлено условие (см. пример выше), которое необходимо заменить на верное.
                    Каждая отдельная ситуация требует частного рассмотрения. Если вы имеете базовые представления об отладке, умеете читать код и обладаете весомым запасом энтузиазма и любопытства, то найдете причину и примете решение по ее устранению. Однако делать это лучше на резервной копии базы, дабы обезопасить данные.
                    А если у Вас недостаточно опыта, и первые три пункта из статьи не помогли исправить ошибку Булево, рекомендую поберечь время и нервы: мы в кратчайшие сроки решим ваш вопрос!
                    Специалист компании ООО «Кодерлайн» Антонова Юлия Сергеевна

                    Вас могут заинтересовать следующие статьи:

                    94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) —> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) —> Как сделать в 1С [1] => 1С: Конвертация данных [2] => Конвертация данных [3] => Обмен между базами [4] => Закрытие месяца [5] => Оценка задач [6] => Отчеты в 1С [7] => Моделирование [8] => HTTP [9] => Управление проектами [10] => БУ [11] => com-объекты [12] => 1С: WMS Управление складом [13] => РСБУ [14] => 1С: Сценарное тестирование [15] => Запросы 1С [16] => LINUX [17] => WEB [18] => Оптимизация [19] => 1С:Зарплата и Управление Персоналом [20] => Excel [21] => 1С: ERP [22] => ADO [23] => 1С:Управление производственным предприятием [24] => Внедрение [25] => Продажи [26] => Отчетность [27] => 1С: Розница [28] => 1С: CRM [29] => 1С:Бухгалтерия [30] => 1С:Комплексная автоматизация [31] => Производство [32] => Интеграция 1С [33] => Налоги [34] => Отпуск [35] => MS SQL Server [36] => Расширение конфигурации [37] => МСФО [38] => СКД [39] => Word [40] => WEB-сервисы 1С [41] => Внедрение ERP [42] => Перенос данных [43] => Торговое оборудование [44] => Лизинг [45] => 1С:Управление нашей фирмой [46] => Администрирование 1С [47] => 1С: Колледж [48] => Правила обмена [49] => 1С: Платформа ) —>

                    Примитивный тип Булево

                    Многие, кто только начинает изучать программирование, впервые сталкиваются с новым для себя примитивным типом булево. Еще его по-другому называют логический тип. Данный тип назван в честь английского математика Джорджа Буля, который изучал вопросы математической логики.

                    Прежде чем начать изучать этот примитивный тип, узнаем вообще, что такое булевы или логические выражения.

                    Булевы выражения это что-то типа вопроса, на который должен быть однозначные ответ или да, или нет.

                    Так же могу и быть более сложные вопросы:

                    Кнопка нажата – да;

                    Кнопка нажата – нет;

                    Булевы выражения используются во всех условных переходах:

                    Если Булево выражение1> тогда //операторы ИначеЕсли БулевоВыражение2> тогда //операторы КонецЕсли; 

                    В языке программирования 1С переменную с примитивным типом Булево можно задать явно:

                    А = Истина; Б = Ложь; 

                    Где Истина и Ложь единственные значения, которые может принимать примитивный тип Булево.

                    Истина – значит, что какое-то утверждение соответствует действительности (Ответ — Да).

                    Ложь – значить, что какое-то утверждение, наоборот, не соответствует действительности (Ответ –Нет).

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

                    А = 5  7; Б = 6 > 9; 

                    В этом случае, в переменой А будет значение Истина, а в переменной типа Б – ложь;

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

                    А = 5  7; Б = 6 > 9; В = А И Б; С = А ИЛИ Б; Д = Не А; 

                    Всего их три – И, ИЛИ и НЕ.

                    Понять функциональность этих операций помогут следующие таблицы

                    А Б
                    Истина Ложь
                    Ложь Истина
                    С = А И Б А Б
                    Истина Истина Истина
                    Ложь Ложь Истина
                    Ложь Истина Ложь
                    Ложь Ложь Ложь
                    С = А ИЛИ Б А Б
                    Истина Истина Истина
                    Истина Ложь Истина
                    Истина Истина Ложь
                    Ложь Ложь Ложь

                    А можно ли выполнять данные операции подряд?

                    Да можно, данные операции будут выполняться слева направо. И иметь следующий уровень старшинства:

                    Первый: в первую очередь выполняются операции в скобках

                    Второй: Операция НЕ

                    Третий: Операция И

                    Четвертый: Операция ИЛИ.

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

                    А = Ложь; Б = Истина; С = Ложь; Д = А и С или Б; 

                    В данном случае сначала будет работать операция И между А и С.

                    Смотрим таблицу А – Ложь, С – Ложь, результат А И С будет Ложь.

                    Следующим шагом будет выполнение операции ИЛИ между Ложью (Результат предыдущей операции) и значением Б, которое Истина.

                    Результат будет Истина.

                    А если нам надо, чтобы прошла сначала операция ИЛИ между С и Б, а потом только операция И между А и тем, что получилось, то для этого необходимо использовать скобки.

                    А = Ложь; Б = Истина; С = Ложь; Д = А и (С или Б); 

                    Результат будет диаметрально противоположный. Почему? Сейчас разберем. Благодаря скобкам сначала выполняется операция и между С и Б, т.к. С — Ложь, а Б – Истина, результат будет Истина. Потом между значением А (которое Ложь) и значением Истина (результатом предыдущей операции) выполняется операция И. Результат будет Ложь.

                    Многие начинающие программисты не совсем до конца понимают принципы взаимодействия между переменными типа Булево. Помочь в этом сможет только практика. А практики с переменными типа Булево достаточно в моем задачнике к книге «Программировать в 1С за 11 шагов»

                    Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

                    Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

                    1. Книга написана понятным и простым языком — для новичка.
                    2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
                    3. Научитесь понимать архитектуру 1С;
                    4. Станете писать код на языке 1С;
                    5. Освоите основные приемы программирования;
                    6. Закрепите полученные знания при помощи задачника;

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

                    1. Очень доступный и понятный язык изложения
                    2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
                    3. Поймете идеологию управляемого приложения 1С
                    4. Узнаете, как разрабатывать управляемое приложение;
                    5. Научитесь разрабатывать управляемые формы 1С;
                    6. Сможете работать с основными и нужными элементами управляемых форм
                    7. Программирование под управляемым приложением станет понятным

                    Промо-код на скидку в 15% — 48PVXHeYu


                    Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

                    можно оплатить вручную:

                    Яндекс.Деньги — 410012882996301
                    Web Money — R955262494655

                    Вступайте в мои группы:

                    2 Replies to “Примитивный тип Булево”

                    Sergey :

                    Что-то вы напутали. Операция (А И В) будет равна Истина, только если ОБА операнда равны Истина.
                    Операция (А ИЛИ В) равна Истина, если ХОТЯ БЫ ОДИН из операндов равен Истина.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *