Медиаблог /

Язык программирования 1С (BSL): синтаксис, примеры кода и как начать с нуля

4 августа 2026

Язык программирования 1С (BSL): синтаксис, примеры кода и как начать с нуля

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

Программист работает в Конфигураторе 1С с кодом BSL

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

image

Сделайте следующий шаг в карьере

Подберите обучение, которое поможет освоить новые компетенции

Выбрать курс

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

Язык программирования 1С — это BSL (Business Script Language), встроенный в платформу 1С:Предприятие. Он не существует отдельно: нет интерпретатора BSL без платформы, нет универсальных сред разработки, которые нативно его поддерживают. Всё написанное на BSL запускается только внутри 1С:Предприятие.

По классу BSL — высокоуровневый предметно-ориентированный язык, или DSL (Domain-Specific Language — язык для конкретной предметной области). Это значит, что в него изначально встроены понятия из делового мира: справочники, документы, регистры накопления, движения при проведении документа. Разработчик не моделирует бизнес-логику с нуля — большая её часть уже заложена в самом языке и платформе.

Типизация в BSL динамическая: тип переменной определяется в момент выполнения кода, а не при написании. Синтаксис доступен на двух языках — русском и английском, но в одном проекте их не смешивают.

Ограничение по части ООП (объектно-ориентированного программирования): в BSL нельзя создавать собственные классы. Разработчик работает только со встроенными объектами платформы — справочниками, документами, регистрами. Это осознанное решение: язык сделан для бизнес-задач, а не для системного программирования.

Хотите освоить язык программирования 1С и войти в профессию за полтора месяца? В ProfiFuture действует программа 1С программист — онлайн-обучение с господдержкой: 75% стоимости компенсируется образовательной квотой, оплата от 4 × 5 040 ₽ в рассрочку без переплат. Смотрите каталог программ с господдержкой.

BSL — официальное название встроенного языка 1С

BSL расшифровывается как Business Script Language — это официальная аббревиатура, принятая компанией «1С». В профессиональном сообществе язык чаще называют «встроенным языком 1С» или «языком 1С:Предприятие». Аббревиатура BSL активно используется в технической документации и на профессиональных форумах.

Русскоязычный синтаксис стал де-факто стандартом экосистемы: все типовые конфигурации — 1С:Бухгалтерия предприятия, 1С:ЗУП, 1С:Управление торговлей — написаны именно на нём.

BSL поддерживает двуязычность: каждое ключевое слово имеет русский и английский эквивалент:

  • Процедура / Procedure;
  • Если / If;
  • КонецЦикла / EndDo;
  • Возврат / Return.

В одном проекте смешивать оба варианта не рекомендуется — это снижает читаемость кода и усложняет командную работу.

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

Ответ однозначный: да, BSL — полноценный язык программирования. Три аргумента:

  1. Переменные и типы данных. В BSL есть примитивные типы — Число, Строка, Дата, Булево — и коллекции: Массив, Структура, Соответствие, Таблица значений.
  2. Процедуры и функции с параметрами. Функции возвращают значение через оператор Возврат, процедуры — нет. Оба типа принимают параметры, в том числе необязательные.
  3. Управляющие конструкции. Условные операторы (Если-Тогда-ИначеЕсли-Иначе-КонецЕсли), три вида циклов, обработка исключений через конструкцию Попытка-Исключение.

Откуда берётся путаница? Многие называют «программой 1С» прикладные продукты: 1С:Бухгалтерия, 1С:Зарплата и управление персоналом (ЗУП). Это учётные системы — конфигурации. А BSL — язык, на котором они написаны. Разница примерно как между Python и Django: язык и фреймворк — не одно и то же.

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

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

BSL не создавался с нуля. Его синтаксис унаследован от Pascal и BASIC: Если-Тогда-ИначеЕсли-КонецЕсли вместо фигурных скобок, Для…По…КонецЦикла вместо привычного for(i=0; i<n; i++). Разработчику с опытом в этих языках BSL даётся быстрее.

Язык запросов 1С — отдельная подсистема внутри платформы. По структуре он близок к T-SQL (диалект SQL от Microsoft): конструкция ВЫБРАТЬ…ИЗ…ГДЕ…СГРУППИРОВАТЬ ПО зеркально повторяет SELECT…FROM…WHERE…GROUP BY. Знакомый с SQL разработчик освоит язык запросов 1С значительно быстрее.

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

Главное ограничение BSL — предметная специализация. На нём не напишешь публичный сайт, мобильное приложение вне экосистемы 1С или игру.

