Примитивный тип Булево
Многие, кто только начинает изучать программирование, впервые сталкиваются с новым для себя примитивным типом булево. Еще его по-другому называют логический тип. Данный тип назван в честь английского математика Джорджа Буля, который изучал вопросы математической логики.
Прежде чем начать изучать этот примитивный тип, узнаем вообще, что такое булевы или логические выражения.
Булевы выражения это что-то типа вопроса, на который должен быть однозначные ответ или да, или нет.
Так же могу и быть более сложные вопросы:
Кнопка нажата – да;
Кнопка нажата – нет;
Булевы выражения используются во всех условных переходах:
В языке программирования 1С переменную с примитивным типом Булево можно задать явно:
Где Истина и Ложь единственные значения, которые может принимать примитивный тип Булево.
Истина – значит, что какое-то утверждение соответствует действительности (Ответ — Да).
Ложь – значить, что какое-то утверждение, наоборот, не соответствует действительности (Ответ –Нет).
Так же переменные с типом булево могут быть заданы с помощью какого-либо логического выражения.
Например:
В этом случае, в переменой А будет значение Истина, а в переменной типа Б – ложь;
В языке программирования 1С над переменными типа булево можно осуществлять различные операции.
Всего их три – И, ИЛИ и НЕ.
Понять функциональность этих операций помогут следующие таблицы
| А | Б |
| Истина | Ложь |
| Ложь | Истина |
| С = А И Б | А | Б |
| Истина | Истина | Истина |
| Ложь | Ложь | Истина |
| Ложь | Истина | Ложь |
| Ложь | Ложь | Ложь |
| С = А ИЛИ Б | А | Б |
| Истина | Истина | Истина |
| Истина | Ложь | Истина |
| Истина | Истина | Ложь |
| Ложь | Ложь | Ложь |
А можно ли выполнять данные операции подряд?
Да можно, данные операции будут выполняться слева направо. И иметь следующий уровень старшинства:
Первый: в первую очередь выполняются операции в скобках
Второй: Операция НЕ
Третий: Операция И
Четвертый: Операция ИЛИ.
Чтобы не путаться в операциях, я советую Вам использовать скобки, где только возможно.
В данном случае сначала будет работать операция И между А и С.
Смотрим таблицу А – Ложь, С – Ложь, результат А И С будет Ложь.
Следующим шагом будет выполнение операции ИЛИ между Ложью (Результат предыдущей операции) и значением Б, которое Истина.
Результат будет Истина.
А если нам надо, чтобы прошла сначала операция ИЛИ между С и Б, а потом только операция И между А и тем, что получилось, то для этого необходимо использовать скобки.
Результат будет диаметрально противоположный. Почему? Сейчас разберем. Благодаря скобкам сначала выполняется операция и между С и Б, т.к. С — Ложь, а Б – Истина, результат будет Истина. Потом между значением А (которое Ложь) и значением Истина (результатом предыдущей операции) выполняется операция И. Результат будет Ложь.
Многие начинающие программисты не совсем до конца понимают принципы взаимодействия между переменными типа Булево. Помочь в этом сможет только практика. А практики с переменными типа Булево достаточно в моем задачнике к книге «Программировать в 1С за 11 шагов»
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
2 Replies to “Примитивный тип Булево”
Что-то вы напутали. Операция (А И В) будет равна Истина, только если ОБА операнда равны Истина.
Операция (А ИЛИ В) равна Истина, если ХОТЯ БЫ ОДИН из операндов равен Истина.
4.3 Примитивные типы данных
Описание:
Значения данного типа имеют два значения – Истина и Ложь , задаваемых соответствующими литералами. Значения данного типа возвращаются в качестве результата вычисления логических выражений.
Примечание:
В операциях сравнения встроенного языка используются логические выражения. Это означает, что в выражении сравнения не обязательно писать так:
Если МояПеременная = Истина Тогда
КонецЕсли;
Достаточно написать так:
Если МояПеременная Тогда
КонецЕсли;
Литералы:
● Истина (True) ,
● Ложь (False).
Дата (Date)
Описание:
Значения данного типа содержат дату от Рождества Христова (с 01 января 0001 года) и время с точностью до секунды.
Литералы:
Строка цифр, заключенная в одинарные кавычки вида ‘ГГГГММДДччммсс’, где:
● ГГГГ – четыре цифры года (включая тысячелетие и век);
● ММ – две цифры месяца;
● ДД – две цифры даты;
● чч – две цифры часа (в 24-часовом формате);
● мм – две цифры минут;
● сс – две цифры секунд.
Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Для задания даты, соответствующей началу отсчета, достаточно указать ‘00010101’. Допускается при указании литералов типа Дата опускать значение секунд. В этом случае секунды будут равны 0.
В литерале даты игнорируются все значения, отличные от цифр. Разделители в литерале можно указывать для упрощения ввода даты.
Пример:
Число (Number)
Описание:
Числовым типом может быть представлено любое десятичное число. Определены основные арифметические операции над данными числового типа: сложение, вычитание, умножение и деление.
ВНИМАНИЕ! Максимально допустимая разрядность числа – 32 знака.
Литералы:
Набор цифр, написанных непосредственно в тексте модуля вида:
[+|-]<0|1|2|3|4|5|6|7|8|9>[.<0|1|2|3|4|5|6|7|8|9>]
В качестве разделителя целой и дробной части используется точка.
Пример:
А = 15;
Б = -968.612;
Описание:
Значения данного типа содержат строку произвольной длины в формате Unicode . Строка закодирована в формате UTF-16. При необходимости указания в строке суррогатной пары, следует использовать два вызова функции Символ() с последовательным указанием значения каждого code unit из суррогатной пары.
Литералы:
Литералы строкового типа представляют собой набор символов, заключенных в кавычки. Для задания в строке символа “ (кавычка) необходимо записать две кавычки подряд ( “” ).
Кроме того, допускаются « многострочные » строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:
● Между фрагментами, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением
пробелов, переводов строки и строк комментариев.
● Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки «|» (вертикальная черта). В этом варианте комментарии допускаются, если строка начинается с символа комментария «//».
Пример:
// Пример строки
МояСтрока = “Это правильная строка”;
// Пример 1 многострочной строки
МояМногострочнаяСтрока = “Это
|правильная
|многострочная
|строка”;
// Пример 2 многострочной строки
МояМногострочнаяСтрока = “Это тоже” //Это комментарий
“ правильная “
“многострочная”
“строка”;
// Пример 3 строки с кавычками
НазваниеФирмы = “ООО “”Василек”””;
// Пример 4 суррогатная пара
ТекстССуррогатнойПарой = “Иероглиф: ” + Символ(55401) + Символ(56997);
Результат вывода на экран или печать строки НазваниеФирмы (пример 3) будет выглядеть следующим образом: ООО “Василек”
Неопределено (Undefined)
Описание:
Значение данного типа применяется, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют реквизиты с составным типом значения. Существует одно-единственное значение данного типа, задаваемое литералом.
Литералы:
Неопределено (Undefined)
Тип (Type)
Описание:
Значения данного типа используются для идентификации типов значений. Это необходимо для определения и сравнения типов. Данный тип не имеет
литералов и возвращается функциями встроенного языка ТипЗнч и Тип .
Примитивные типы данных Булево и Дата в 1С Предприятие 8
Здравствуйте, уважаемые читатели блога SoftMaker.kz! В прошлый раз мы обращали внимание на примитивный тип число во встроенном языке 1С:Предприятие 8. Сегодня мы продолжим и поговорим сразу о двух типах данных — Булево и Дата, а также рассмотрим, как работать с ними. Итак, начнем!

Что касается типа данных Булево, то здесь всё достаточно просто. Существует два значения Истина и Ложь, которые могут быть получены различными способами. Например, можно использовать операции сравнения:
- 101 > 1001 равно Ложь
- 101 < 1001 равно Истина
- ‘20000101’= ‘20000102’ равно Ложь
- ‘Отрыто’ <> ‘Открыто’ равно Истина
Как видим, можно использовать различные операции сравнения чисел, строк, дат. В итоге будет получаться некоторое Булевское значение, которое часто используется в условных операторах и в операторах цикла.

Теперь рассмотрим примитивный тип данных Дата. Чтобы описать тип данных Дата обычно применяют два способа. Первый, использование литерала. Давайте объявим переменную, которая будет называться «ТекущаяДата». Например, она будет равна 2 октября 2014 года. В этом случае используется формат даты год/месяц/день.
Если есть необходимость, то мы можем указать время, потому что в системе 1С:Предприятие 8 любая дата содержит внутри себя и дату и время. Поэтому при необходимости можно указать, например такое время: 15 часов 5 минут и 50 секунд. Получится год/месяц/день/час/минута/секунда.
Если не указывать время, то по умолчанию оно будет равно нулю, причём дату можно описывать вот таким образом: ‘20141002’. Для ясности, можно использовать любой разделитель, например, точки «.». Поэтому дата может выглядеть так:
Это был первый способ описания даты. Обратите внимание, что используются одинарные кавычки, то есть литерал, который нельзя разорвать. Он пишется в одинарных кавычках. Второй способ определения даты, это использование функции глобального контекста Дата(). В этом случае мы передаем в качестве параметра этой функции то же самое: год/месяц/день. Параметры здесь нужно указывать через запятую.
Также можно указать время.
Если время не указывать, тогда оно будет равно началу дня. Также можно написать следующий вызов этой функции:
Здесь используется один параметры со строкой, которая должна содержать дату в формате: год/месяц/день/час/минута/секунда. Для того чтобы описать пустую дату в системе 1С:Предприятие 8 нужно сделать следующее:
Или используя описание через литерал:
Другой способ, используя уже знакомую нам функцию глобального контекста:
Использование этих способов вернет одинаковый результат и дата будет считаться пустой. Удобство функции Дата заключается в том, что мы можем передавать сюда не конкретные значения, а переменные. Иногда нужно получить дату, собирая разные переменные. Для этого очень хорошо помогает функция Дата. И еще хочется отметить, что для даты применима операция сложения. Если прибавить к дате число десять:
В результате мы получим дату на десять секунд больше:
Итак, операция сложения прибавляет к указанной дате определенное количество секунд. Это отличие от версии системы 1С:Предприятие 7.7, где при складывании дат прибавлялось количество дней, а не секунд.
Примитивные типы данных
Значения с типом строка обычно задаются строковой константой(литералами) состоящей из различных символов и обрамленных кавычками.
Текст может быть многострочным, это можно оформить таким образом:
но чаще всего делают так:
Операции над строками
Строки можно складывать, просто прибавляя одну к другой:
со строкой можно складывать и другие типы типы данных
Этот прием используется когда значение надо привести к строковому типу, например для того, что бы вывести в сообщении пользователю. Доступны и другие операции со строками(удаление пробелов, получение символов слева или справа и тд) подробнее об них можно почитать в синтаксис помощнике Общее описание встроенного языка – Встроенные функции – Функции работы cо значениями типа Строка .
Число
Переменную с типом число как и строку можно определить просто присвоив ей значение числовой константы:
У числа может быть определена длина(разрядность) и точность(количество знаков после запятой). Ограничения на длину и точность при оперировании ими в коде не зафиксированы, но сохранить в базу можно только число с длиной 32 символа и точностью 10 символов. Все что выше, обрезается. Для числа доступны все арифметические операции(деление, умножение и тд) подробнее об операциях над числами можно почитать в синтаксис помощнике Общее описание встроенного языка – Встроенные функции – Функции работы cо значениями типа Число .
Дату можно получить двумя способами:
что бы было удобнее читать литерал, можно использовать любые разделители
таким образом передавая в качестве параметра число, можно сконструировать любую дату.
Получить пустую дату можно так:
Для даты применима операция сложения, операция сложения прибавляет к дате секунды.
Преобразование типов данных
При сложении разных типов переменных вида:
система пытается произвести преобразование по типу первого параметра. То есть:
Для преобразования существуют функции которые можно найти по адресу: Общее описание встроенного языка – Встроенные функции – Функции преобразования значений .