66

1С Без Воды. Синтаксис и немного про контекст

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

Ну вы даете конечно, такой реакции я не ожидал. Но хватит эмоций сегодня наконец-то приступим к синтаксису языка. Код будем писать в консоли кода и да меня тут уже упрекали про наличие воды не смотря на такое громкое название, но поверьте некоторые вещи надо объяснять ибо совсем без воды и без объяснений это родная справка 1с. Мы немного поговорим про контекст, в консоли кода вы можете видеть такие 2 кнопки

Ранее я уже писал немного про клиент и сервер. Повторим, на клиенте значит что код выполняется на компьютере пользователя а на сервере соответственно то что можно выполнить на сервере. Весь код 1С имеет область действия (контекст, грубо говоря все методы и данные которые доступны в данном контексте), в нашем случае мы рассматриваем то где может работать наш код - на клиенте, на сервере либо и там и там. Далее когда уже коснемся объектов метаданных (не пугайтесь) и их модулей (и не только их) тогда уже погрузимся глубже в контекст. Итак приступим, кнопку контекста можем вообще не трогать пока.

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

Переменная - по классике переменную сравнивают с некой коробкой куда кладутся нужные вещи (данные) и подписывается (дается название переменной). В 1с эта операция выглядит так (далее все скрины будут из консоли кода).

Имя переменной - НашаПеременная - составлено по правилом именования переменных в 1С, об этом я уже ранее писал, повторюсь, правило простое - имя может состоять из букв (русских или английских), цифр и символа подчеркивания "_". Первый символ обязательно буква либо подчеркивание, цифра будет считаться ошибкой. Никаких пробелов и спецсимволов. Ну и так же нельзя называть переменные ключевыми словами языка 1С (список заучивать не надо он сам запомнится при изучении синтаксиса ну и если вдруг что просто будет ошибка).

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

Но мы тут еще упомянули присваивание. Это значок =. Слева от равно у нас имя переменной а справа значение которое мы хотим присвоить переменной. В нашем примере значение это число. Оно относится к примитивному типу. Вот какие еще есть примитивные типы в 1С - Число, Строка, Дата, Булево, Неопределено. Есть еще и другие типы но о них мы поговорим чуточку позже (NULL, Тип - ага знаю звучит как тафталогия тип Тип, но позже мы разберем что это значит). Давайте создадим и покажем (Сообщить()) отдельные переменные для наших типов.

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

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

Выражения, операции.

Давайте на примере выражения с операцией сложения рассмотрим что такое выражение и операция.

Внезапно новое слово операнды. Итак - выражение объединяет в себе одну или несколько операций над операндами. У операции так же может быть один или два операнда (например операция унарный минус это просто обозначение отрицательного числа, например -1). Выражение соответственно может быть сложнее и объединять несколько операций.

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

Арифметические операции

Ну тут прям школа школа.

Сложение, вычитание, умножение, деление думаю пояснять не надо. Да и про унарный минус думаю должно быть ясно что так мы просто обозначаем (или откуда-то получаем) отрицательные числа. А остаток от деления тут тоже школьная математика деление в столбик, если мы делим 10 литровых бутылок между 3 людьми то целиком по 1 литру каждому человеку достанутся только 3 литрушки и останется 1 литрушка не разделенная, ее мы конечно же заберем себе... шучу надо просто оставить ее напоследок и там уже пофиг будет кто сколько наливает. Так, чет мы отвлеклись.

Операции конкатенации

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

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

Логические операции

Результатом работы логических операций является тип Булево - Истина или Ложь. Это различные операции сравнения.

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

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

В логические операции думаю можно так же включить и так называемые булевы операции - И, ИЛИ, НЕ.

Приоритеты операций

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

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

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

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

P.S. Мы тут рассмотрели по сути только примитивные типы, операции выражения и приоритеты. Может быть вам этого мало в рамках одной статьи и нужно как-то более укрупненно писать? Напишите свое мнение, а может быть наоборот надо дробить на более мелкие статьи, я на данный момент пишу по наитию, так как мне хочется подать вам информацию.

P.S. P.S. И еще момент на момент возникновения идеи этих постов была у меня мысль применять нейронку хотя бы для редактирования текста, исправления ошибок. Но в потоке сознания посты клепаю без всяких нейронок. Пользуюсь только документацией 1С. Напишите сильно ли вам режет глаз такой вот сырой текст? Надо ли обрабатывать нейронкой или просто проверкой орфографии и пунктуации или итак сойдет?

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества