Статьи
КОНТАКТЫ
Запись на обучение:

+375 (29) 636 65 85

+375 (29) 706 85 85

Учебный отдел:

+375 (29) 668 11 62 (Обучение взрослых)

+375 (29) 364 66 74 (Обучение детей)

По вопросам оплаты:

+375 (29) 609 64 93

Адрес:

г. Минск, ул. К. Маркса, 32

+375 (29) 636 65 85

Язык программирования 1С: основные конструкции и команды

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

Для начинающего программиста синтаксис 1С может показаться непривычным, особенно если до этого он изучал Python, JavaScript, C++ или Java. Однако базовые принципы программирования остаются теми же: переменные, условия, циклы, процедуры, функции, массивы и работа с данными.

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

Что такое язык программирования 1С

1С — это встроенный язык программирования, который используется внутри платформы 1С:Предприятие.

В отличие от универсальных языков программирования, 1С тесно связан с объектами прикладного решения. Разработчик работает не только с кодом, но и со справочниками, документами, регистрами, отчетами, формами и другими объектами конфигурации.

Например, в информационной базе могут существовать:

  • справочник «Контрагенты»;
  • справочник «Номенклатура»;
  • документ «Заказ клиента»;
  • регистр накопления «Продажи»;
  • отчет «Продажи за период».

Программный код позволяет управлять поведением этих объектов и автоматизировать работу пользователя.

Где используется программирование на 1С

Язык 1С применяется для:

  • разработки новых конфигураций;
  • доработки существующих решений;
  • создания отчетов;
  • разработки обработок;
  • автоматизации рутинных операций;
  • расчета показателей;
  • проверки данных;
  • интеграции с внешними сервисами;
  • обмена данными между информационными системами;
  • работы с API;
  • настройки бизнес-процессов.

Поэтому 1С-разработчик должен понимать не только синтаксис языка, но и принципы работы платформы.


Как выглядит код на 1С

Синтаксис 1С достаточно близок к обычному человеческому языку. В русскоязычной версии платформы конструкции выглядят, например, так:

Если Сумма > 10000 Тогда
    Сообщить("Большая сумма");
Иначе
    Сообщить("Сумма меньше или равна 10000");
КонецЕсли;

Условия читаются практически как обычное предложение:

Если сумма больше 10 000, тогда выполнить один блок кода, иначе — другой.

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


Переменные в 1С

Переменная — это имя, под которым программа хранит определенное значение.

Например:

Имя = "Анна";
Возраст = 25;
СуммаЗаказа = 1250;

Здесь создаются три переменные:

  • Имя содержит строку;
  • Возраст содержит число;
  • СуммаЗаказа содержит числовое значение.

В 1С переменная может менять свое значение:

Количество = 10;
Количество = 15;

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

Основные типы данных в 1С

На практике разработчик постоянно работает с разными типами данных.

ТипПример
Число1250
Строка"Компьютер"
БулевоИстина, Ложь
ДатаТекущаяДата()
НеопределеноНеопределено
МассивНовый Массив
СтруктураНовый Структура
Таблица значенийНовый ТаблицаЗначений

Например:

Название = "Ноутбук";
Цена = 3500;
ЕстьВНаличии = Истина;
ДатаЗаказа = ТекущаяДата();

Операторы в 1С

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

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

В 1С используются стандартные математические операции:

Сумма = Цена * Количество;
Разница = Доход - Расход;
СредняяЦена = Сумма / Количество;

Основные операторы:

ОператорЗначение
+сложение
-вычитание
*умножение
/деление

Например:

Цена = 100;
Количество = 5;

Сумма = Цена * Количество;

Сообщить(Сумма);

Результатом будет 500.


Операторы сравнения

Для проверки условий используются операторы:

  • = — равно;
  • <> — не равно;
  • > — больше;
  • < — меньше;
  • >= — больше или равно;
  • <= — меньше или равно.

Например:

Если Цена > 1000 Тогда
    Сообщить("Товар дорогой");
КонецЕсли;

Логические операторы

Несколько условий можно объединять.

Основные логические операторы:

  • И;
  • ИЛИ;
  • НЕ.

Например:

Если Возраст >= 18 И ЕстьДокумент Тогда
    Сообщить("Условие выполнено");
КонецЕсли;

Оператор И означает, что должны выполняться оба условия.

С ИЛИ достаточно выполнения хотя бы одного:

