Медиаблог /

Что такое язык программирования 1С: встроенный DSL для бизнес-автоматизации

2 июля 2026

Что такое язык программирования 1С: встроенный DSL для бизнес-автоматизации

Язык программирования 1С — предметно-ориентированный язык высокого уровня (DSL, Domain-Specific Language), встроенный в платформу 1С:Предприятие версии 8.3. Официальное название — «встроенный язык программирования»: собственного имени, вроде Python или Java, у него нет. Поддерживает мягкую типизацию, двуязычный синтаксис (русский и английский) и работает исключительно внутри платформы. Применяется для автоматизации бухгалтерии, документооборота, кадрового учёта и складских операций.

Код на языке программирования 1С в редакторе Конфигуратора

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

Встроенный язык 1С — предметно-ориентированный DSL, оптимизированный под бизнес-логику предприятия. Вне платформы 1С:Предприятие он не существует: без исполнительной среды написанный код просто не запустится. Компания «1С» основана в 1991 году; сегодня платформа версии 8.3 — фактический стандарт автоматизации учёта в России.

image

Учитесь бесплатно за счёт государства

Экономия до 100 000 ₽ на любой программе

Выбрать курс

Архитектура строится по принципу «Платформа + Конфигурация». Платформа — исполнительная среда и набор инструментов. Конфигурация — прикладное решение, написанное на встроенном языке: она определяет, чем занимается конкретная установка — бухгалтерским учётом, расчётом зарплаты, управлением торговлей или производством.

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

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

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

В новом продукте 1С:Элемент ЯП носит название «Исполнитель» — это отдельный язык со статической типизацией и полноценной объектно-ориентированной моделью. В экосистеме оба варианта существуют параллельно: классический встроенный — для типовых конфигураций, Исполнитель — для современных веб-приложений.

Особенности и назначение языка 1С

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

Характеристика
Значение
Примечание
Уровень Высокоуровневый DSL Только внутри 1С:Предприятие
Типизация Мягкая (динамическая) Тип определяется присвоенным значением
Двуязычность Русский / Английский Нельзя смешивать в одном проекте
Компиляция В байт-код Кэш ускоряет повторный запуск
Инструмент Синтаксис-помощник Встроенный интерактивный справочник
Модель Событийная Код работает при наступлении события

Предварительная компиляция и байт-код: на чём работает 1С

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

Двуязычность и синтаксис-помощник

Разработчик выбирает язык написания кода — русский или английский. Смешивать нельзя: либо Если … Тогда … КонецЕсли, либо If … Then … EndIf. Синтаксис схож с JavaScript, Pascal и BASIC — разработчики, знакомые с этими языками, адаптируются быстрее.

Синтаксис-помощник — уникальная встроенная функция платформы. Это интерактивный справочник по всем методам, функциям и конструкциям языка с примерами кода. Вызывается прямо в Конфигураторе, без выхода в браузер — аналог IntelliSense, адаптированный под экосистему 1С.

Типы данных в языке 1С

Мягкая типизация означает: тип переменной определяется присвоенным значением, предварительно объявлять тип не требуется. Переменная Х = 42 — число; Х = «Привет» — строка. Правила именования: начинается с буквы, без пробелов, без буквы «ё».

Тип
Пример
Примечание
Число Сумма = 1500.50 Целые и дробные
Строка Имя = «Иван» В двойных кавычках
Дата ТекДата = ТекущаяДата() Дата и время вместе
Булево Флаг = Истина Истина / Ложь
Null Реквизит не заполнен
Неопределено Пер = Неопределено Значение не задано

Универсальные коллекции данных в 1С

Коллекции — временные хранилища в оперативной памяти в рамках сеанса. После завершения программы они удаляются автоматически. Структура создаётся так: МояСтруктура = Новый Структура; МояСтруктура.Вставить(«Ключ», «Значение»). Таблица значений — аналог Excel-таблицы с именованными колонками, строками и поиском по значению: удобна при работе с результатами запросов.