Параметр
BSL (1С:Предприятие)
Исполнитель (1С:Элемент)
Pascal
JavaScript
Python
Типизация Динамическая Статическая Статическая Динамическая Динамическая
ООП Ограниченное (встроенные классы) Полноценное (классы, наследование, полиморфизм) Ограниченное Полноценное Полноценное
Синтаксис Pascal / BASIC Близко к JS Паскалевский C-подобный Отступы
Область применения Учётные системы Веб-приложения 1С Общий / обучение Веб, бэкенд, мобайл Общий, аналитика, AI
Порог входа Средний Средний Средний Низкий Низкий

Платформа 1С:Предприятие: архитектура и состав

Схема архитектуры 1С Предприятия: Платформа, Конфигурации, ИнфоБаза

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

Архитектура состоит из трёх уровней:

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

Платформа поддерживает несколько операционных систем: Windows, macOS, Linux. В роли СУБД (системы управления базами данных) поддерживаются MS SQL Server, PostgreSQL, IBM Db2 и Oracle Database.

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

Конфигурации 1С: виды и типовые примеры

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

Три типа конфигураций:

  • Типовые — разрабатывает сама компания «1С»: 1С:Бухгалтерия предприятия, 1С:Зарплата и управление персоналом (ЗУП), 1С:Управление торговлей (УТ), 1С:Розница.
  • Отраслевые — создают партнёры «1С» под конкретные ниши: 1С:Общепит, 1С:Салон красоты.
  • Заказные — разрабатываются под конкретную организацию по договору со сторонними разработчиками.

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

Основные конструкции BSL: синтаксис с примерами

Пример кода на языке BSL: процедура, условие и цикл

Модуль BSL строится по стандартной структуре: вначале объявляются переменные модуля, затем следуют обработчики событий, потом процедуры и функции, в конце — код инициализации.

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

Если Количество > 0 Тогда

Сообщить(«Остаток есть»);

ИначеЕсли Количество = 0 Тогда

Сообщить(«Нет в наличии»);

Иначе

Сообщить(«Значение не определено»);

КонецЕсли;

Тернарный оператор — сокращённая запись для простых условий: ?(Условие, ЗначениеЕслиИстина, ЗначениеЕслиЛожь). Используется там, где полная конструкция Если-Тогда избыточна.

Три вида циклов в BSL:

  • Для Сч = 1 По 10 Цикл…КонецЦикла — перебор числового диапазона;
  • Для каждого Строка Из КоллекцияЗначений Цикл…КонецЦикла — перебор элементов коллекции;
  • Пока УсловиеВыполнено Цикл…КонецЦикла — выполнение, пока условие истинно.

Управление внутри цикла — операторы Прервать (выход из цикла) и Продолжить (переход к следующей итерации). Оба работают так же, как break и continue в других языках.

Переменные, типы данных и примеры кода на 1С

BSL использует динамическую типизацию: тип переменной определяется в момент присвоения значения. Явное объявление через ключевое слово Перем необязательно, но улучшает читаемость кода.

Основные примитивные типы: Строка, Число, Дата, Булево. Прикладные типы специфичны для 1С — например, СправочникСсылка.Номенклатура или ДокументСсылка.РеализацияТоваровУслуг.

Пример — демонстрация типов данных и коллекций:

Процедура ДемонстрацияТипов()

Число = 42;

Строка = «Привет, 1С»;

Дата = ‘20250101’;

Булево = Истина;

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

Массив.Добавить(Число);

Структура = Новый Структура(«Наименование, Количество», «Товар А», 10);

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

Процедура и функция отличаются одним: функция содержит оператор Возврат и передаёт значение вызывающему коду. Повторно используемый код выносят в Общие модули — это реализует принцип DRY (Don’t Repeat Yourself — не повторяй себя): логика пишется один раз и доступна из любого места конфигурации.

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

Конструкция Попытка-Исключение — аналог try-catch из JavaScript и Python. Она перехватывает ошибку и позволяет обработать её без аварийного завершения программы.

Попытка

Результат = Число(ВходноеЗначение);

Исключение

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

ЗаписьЖурналаРегистрации(

«Ошибка конвертации»,

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

Пора сменить профессию? Начните с понятного плана

Подберите программу под ваш опыт, цели и желаемый формат занятости

  • Востребованные навыки без лишней теории.
  • Поддержку экспертов на каждом этапе
  • Помощь с выходом на рынок труда
Подобрать обучение
image

,

,

ОписаниеОшибки.Описание

);

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

ИнформацияОбОшибке() возвращает объект с деталями исключения и текстом ошибки. ЗаписьЖурналаРегистрации() фиксирует событие в системном журнале платформы — его просматривают через меню Конфигуратора для диагностики проблем.

