Булево значение в 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С оператор ЕСЛИ ИНАЧЕ ТОГДА можно заменить более кратким выражением. Следующие два варианта равны:

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

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

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

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

Источник

Уроки программирования 1С: Примитивный тип данных Булево

На прошлых уроках программирования 1С мы изучили примитивные типы данных Число, Строка и Дата ознакомьтесь с этими материалами, прежде чем приступить к изучению этого.

Программирование 1С: примитивный тип данных Булево

Булево – один из базовых типов данных логических выражений.

Значения типа Булево имеют два значения Истина и Ложь, задаваемых соответствующими литералами. Часто применяется в различных логических вычислениях.

Для демонстрации работы с типом данных мы разработаем простой логический вычислитель Светофор.

Программирование 1С: логический вычислитель Светофор

Идея проста – мы имеем 3 реквизита типа «Булево»:

Соответственно каждый этот реквизит может быть либо «активен» (то есть иметь значение Истина), либо «отключен» (то есть иметь значение Ложь).

Перенесем реквизиты на форму обработки.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Обратите внимание ؘ– мы использовали инструменты оформления элементов. В данном случае мы изменили цвет текста в настройках поля.

Далее создадим реквизит типа Строка, который назовем Реакция пешехода и также перенесем его на форму. Задача нашей обработки – при вводе определенной комбинации «цветов светофора», выводить в стоке результат – ожидаемое действие пешехода.

Для чистоты процедуры мы создадим обработчик события, который будет обнулять булевы реквизиты при открытии обработки. Создаем обработчик &НаКлиенте, который запускается ПриОткрытии через контекстное меню по щелчку на форме.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Конфигуратор автоматически подставил часть кода, которая задает условие запуска обработчика..

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Задаем содержимое обработчика:

Обратите внимание, что значение булева реквизита «Ложь» нельзя брать в кавычки, иначе программа прочитает его как Строку.

Полный курс программиста 1С – с нуля до разработчика, способного решать практические учетные задачи в любой области.

Программирование 1С: составление кода

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

Мы ранее ознакомились с универсальным хранилищем данных Массив, которая хранит данные и позволяет их вызвать по порядковому номеру. Попробуем реализовать хранение ситуаций через эту функцию. Создаем новую процедуру Ситуации (НомерСитуации), задача которой – возвращать порядковый номер ситуации из массива.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Другой вариант – использовать универсальное хранилище значений Соответствие, которое устанавливает связь между двумя данными – в данном случае Числом и Строкой. В данном примере мы используем синтаксис Вставить (записывает данные в хранилище) и Получить (получает из хранилища значение). Этот синтаксис также можно использовать с хранилищем Массив.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

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

Теперь необходимо перевести логические выражения в код. Задача упрощается понятным синтаксисом: Команда Если открывает логическое выражение, КонецЕсли – закрывает. Команды И, Тогда и Иначе используются внутри обработчика Если.

Пишем первый обработчик «Если включился Красный, то Желтый и Зеленый должны быть выключены, команда «Стой»:

В итоге у нас получился вот такой код:

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Следующий обработчик будет состоять из 2-х частей: когда с желтым работает красный, и когда с желтым работает зеленый. Создаем обработчик ПриИзменении реквизита Желтый. Код будем писать аналогично, за тем исключением, что внутри обработчика мы опишем процедуру Если 2 раза.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Последний обработчик для Зеленого сигнала светофора будет выглядеть аналогично.

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

Проверим работу Светофора в режиме 1С:Предприятие, включая последовательно флажки реквизитов Красный, Желтый, Зеленый, Желтый, Красный и получая в соответствии с ситуацией строковые значения реквизита РеакцияПешехода.

Освойте навыки разработчика 1С на очных специализированных курсах от крупнейшей компании-франчайзи 1С.

Источник

Программирование в 1С для всех

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Булево значение в 1с что. Смотреть фото Булево значение в 1с что. Смотреть картинку Булево значение в 1с что. Картинка про Булево значение в 1с что. Фото Булево значение в 1с что

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

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


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

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

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

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

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

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

В таблице у меня так и написано. Где Вы нашли ошибку?

Источник

Значение и описание типов булево в 1С