Коллекция
Аналог
Создание
Массив List (Python) Новый Массив
Структура Object (JS) Новый Структура
Соответствие HashMap Новый Соответствие
Таблица значений Excel-таблица Новый ТаблицаЗначений
Дерево значений Дерево (XML/JSON) Новый ДеревоЗначений

Модули и события в 1С

Модуль в 1С — текстовый файл с кодом, привязанный к конкретному объекту конфигурации или среде выполнения. Код в модуле не работает сам по себе: он запускается только при наступлении события. Жизненный цикл: запуск приложения → действия пользователя → закрытие.

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

Пять типов модулей: таблица

Тип модуля
Назначение
Где используется
Модуль объекта Бизнес-логика документа или справочника Документ, Справочник, Регистр
Модуль формы Управление интерфейсом и данными Управляемая форма
Общий модуль Переиспользуемые процедуры Любой объект конфигурации
Модуль приложения Логика запуска и завершения Запуск клиента
Модуль внешнего соединения Интеграция с внешними системами COM-соединение, веб-сервисы

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

Процедуры и функции: строительные блоки кода 1С

Процедура выполняет действия и не возвращает значение. Функция обязательно возвращает результат через оператор Возврат. Оба типа поддерживают параметры по умолчанию — например, Должность = «Сотрудник».

Передача параметров: простые типы (Число, Строка, Булево) передаются по значению — изменения внутри процедуры не затрагивают исходную переменную. Коллекции (Массив, Структура) передаются по ссылке — изменения в процедуре меняют оригинал. Это важно учитывать при работе с таблицами значений в многошаговых операциях.

Пример кода: процедура и функция в 1С

Минимальная процедура:

Процедура ПриветМир()

Сообщить(«Привет, мир!»);

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

Сообщить() выводит строку в окно сообщений. КонецПроцедуры — обязательный завершающий оператор; без него синтаксис-помощник подсветит ошибку.

Функция с параметром по умолчанию и ключевым словом Экспорт:

Функция ПолучитьПриветствие(Имя = «Гость») Экспорт

Возврат «Добрый день, » + Имя + «!»;

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

Отличие от процедуры: оператор Возврат обязателен. Экспорт открывает функцию для вызова из любого модуля конфигурации. Параметр по умолчанию «Гость» подставляется, если вызов идёт без аргумента.

Попытка-Исключение: обработка ошибок в 1С

Конструкция Попытка-Исключение — аналог try-catch для защиты от ошибок времени выполнения:

Попытка

Число = Число(СтрокаВводаПользователя);

Исключение

ЗаписьЖурналаРегистрации(«КонвертацияЧисла»,

УровеньЖурналаРегистрации.Ошибка,

ИнформацияОбОшибке().Описание);

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

Блок Исключение срабатывает при любой ошибке внутри Попытка. Функция ИнформацияОбОшибке() возвращает объект с описанием. Применять стоит при работе с внешними данными, конвертации типов и вызовах сторонних систем.

Язык запросов 1С — встроенный аналог SQL

Инфографика сравнения синтаксиса языка запросов 1С и SQL

Язык запросов 1С — встроенный DSL для выборки данных из информационной базы. Синтаксис близок к SQL: ВЫБРАТЬ = SELECT, ИЗ = FROM, ГДЕ = WHERE. Главное отличие — работает не с реляционными таблицами напрямую, а с объектами платформы: Справочник, Документ, Регистр.

Базовый паттерн работы с запросом: создать объект → задать текст → установить параметры → выполнить → получить результат как выборку или таблицу значений через .Выгрузить().

Структура запроса: пример кода с параметрами

Хотите сменить профессию или повысить квалификацию?

Федеральный проект «Активные меры содействия занятости» даёт возможность пройти обучение бесплатно за счёт государства

  • Программы от ведущих вузов России — от 2 месяцев
  • Удостоверение или диплом установленного образца
  • Центр карьеры: 7 500+ вакансий, помощь с трудоустройством
Оставить заявку
image

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

Запрос.Текст =

«ВЫБРАТЬ

| Наименование,

| КодКатегории

|ИЗ

| Справочник.Клиенты