Для чего нужен язык программирования 1С: области применения

Экосистема продуктов 1С: Бухгалтерия, ЗУП, УТ, Элемент, Аналитика

BSL создавался с единственной целью — автоматизация бизнес-процессов предприятий. Это и определяет его сильные стороны, и очерчивает границы применения.

Основные области:

  • Бухгалтерский и налоговый учёт. Автоматические проводки, расчёт налогов, формирование регламентированной отчётности для ФНС.
  • Складской учёт. Движение товаров, инвентаризация, управление остатками по складам и ячейкам.
  • Кадровый учёт и расчёт зарплаты. Начисления, удержания, расчётные листки, интеграция с банком.
  • CRM. Учёт клиентов, сделок, взаимодействий с контрагентами.
  • Интеграции. Обмен данными с банком, маркетплейсами, государственными сервисами: ЭДО (электронный документооборот), передача отчётности в ФНС и Социальный фонд.

Типовые конфигурации — 1С:Бухгалтерия предприятия, 1С:ЗУП, 1С:Управление торговлей — покрывают большинство стандартных задач. Партнёры «1С» разрабатывают отраслевые решения под узкие ниши: 1С:Общепит, 1С:Салон красоты, 1С:Хлебозавод.

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

Язык запросов 1С: встроенный аналог SQL для бизнес-данных

Конструктор запросов 1С с визуальным построителем и схемой таблиц

Внутри платформы 1С:Предприятие есть отдельный встроенный декларативный язык — язык запросов 1С. Он позволяет извлекать данные из информационной базы без прямой работы с таблицами СУБД.

Базовая структура синтаксически близка к T-SQL:

ВЫБРАТЬ

Номенклатура.Код,

Номенклатура.Наименование,

ОстаткиТоваров.КоличествоОстаток

ИЗ

Справочник.Номенклатура КАК Номенклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваров

ПО Номенклатура.Ссылка = ОстаткиТоваров.Номенклатура

ГДЕ

ОстаткиТоваров.КоличествоОстаток > 0

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

Конструктор запроса — встроенный визуальный построитель с перетаскиванием (drag-and-drop) таблиц и полей. Позволяет собирать запросы без написания кода вручную — удобно для начинающих и для прототипирования сложных выборок.

Объекты конфигурации: справочники, документы и регистры

Объекты конфигурации 1С: справочники, документы, регистры и отчёты

Разработчик на 1С работает не с таблицами напрямую, а с объектами конфигурации. Каждый тип объекта решает определённую задачу в бизнес-логике.

Справочники хранят нормативно-справочные данные: Организации, Товары, Сотрудники, Контрагенты. Обязательные реквизиты — Код и Наименование. Справочники поддерживают иерархию: группы и элементы.

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

Регистры накопления хранят итоговые данные. Виртуальная таблица Остатки даёт срез на текущий момент, таблица Обороты — данные за выбранный период.

Общие модули — хранилище экспортных процедур и функций, доступных из любого места конфигурации. Реализуют принцип DRY: логика написана один раз и переиспользуется в любом объекте системы.

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

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

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

Типизация в Исполнителе статическая: тип переменной указывается явно — Строка, Число, Булево. Это позволяет обнаруживать ошибки уже на этапе компиляции, а не в момент выполнения программы. Синтаксис Исполнителя лаконичнее, чем у TypeScript или C#, но остаётся в рамках логики экосистемы 1С.

Ограничения Исполнителя: он не выходит за пределы экосистемы 1С; кастомизация пользовательского интерфейса требует JavaScript, HTML и CSS — дополнительный порог для тех, кто пришёл из чисто учётного 1С.

Карьерный путь в этой ветке: 1С:Элемент → 1С:Аналитика (аналитические приложения) → 1С:Шина (шина данных для интеграции систем). Стек молодой, активно развивается компанией «1С», и знание обоих языков — BSL и Исполнителя — уже сейчас становится конкурентным преимуществом.

BSL против Исполнителя: сравнительная таблица двух языков 1С

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

Параметр
BSL (1С:Предприятие)
Исполнитель (1С:Элемент)
Назначение Учётные системы (бухгалтерия, склад, CRM) Веб-приложения в экосистеме 1С
Типизация Динамическая Статическая
ООП Ограниченное (только встроенные классы) Полноценное (классы, наследование, полиморфизм)
Синтаксис Pascal / BASIC Близко к базовому JavaScript
Среда выполнения Конфигуратор / 1С:Предприятие Облако или локальный сервер
Мобильность Только экосистема 1С Только экосистема 1С
Зрелость Более 30 лет, тысячи готовых решений Молодой продукт, активно развивается