Значение Булево в 1С – это значение Истина или Ложь. В числовом выражении Ложь обозначается числом «0», а Истина должна быть в виде числа, которое больше нуля, чаще всего это цифра «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С оператор ЕСЛИ ИНАЧЕ ТОГДА можно заменить более кратким выражением. Следующие варианты равны:

Если затронуть описание типов булево в 1С, то начинающие программисты встречаются, прежде всего, с примитивным типом булево. Иначе он может называться «логический тип». Это название ему было дано в честь английского математика Джорджа Буля, который занимался изучением вопросов логики в математической науке.

Что бы лучше узнать о примитивном типе, надо сначала познакомиться с булевыми или логическими выражениями. Они представляют из себя вопросы, на которые должны быть короткие ответы «да» или «нет».

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

Дверь открыта – нет.

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

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

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

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

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

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

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

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

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

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

Операция НЕ

Операция И

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

Операция ИЛИ

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

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

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

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

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

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

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

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

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

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

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

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

Довольно часто возникает ошибка: булево значение в 1С «преобразование значения к типу булево\число не может быть выполнено», которая на самом деле может быть легко устранена. В первую очередь надо обновить конфигурацию до последнего релиза. Это одно из решений данной проблемы. Но в большинстве случаев возникновение такой ошибки говорит о попытке присвоить числовой переменной не численное значение, в результате внутренний конвертер типов не может преобразовать переменную в число и возникает ошибка.

Если присваивание переменной происходит из тела выборки результата запроса, следует проверить наличие в выборке значений типа NULL. Это значение нельзя использовать в операциях с числами. Значение NULL появляется в запросе при использовании соединений.

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

Решить проблему можно следующим путем: во время обращения к полю выборки необходимо добавить проверку на равенство значению типа NULL. Либо использовать функцию ЕСТЬNULL(x1, x2). Она проверяет на NULL x1, и если Значение NULL обнаружено функция возвращает x2, в обратно случае возвращает x1. В первом случае равенства Выражения1 NULL, Выражение1 будет заменено в результате запроса на заданное Выражение2.

Источник

Примитивные типы данных и булевы операции

Указание типа данных при работе в модуле необязательно, т.к. типизация «мягкая» и зависит от значения. Кстати тип меняется при присвоении нового значения.

Пример. Переменная типа число

Примитивные типы данных

1. Null

Литерал использующиеся для определения отсутствующего значения при работе с базой данных (при соединении таблиц).

Значение типа Null можно присвоить переменной: Переменная = Null

2. Неопределено (Undefined)

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

3. Число (Number)

Данным типом можно представить любое десятичное число.Максимально допустимая разрядность числа 38 знаков. А разделителем является точка «.».

С данными числового типа можно выполнять основные арифметические операции: сложение(+), вычитание(-), умножение(*) или деление(/).

4. Строка (String)

Значения данного типа содержат строку в формате Unicode произвольной длины.
Литералы: Набор символов заключенных в кавычки.

Для использования кавычек(«») внутри строки необходимо использовать двойные кавычки.

Для переноса строк в модуле, необходимо использовать вертикальную черту ( | )

5. Дата (Date)

Данный тип содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до секунды.
Литералы: Строка цифр, заключенная в одинарные кавычки вида: ‘ГГГГММДДччммсс’:
ГГГГ — год, 4-е цифры;
ММ — месяц:
ДД — дата;
чч — час в 24-х часовом формате;
мм — минуты;
сс — секунды;

В качестве разделителя можно использовать любые символы пример: ‘ГГГГ-ММ-ДД чч:мм:сс’.

6. Булево (Boolean)

Значения данного типа имеют два значения Истина и Ложь. Значения возвращаются в результате вычисления логических выражений и часто используются в условиях.
Литералы: Истина (True) и Ложь (False)

Булевы операции

Список булевых операций:

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

Порядок выполнения операций:

Пример 1. Использование И:

Задача: Если выполняются одновременно 2 условия выводим сообщение

Пример 2. Использование ИЛИ:

Задача: Если выполняются одно из 2 условий, выводим сообщение

Пример 3. Использование НЕ:

Задача: Если значение не заполнено то вывести сообщение.

Источник

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

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