|ГДЕ

| КодКатегории = &КодКатегории»;

Запрос.УстановитьПараметр(«КодКатегории», КодКатегории);

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

Параметры запроса задаются через &НазваниеПараметра в тексте и передаются методом УстановитьПараметр(). Это защищает от подстановки произвольных значений в текст — аналог параметризованных запросов в SQL. Метод Выгрузить() возвращает таблицу значений для дальнейшей обработки в коде цикла или другой процедуры.

Временные таблицы и оптимизация запросов

Ключевое слово ПОМЕСТИТЬ создаёт временную таблицу внутри запроса: ВЫБРАТЬ … ПОМЕСТИТЬ ВТ_Клиенты ИЗ Справочник.Клиенты ГДЕ Активен = Истина. Таблица существует только в рамках выполнения запроса и удаляется автоматически.

Три правила оптимизации: использовать индексированные поля в условиях ГДЕ; не выбирать все реквизиты подряд — только нужные поля; передавать значения через &Параметр, а не подставлять строками. Агрегатные функции СУММА(), КОЛИЧЕСТВО(), ЕСТЬNULL() позволяют сворачивать данные и заменять пустые значения прямо в тексте запроса.

1С:Элемент — современная среда разработки и язык Исполнитель

Сравнение интерфейса IDE 1С:Элемент и редактора VS Code

1С:Элемент — облачная среда разработки: без десктоп-версии, запускается в браузере. Встроенный язык этой платформы называется «Исполнитель» — отдельный ЯП со статической типизацией и полноценной объектно-ориентированной моделью (классы, наследование, инкапсуляция).

Статическая типизация: тип объявляется явно — пер Имя: Строка. Это исключает ошибки, когда переменная случайно получает значение другого типа. Для нестандартных интерфейсных задач и мобильных приложений доступны JavaScript, HTML и CSS — подключаются прямо из Исполнителя без сторонних инструментов.

Классический 1С vs 1С:Элемент (Исполнитель): сравнительная таблица

Параметр
Классический 1С
1С:Элемент (Исполнитель)
Типизация Мягкая (динамическая) Статическая
ООП Частичное Полноценное (классы, наследование)
Объявление переменной Перем Имя; пер Имя: Строка
IDE Конфигуратор (десктоп) Облачная среда (браузер)
JS / HTML / CSS Нет Да
Мобильные приложения Ограничено Из коробки

Ключевое различие по типизации: в классике тип переменной меняется на лету, что удобно, но порождает трудноуловимые ошибки. В Исполнителе неправильный тип — ошибка компиляции, а не рантайма.

На какой язык программирования похож 1С:Элемент

По синтаксису Исполнитель ближе всего к JavaScript: аналогичная логика операторов, управляющие конструкции, работа с объектами. При этом он лаконичнее TypeScript — нет фигурных скобок {}, нет точки с запятой в конце каждой строки. По сравнению с C#: операторы и / или вместо && / ||, значительно меньше синтаксического «шума». Разработчикам с опытом на любом из этих языков адаптация к Исполнителю займёт считаные дни.

Как начать изучение языка 1С с нуля

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

Первые шаги для старта:

  1. Скачать платформу 1С:Предприятие 8.3 с официального сайта «1С» — доступна учебная версия.
  2. Открыть Конфигуратор — встроенный режим разработки и настройки конфигурации.
  3. Создать тестовую базу данных.
  4. Написать первый код: Сообщить(«Привет, мир!»); — и запустить.

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

Для самостоятельного изучения подойдут официальное «Руководство разработчика», синтаксис-помощник прямо в Конфигураторе и учебные конфигурации с сайта «1С». Прогресс идёт быстрее при работе с реальными задачами: доработка типовой конфигурации под конкретную организацию даёт навыки куда эффективнее, чем теория.

Карьерный путь строится поэтапно: классический встроенный язык → 1С:Элемент (Исполнитель) → специализация в 1С:Шина (интеграционная платформа) или 1С:Аналитика. Каждый следующий уровень расширяет и рыночную ценность специалиста, и доход. По данным hh.ru, средняя зарплата 1С-разработчика в России — от 90 000 ₽ в месяц (данные за июнь 2025 года). Заработная плата может существенно варьироваться в зависимости от компании, региона и опыта специалиста.