Если День = "Суббота" ИЛИ День = "Воскресенье" Тогда
    Сообщить("Выходной");
КонецЕсли;

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

Конструкция Если — одна из самых важных в программировании.

Она позволяет программе принимать решения в зависимости от значения условия.

Базовый вариант:

Если Условие Тогда
    // код
КонецЕсли;

Например:

Если Количество > 0 Тогда
    Сообщить("Товар есть в наличии");
КонецЕсли;

Если — Иначе

Когда необходимо предусмотреть два варианта, используется Иначе:

Если Количество > 0 Тогда
    Сообщить("Товар есть");
Иначе
    Сообщить("Товара нет");
КонецЕсли;

Несколько условий

Для нескольких вариантов используется ИначеЕсли:

Если Балл >= 90 Тогда
    Сообщить("Отлично");
ИначеЕсли Балл >= 70 Тогда
    Сообщить("Хорошо");
ИначеЕсли Балл >= 50 Тогда
    Сообщить("Удовлетворительно");
Иначе
    Сообщить("Нужно повторить материал");
КонецЕсли;

Такая конструкция часто встречается в прикладных решениях 1С.


Циклы в 1С

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

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

В 1С используются разные виды циклов.

Цикл Для

Цикл Для применяется, когда известно количество повторений.

Для Счетчик = 1 По 10 Цикл
    Сообщить(Счетчик);
КонецЦикла;

Программа выведет числа от 1 до 10.

Можно использовать цикл для расчета:

Сумма = 0;

Для Счетчик = 1 По 5 Цикл
    Сумма = Сумма + Счетчик;
КонецЦикла;

Сообщить(Сумма);
Цикл Пока

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

Счетчик = 1;

Пока Счетчик <= 5 Цикл
    Сообщить(Счетчик);
    Счетчик = Счетчик + 1;
КонецЦикла;

Здесь цикл будет выполняться, пока Счетчик не станет больше 5.

Цикл Для каждого

Одна из самых удобных конструкций 1С — Для каждого.

Она используется для последовательного перебора элементов коллекции.

Например:

Товары = Новый Массив;

Товары.Добавить("Ноутбук");
Товары.Добавить("Монитор");
Товары.Добавить("Клавиатура");

Для каждого Товар Из Товары Цикл
    Сообщить(Товар);
КонецЦикла;

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

Такая конструкция особенно полезна при работе со списками, массивами и другими коллекциями.


Процедуры и функции в 1С

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

Что такое процедура

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

Пример:

Процедура ПоказатьСообщение()

    Сообщить("Добро пожаловать!");

КонецПроцедуры

После этого процедуру можно вызвать:

ПоказатьСообщение();

Процедуры позволяют не дублировать один и тот же код.

Функции в 1С

Функция похожа на процедуру, но возвращает результат.

Например:

Функция РассчитатьСумму(Цена, Количество)

    Возврат Цена * Количество;

КонецФункции

Использовать функцию можно следующим образом:

Сумма = РассчитатьСумму(1000, 3);

Сообщить(Сумма);

Результатом будет 3000.

Параметры функций и процедур

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

Функция РассчитатьСкидку(Сумма, ПроцентСкидки)

    Возврат Сумма * ПроцентСкидки / 100;

КонецФункции

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

Команда Возврат

Оператор Возврат используется в функциях для передачи результата.

Функция Умножить(Число1, Число2)

    Результат = Число1 * Число2;

    Возврат Результат;

КонецФункции

Без Возврат функция не сможет вернуть рассчитанное значение вызывающему коду.


Работа со строками

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

Например:

Имя = "Иван";
Фамилия = "Петров";

ПолноеИмя = Имя + " " + Фамилия;

Получится строка:

Иван Петров

Для проверки заполненности значения часто используется:

Если ЗначениеЗаполнено(Имя) Тогда
    Сообщить("Имя заполнено");
КонецЕсли;

Работа с датами

В 1С предусмотрены специальные функции для работы с датами.

Например:

Сегодня = ТекущаяДата();

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

Например:

Если ДатаДокумента < ТекущаяДата() Тогда
    Сообщить("Дата документа уже наступила");
КонецЕсли;

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


Массивы в 1С

Массив позволяет хранить несколько значений в одной переменной.

Создать массив можно так:

Товары = Новый Массив;

Добавить элементы:

Товары.Добавить("Ноутбук");
Товары.Добавить("Монитор");
Товары.Добавить("Мышь");

