Тип булево в 1с что это
Примитивный тип Булево
Многие, кто только начинает изучать программирование, впервые сталкиваются с новым для себя примитивным типом булево. Еще его по-другому называют логический тип. Данный тип назван в честь английского математика Джорджа Буля, который изучал вопросы математической логики.
Прежде чем начать изучать этот примитивный тип, узнаем вообще, что такое булевы или логические выражения.
Булевы выражения это что-то типа вопроса, на который должен быть однозначные ответ или да, или нет.
5 < 7 — Да;
5 = 8 – Нет;
4 > 9 – Нет.
Так же могу и быть более сложные вопросы:
Кнопка нажата – да;
Или
Кнопка нажата – нет;
Булевы выражения используются во всех условных переходах:
Если тогда
//операторы
ИначеЕсли тогда
//операторы
КонецЕсли;
В языке программирования 1С переменную с примитивным типом Булево можно задать явно:
А = Истина;
Б = Ложь;
Где Истина и Ложь единственные значения, которые может принимать примитивный тип Булево.
Истина – значит, что какое-то утверждение соответствует действительности (Ответ — Да).
Ложь – значить, что какое-то утверждение, наоборот, не соответствует действительности (Ответ –Нет).
Так же переменные с типом булево могут быть заданы с помощью какого-либо логического выражения. Например:
А = 5 < 7;
Б = 6 > 9;
В этом случае, в переменой А будет значение Истина, а в переменной типа Б – ложь;
В языке программирования 1С над переменными типа булево можно осуществлять различные операции.
Например:
А = 5 < 7;
Б = 6 > 9;
В = А И Б;
С = А ИЛИ Б;
Д = Не А;
Всего их три – И, ИЛИ и НЕ.
Понять функциональность этих операций помогут следующие таблицы
Операция НЕ
А | Б |
Истина | Ложь |
Ложь | Истина |
Операция И
С = А И Б | А | Б |
Истина | Истина | Истина |
Ложь | Ложь | Истина |
Ложь | Истина | Ложь |
Ложь | Ложь | Ложь |
Операция ИЛИ
С = А ИЛИ Б |
А | Б |
Истина | Истина | Истина |
Истина | Ложь | Истина |
Истина | Истина | Ложь |
Ложь | Ложь | Ложь |
А можно ли выполнять данные операции подряд?
Да можно, данные операции будут выполняться слева направо. И иметь следующий уровень старшинства:
Первый: в первую очередь выполняются операции в скобках
Второй: Операция НЕ
Третий: Операция И
Четвертый: Операция ИЛИ.
Чтобы не путаться в операциях, я советую Вам использовать скобки, где только возможно.
Например:
А = Ложь;
Б = Истина;
С = Ложь;
Д = А и С или Б;
В данном случае сначала будет работать операция И между А и С.
Смотрим таблицу А – Ложь, С – Ложь, результат А И С будет Ложь.
Следующим шагом будет выполнение операции ИЛИ между Ложью (Результат предыдущей операции) и значением Б, которое Истина.
Результат будет Истина.
А если нам надо, чтобы прошла сначала операция ИЛИ между С и Б, а потом только операция И между А и тем, что получилось, то для этого необходимо использовать скобки.
Смотрим:
А = Ложь;
Б = Истина;
С = Ложь;
Д = А и (С или Б);
Результат будет диаметрально противоположный. Почему? Сейчас разберем. Благодаря скобкам сначала выполняется операция и между С и Б, т.к. С — Ложь, а Б – Истина, результат будет Истина. Потом между значением А (которое Ложь) и значением Истина (результатом предыдущей операции) выполняется операция И. Результат будет Ложь.
Многие начинающие программисты не совсем до конца понимают принципы взаимодействия между переменными типа Булево. Помочь в этом сможет только практика. А практики с переменными типа Булево достаточно в моем задачнике к книге «Программировать в 1С за 11 шагов»
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301 Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto Фейсбуке: https://www.facebook.com/groups/922972144448119/ ОК: http://ok.ru/group/52970839015518 Твиттер: https://twitter.com/signum2009
www.1s-up.ru
Условные операции 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.Количество() < 10) или Массив.Количество() > 100 Тогда //действия… КонецЕсли;
Условия булево 1С можно использовать непосредственно в коде программы: Переменная1 = 5; флгРезультат = (Переменная1 = 2 + 3); //флгРезультат будет равен ИСТИНА
В условной операции 1С оператор ЕСЛИ ИНАЧЕ ТОГДА можно заменить более кратким выражением. Следующие два варианта равны:
У реквизитов объектов (справочников, документов и т.п.) есть возможность установить тип булево 1С. Также можно создать переменную булево 1С, например: флгВыполнено = Истина;
Далее, в условиях ЕСЛИ, можно писать равнозначно двумя способами: //вариант 1 Если флгВыполнено = Истина Тогда //делаем что-то
КонецЕсли;
//вариант 2 Если флгВыполнено Тогда //делаем что-то КонецЕсли;
Второй вариант таит в себе следующую «неприятность»:
howknow1c.ru
Выгрузка Булево из 1С:УТ в 1С-Битрикс
Настраивая очередную интеграцию 1С:Управление торговлей 11 с сайтом, под управлением 1С-Битрикс, столкнулся с такой проблемой: реквизиты с типом «Булево» выгружались на сайт с типом «Строка» и со значением «Да». В результате стандартные реквизиты «Новинка», «Спецпредложение» и «Лидер продаж» перестали отображаться.
К сожалению, не нашел другого варианта, как исправить выгрузку на сайт в 1С:УТ. Доработки минимальны.
1. Все значения реквизитов свойств кроме Числа, Даты и Справочника выгружаются как универсальный тип Строка. Сделаем, чтобы Булево выгружалось не как строка, а как Справочник, для этого находим в Общем модуле конфигурации «ОбменССайтом» процедуру ВыгрузитьОсновныеРеквизитыСвойстваДляКлассификатора(). Добавляем в условие две строчки:
2. Теперь нужно выгрузить возможные значения. В нашем случае оно будет только одно: «Да» с идентификатором «YES». Добавим дополнительное условие чуть ниже в той же процедуре:
3. При выгрузке свойства номенклатуры нужно, чтобы при истинном значении Булево выгружалось «YES». Для этого находим в этом же модуле процедуру ВыгрузитьСвойстваНоменклатуры() и добавляем в ней пару строк:
4. Теперь можно сохранить изменения, и запустить обмен данными с сайтом. На всякий случай зайдем в меню «Контент - Свойства инфоблоков - Каталоги - Каталог товара» и проверим настройки Свойств элементов с типом Булево. Внешний вид у них должен быть установлен как «Флажки»:
Теперь «Новинка», «Спецпредложение» и «Лидер продаж» корректно передаются из 1С и отображаются флажками в карточке товара:
www.mikuslas.ru