Карьерная цепочка разработчика 1С от классики до аналитики

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

1С — это язык программирования или нет?

Да, с уточнением: встроенный язык 1С — предметно-ориентированный DSL. Он содержит все признаки языка: синтаксис, типы данных, операторы, циклы, процедуры и функции. Ограничение одно — работает исключительно внутри платформы 1С:Предприятие и не применяется вне её.

Чем язык запросов 1С отличается от SQL?

Синтаксис аналогичен: ВЫБРАТЬ = SELECT, ИЗ = FROM, ГДЕ = WHERE. Ключевые различия: параметры задаются через &НазваниеПараметра, временные таблицы создаются через ПОМЕСТИТЬ (а не CREATE TEMP TABLE). Язык запросов 1С работает с объектами платформы (Справочник, Документ), а не с реляционными таблицами напрямую.

Что такое синтаксис-помощник в 1С?

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

Сколько типов модулей в 1С и в чём разница?

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

Как работает Попытка-Исключение в 1С?

Конструкция Попытка-Исключение — аналог try-catch. Если внутри блока Попытка возникает ошибка, выполнение переходит в блок Исключение. Там доступна функция ИнформацияОбОшибке() и запись в Журнал регистрации. Применяется при работе с внешними данными, конвертации типов и вызовах сторонних систем.

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

Да: 1С — доминирующая ERP-платформа России. Классический ЯП 1С востребован в бухгалтерии и кадровом учёте; 1С:Элемент открывает рынок современных веб-приложений. Порог входа низкий: русскоязычный синтаксис, типовые конфигурации, развитая экосистема. Для начинающих без опыта вход через Элемент — один из самых быстрых путей в рынок.

Чем различаются процедура и функция в 1С?

Процедура выполняет действия, но не возвращает значение (Процедура / КонецПроцедуры). Функция обязательно возвращает результат через оператор Возврат (Функция / КонецФункции). Оба типа поддерживают параметры по умолчанию и передачу по значению (простые типы) или по ссылке (коллекции). Ключевое слово Экспорт открывает подпрограмму для других модулей.

Как создать массив и структуру в 1С?

Массив: МойМассив = Новый Массив; затем .Добавить(«Значение»);. Структура: МояСтруктура = Новый Структура; затем .Вставить(«Ключ», «Значение»);. Ключ в Структуре — строкового типа; в Соответствии — произвольного (аналог HashMap). Обе коллекции хранятся в оперативной памяти в рамках сеанса и удаляются после завершения.

Можно ли программировать в 1С на английском языке?

Да. Встроенный язык двуязычен: все конструкции имеют русский и английский эквиваленты (Если = If, Функция = Function, Цикл = For). Смешивать оба языка в одном проекте нельзя — только один вариант. В 1С:Элемент (Исполнитель) переключение языка также доступно: русский или английский, но не оба одновременно.

Что такое временные таблицы в языке запросов 1С?

Временные таблицы создаются ключевым словом ПОМЕСТИТЬ: ВЫБРАТЬ … ПОМЕСТИТЬ ВТ_Имя ИЗ …. Они существуют только в рамках выполнения запроса и удаляются автоматически. Используются для разбивки сложных многошаговых запросов на этапы и повышения читаемости кода — особенно при работе с несколькими соединениями таблиц.

Хотите освоить разработку в 1С с нуля? В рамках федерального проекта «Активные меры содействия занятости» доступна программа «1С Программист» — 256 часов онлайн-обучения без требований к опыту, полностью за счёт государственного финансирования. Смотрите каталог доступных программ.

Подайте заявку —
забронируйте место в группе

45 000 мест на 2026 год. Бесплатное обучение по федеральному проекту «Активные меры содействия занятости»

  • Онлайн
  • От 2 месяцев
  • Бесплатно
  • Диплом
Учиться бесплатно
icon