Как начать изучать язык 1С с нуля: пошаговый план

Путь изучения языка 1С с нуля за пять шагов

Войти в профессию через BSL реалистично без профильного образования — язык адаптирован под бизнес-контекст, а не под академическую среду. Вот последовательность, которая работает:

  1. Установить обучающий дистрибутив. Компания «1С» предоставляет бесплатную учебную версию платформы 8.3. Скачать можно с официального сайта 1С — лицензия на старте не нужна.2. Изучить материалы на 1С:ИТС. Официальный информационно-технологический ресурс компании — документация по платформе, языку и типовым конфигурациям. Здесь же — обучающие статьи и примеры кода.
  1. Запустить Конфигуратор и создать учебную базу. Практика начинается с пустой информационной базы и первых объектов — это лучший способ освоить структуру платформы изнутри.
  1. Изучать объекты последовательно: справочники → документы → регистры → отчёты. Каждый уровень закрепляется самостоятельно написанным кодом.
  1. Перейти к структурированному обучению. Самостоятельное изучение даёт базу, но без системы легко застрять в деталях и пропустить ключевые паттерны платформы.

Для тех, кто хочет войти в профессию 1С-программиста за конкретный срок, подходит программа 1С программист от ProfiFuture: ~1,5 месяца онлайн, оплата от 4 × 5 040 ₽ в рассрочку с господдержкой.

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

Как официально называется язык программирования 1С?

Встроенный язык 1С официально называется BSL — Business Script Language. В профессиональном сообществе его также именуют «встроенным языком 1С» или «языком 1С:Предприятие». Разработан компанией «1С», работает исключительно в составе платформы 1С:Предприятие и не существует как самостоятельный продукт.

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

Да. BSL поддерживает переменные и типы данных, процедуры и функции с параметрами, условные операторы Если-Тогда, циклы и обработку исключений через Попытка-Исключение. Путаница возникает из-за названия: «программа 1С» — это учётный продукт (например, 1С:Бухгалтерия), а BSL — язык, на котором он написан.

На какой язык программирования похож 1С?

По синтаксису BSL напоминает Pascal и BASIC: конструкции Если/Тогда/КонецЕсли. Язык запросов 1С структурно схож с T-SQL. Язык Исполнитель в 1С:Элементе близок к базовому JavaScript. Ни один из них не является точным аналогом — BSL имеет собственную предметную ориентацию на бизнес.

В чём разница между 1С:Предприятием и 1С:Элементом?

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

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

Да. BSL поддерживает двуязычный синтаксис: Процедура / Procedure, Если / If, КонецЦикла / EndDo. Однако в одном проекте оба варианта одновременно не используются. Русскоязычный синтаксис стал де-факто стандартом экосистемы — все типовые конфигурации написаны на русском.

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

Язык запросов 1С — встроенный декларативный язык для извлечения данных из информационной базы. Структурно схож с T-SQL: ВЫБРАТЬ…ИЗ…ГДЕ. Ключевые отличия: работает только с объектами 1С (справочниками, регистрами), поддерживает виртуальные таблицы (ОстаткиИОбороты) и временные таблицы через ключевое слово ПОМЕСТИТЬ.

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

Да — 1С остаётся доминирующей учётной системой в России. 1С-разработчики стабильно востребованы на рынке труда. Знакомым с Pascal или BASIC освоить BSL значительно проще. После BSL логичный путь — Исполнитель, 1С:Аналитика, 1С:Шина. Ориентир по доходу: от 70 000 ₽.

Где найти официальный самоучитель по 1С 8.3 для начинающих?

Официальный ресурс — 1С:ИТС: документация по платформе, языку и типовым конфигурациям. Бесплатный обучающий дистрибутив с сайта 1С позволяет практиковаться в Конфигураторе без покупки лицензии. Для системного старта с нуля подходит программа 1С программист от ProfiFuture (~1,5 месяца, от 4 × 5 040 ₽, онлайн).

Что такое Попытка-Исключение в языке 1С?

Попытка-Исключение — конструкция обработки ошибок в BSL, аналог try-catch в JavaScript и Python. Структура: Попытка…Исключение…КонецПопытки. Внутри блока Исключение функция ИнформацияОбОшибке() возвращает объект с деталями ошибки. ЗаписьЖурналаРегистрации() логирует событие в системный журнал платформы.

Превратите интерес к теме в новую профессию

Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения

Оставить заявку
icon