Получить элемент можно по индексу:

ПервыйТовар = Товары[0];

Важно помнить, что нумерация элементов массива начинается с нуля.


Структура в 1С

Структура позволяет хранить данные в формате «ключ — значение».

Например:

ДанныеКлиента = Новый Структура;

ДанныеКлиента.Вставить("Имя", "Анна");
ДанныеКлиента.Вставить("Возраст", 25);

Получить значение можно по ключу:

Имя = ДанныеКлиента.Имя;

Структуры часто используются для передачи нескольких параметров между процедурами и функциями.


Таблица значений

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

Например:

Товары = Новый ТаблицаЗначений;

Товары.Колонки.Добавить("Название");
Товары.Колонки.Добавить("Цена");

После этого в таблицу можно добавлять строки.

Таблицы значений особенно полезны при обработке результатов запросов, формировании отчетов и временной обработке данных.


Оператор Новый

Для создания объектов в 1С используется оператор Новый.

Например:

Массив = Новый Массив;

или:

Структура = Новый Структура;

Также с помощью Новый можно создавать другие объекты платформы.


Работа с объектами 1С

Одна из особенностей программирования в 1С — тесная связь кода с объектами прикладного решения.

Например, разработчик может работать со:

  • справочниками;
  • документами;
  • регистрами;
  • перечислениями;
  • отчетами;
  • обработками;
  • планами видов характеристик;
  • бизнес-процессами.

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

Справочники

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

Например:

  • Клиенты;
  • Товары;
  • Сотрудники;
  • Склады.

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

Документы

Документы отражают события и операции в информационной базе.

Например:

  • Заказ клиента;
  • Реализация товаров;
  • Поступление товаров;
  • Платежное поручение.

С помощью кода можно автоматизировать обработку документов и связанные с ними действия.


Запросы в 1С

Одно из важнейших направлений программирования в 1С — работа с языком запросов.

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

Простейший пример:

Запрос = Новый Запрос;

Запрос.Текст =
"ВЫБРАТЬ
|   Товары.Наименование
|ИЗ
|   Справочник.Номенклатура КАК Товары";

Результат = Запрос.Выполнить();

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

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


Обработка ошибок: Попытка и Исключение

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

Для обработки исключений используется конструкция Попытка.

Попытка

    // Код, который может вызвать ошибку

Исключение

    Сообщить("Произошла ошибка");

КонецПопытки;

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


Комментарии в коде 1С

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

Однострочный комментарий начинается с //:

// Рассчитываем итоговую стоимость
Сумма = Цена * Количество;

Комментарии не выполняются программой.

Они особенно полезны в больших проектах, где над одной конфигурацией работают несколько специалистов.


Экспорт процедур и функций

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

Для экспортных процедур и функций используется ключевое слово Экспорт.

Например:

Функция РассчитатьСумму(Цена, Количество) Экспорт

    Возврат Цена * Количество;

КонецФункции

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


Какие команды 1С нужно знать начинающему разработчику

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

КонструкцияДля чего используется
Еслипроверка условия
Иначеальтернативная ветка условия
ИначеЕслидополнительное условие
Дляцикл с определенным диапазоном
Покацикл по условию
Для каждогоперебор элементов коллекции
Процедуравыполнение набора действий
Функциявыполнение действий с возвратом результата
Возвратвозврат значения из функции
Новыйсоздание объекта
Попыткаобработка потенциальной ошибки
Исключениеобработка исключительной ситуации
Экспортпредоставление процедуры или функции для использования из других модулей
Сообщить()вывод сообщения пользователю
ТекущаяДата()получение текущей даты и времени
ЗначениеЗаполнено()проверка заполненности значения

Чем программирование на 1С отличается от других языков

Если человек уже знаком с Python, JavaScript или C++, многие принципы ему будут знакомы:

  • есть переменные;
  • есть условия;
  • есть циклы;
  • есть функции;
  • есть коллекции;
  • есть работа с данными;
  • есть обработка ошибок.

Главное отличие заключается в том, что язык 1С является частью платформы 1С:Предприятие.

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

Поэтому обучение 1С-разработке включает не только изучение синтаксиса.

Необходимо разобраться:

  1. как устроена платформа 1С;
  2. что такое конфигурация;
  3. как работают справочники и документы;
  4. для чего нужны регистры;
  5. как формируются запросы;
  6. как создавать отчеты и обработки;
  7. как работает клиент-серверное взаимодействие;
  8. как организуется обмен данными;
  9. как тестировать и отлаживать код.

С чего начать изучение языка 1С

Если вы только начинаете изучать программирование на 1С, не стоит пытаться запомнить десятки команд сразу.

Оптимальный путь может выглядеть так:

Шаг 1. Изучить основы программирования

Начните с переменных, типов данных, операторов, условий и циклов.

Шаг 2. Разобраться с процедурами и функциями

Научитесь разбивать программу на отдельные логические блоки.

Шаг 3. Изучить коллекции

Познакомьтесь с массивами, структурами и таблицами значений.

Шаг 4. Перейти к объектам 1С

Разберитесь, как работают справочники, документы и регистры.

Шаг 5. Изучить запросы

Научитесь получать и обрабатывать данные из информационной базы.

Шаг 6. Практиковаться на небольших задачах

Например, можно попробовать:

  • создать обработку для расчета стоимости заказа;
  • написать функцию расчета скидки;
  • создать небольшой отчет;
  • обработать список товаров;
  • сделать проверку заполнения данных;
  • написать простой запрос;
  • автоматизировать рутинную операцию.

Именно практика помогает превратить знание отдельных команд в реальные навыки разработки.


Пример небольшой программы на 1С

Объединим несколько изученных конструкций в одном примере:

Функция РассчитатьСтоимость(Цена, Количество, Скидка)

    Сумма = Цена * Количество;

    Если Скидка > 0 Тогда
        Сумма = Сумма - Сумма * Скидка / 100;
    КонецЕсли;

    Возврат Сумма;

КонецФункции


Цена = 1500;
Количество = 3;
Скидка = 10;

ИтоговаяСумма = РассчитатьСтоимость(
    Цена,
    Количество,
    Скидка
);

Сообщить("Итоговая сумма: " + ИтоговаяСумма);

В этом небольшом примере используются сразу несколько важных элементов языка:

  • переменные;
  • функция;
  • параметры;
  • арифметические операции;
  • условный оператор;
  • Возврат;
  • вызов функции;
  • вывод результата.

Для начинающего разработчика подобные небольшие задачи — хороший способ постепенно закреплять синтаксис.


Нужно ли знать другие языки программирования 1С-разработчику?

Знание других языков не является обязательным условием для старта в 1С-разработке.

Однако дополнительные знания могут быть полезны.

Например:

SQL пригодится для понимания баз данных и запросов.

HTML, CSS и JavaScript могут оказаться полезными при работе с веб-интеграциями и интерфейсами.

JSON и XML часто используются при обмене данными между 1С и внешними системами.

HTTP и API понадобятся для интеграции 1С с сайтами, сервисами и другими приложениями.

Поэтому со временем 1С-разработчик может расширять свой стек технологий в зависимости от задач.


Частые ошибки начинающих 1С-разработчиков

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

1. Попытка запомнить весь синтаксис

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

2. Недостаток практики

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

3. Игнорирование структуры платформы

Нельзя ограничиваться только языком программирования. Нужно понимать, как устроены конфигурации и объекты 1С.

4. Слишком сложный код

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

5. Отсутствие навыков отладки

Умение находить ошибки — такая же важная часть работы разработчика, как написание кода.


Часто задаваемые вопросы

Сложно ли изучить язык программирования 1С?

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

Нужно ли знать программирование перед изучением 1С?

Нет. Начать изучение 1С можно с нуля. При этом понимание базовых принципов программирования значительно упростит обучение.

Похож ли язык 1С на SQL?

У языка 1С и SQL есть сходства, особенно при работе с запросами и данными, но это разные языки и разные инструменты.

Можно ли самостоятельно научиться программировать на 1С?

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

Что должен знать начинающий 1С-разработчик?

На начальном этапе важно освоить переменные и типы данных, условия, циклы, процедуры и функции, коллекции, работу с объектами 1С, основы запросов и отладку.


Где изучить программирование на 1С

Язык программирования 1С — это только часть профессии 1С-разработчика. Чтобы создавать полноценные прикладные решения, важно одновременно изучать программирование, платформу 1С:Предприятие, работу с базами данных и реальные задачи автоматизации.

В IT ШАГ можно изучать 1С-разработку на практике: от основ программирования и устройства платформы до создания собственных решений и работы с реальными задачами.

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

Если вы хотите начать путь в IT и попробовать себя в разработке, 1С может стать одним из направлений для первого профессионального опыта.