55

1С Без Воды. Синтаксис языка

Серия 1С Без Воды

Продолжаем изучать синтаксис. Если заскучали то думаю синтаксису мы уделим максимум еще один пост и уже перейдем в конфигуратор.

Объявление переменной

Небольшое замечание про переменные, есть способ создать переменную но при этом не задавать ей значение, такой способ называется объявление переменной и выполняется с помощью ключевого слова Перем. Зачем это может быть нужно сейчас возможно будет трудно понять, но когда мы дойдем до областей видимости (когда перейдем в конфигуратор) тогда мы коснемся этого еще раз.

Условные операторы

Тут все просто как в анекдоте:

Жена отправляет мужа-программиста в магазин: - Купи батон хлеба, если
будут яйца - возьми десяток.
Муж возвращается из магазина с десятью батонами.
- Ты зачем столько хлеба купил?
- Так ведь яйца были...

Если какое-то выражение выдает нам Истину то выполняем одно действие иначе другое действие. Простейшее условие выглядит так:

Не забываем про точку с запятой (хотя все равно по началу будете) в конце каждого выражения.

Другие варианты Если

То есть мы можем выполнить одно выражение (Если) в зависимости от какого-то выражения, либо выбрать из двух выражений (Если Иначе), либо из произвольного количества выражений (Если ИначеЕсли).

Циклы, массивы

Для того чтобы поговорить о циклах давайте немного затронем тему массивов. Массив это просто упорядоченная коллекция переменных. То есть мы создаем переменную с типом массив и через методы массива можем туда добавлять другие переменные (данные) и если нам нужны будут значения этих переменных то мы будем обращаться к номеру массива где эти переменные лежат, такой номер называется индекс в массиве и во многих других коллекциях индекс всегда начинается с 0. Давайте создадим массив и добавим данные. Варианты создания массивов.

Обычно все пользуются вариантом №1. И тут мы уже можем увидеть что у нас повторяются одни и те же действия при добавлении данных, если мы знаем что нам нужно в массив добавить какие-то упорядоченные данные например последовательность чисел то тут нам облегчат жизнь циклы.

Цикл Для.

Начиная от значения Счетчик и по ограничение (10) добавляем в массив значения счетчика, По 10 значит что 10 последнее значение счетчика так же добавится в массив.

Так же как и добавили так же мы можем и прочитать добавленные значения через цикл Для, но здесь уже мы будем использовать доступ через квадратные скобки (индекс) и счетчик будем начинать не с единицы а с нуля, так как нумерация ячеек в массиве идет с нуля.

Небольшое отступление. Кому-то покажется странным запись вида Массив.Количество(). Здесь используется оператор точки. Помните когда мы учили приоритеты операций самый высокий был у точки и у фигурных скобок? Так вот точка это оператор доступа к данным некоего объекта, в нашем случае массива, у примитивных типов такого нет. Через точку мы как бы обращаемся к инструментам объекта или к хранящимся в нем данным.

Здесь мы через цикл для считываем последовательно данные массива, в качестве ограничения у нас выражение Массив.Количество() - 1, почему отнимаем единицу? Например у нас в массиве 10 значений, метод количество значит вернет число 10. То есть на последнем шаге цикла в значении счетчика у нас будет 10. Далее мы считываем это значение через Массив[Счетчик], что равносильно Массив[10], а мы помним что индекс начальной ячейки 0 и не трудно догадаться что индекс последней ячейки будет 9 и мы пытаемся прочитать значение из несуществующей ячейки. Поэтому мы получим ошибку на последнем шаге цикла если не отнимем единицу.

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

Гораздо проще да? Не надо ничего отнимать и обращаться по индексу, очень популярный цикл.

Ну и напоследок темы циклов рассмотрим цикл Пока. С помощью него удобно сделать бесконечный цикл прерываемый только при наступлении какого-то события. Либо выполнять какие-то действия пока результат проверки равен истине

Здесь у нас новый оператор не равно <> часто используют его но для наглядности можно использовать конструкцию НЕ Счетчик = 0, а так же здесь показан способ уменьшения значения переменной, можно аналогично увеличивать значение только используя знак плюс.

Для тру программистов конструкций инкремента и декремента (++, --) а так же конструкций += и -= в 1с нету. Грустно, знаю.

Для тру программистов конструкций инкремента и декремента (++, --) а так же конструкций += и -= в 1с нету. Грустно, знаю.

Еще небольшое отступление, возможно у кого-то возникнет вопрос а почему мы через знак равно который служит для присваивания значения переменной проверяем равенство? Ну вот привыкайте, присваивание и равенство пишутся одинаково, и когда встретите такую конструкцию - Результат = Число1 = Число2 - знайте что в результат присвоится булево, в зависимости от того равно Число1 Числу2 (Истина) или нет (Ложь);

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

В первом цикле мы прерываем цикл по достижении значения счетчика 5. Во втором шаге мы пропускаем все шаги где остаток от деления на 2 значения счетчика не равен 0 ( то есть это нечетное число).

Далее нас ждет немного более сложная для понимания тема процедур и функций поэтому вынесу ее в отдельный пост. А после нее уже перейдем к изучению конфигуратора (конфигурирование) и расширения знаний о синтаксисе языка уже в конфигураторе.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества