BSL — встроенный предметно-ориентированный язык платформы 1С:Предприятие. Его разработала компания «1С» для автоматизации бизнес-задач: бухгалтерского учёта, складских операций, расчёта зарплаты и работы с клиентами. Синтаксис BSL унаследован от Pascal и BASIC, поддерживает код на русском и английском, работает исключительно внутри экосистемы 1С.
В этой статье — что такое язык программирования 1С, как выглядит его синтаксис с примерами кода, чем платформа отличается от конфигурации, что такое 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 расшифровывается как Business Script Language — это официальная аббревиатура, принятая компанией «1С». В профессиональном сообществе язык чаще называют «встроенным языком 1С» или «языком 1С:Предприятие». Аббревиатура BSL активно используется в технической документации и на профессиональных форумах.
Русскоязычный синтаксис стал де-факто стандартом экосистемы: все типовые конфигурации — 1С:Бухгалтерия предприятия, 1С:ЗУП, 1С:Управление торговлей — написаны именно на нём.
BSL поддерживает двуязычность: каждое ключевое слово имеет русский и английский эквивалент:
В одном проекте смешивать оба варианта не рекомендуется — это снижает читаемость кода и усложняет командную работу.
Ответ однозначный: да, BSL — полноценный язык программирования. Три аргумента:
Откуда берётся путаница? Многие называют «программой 1С» прикладные продукты: 1С:Бухгалтерия, 1С:Зарплата и управление персоналом (ЗУП). Это учётные системы — конфигурации. А BSL — язык, на котором они написаны. Разница примерно как между Python и Django: язык и фреймворк — не одно и то же.
В экосистеме 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С:Предприятие — не программа, а технологическая платформа. Актуальная версия — 8.3. Сама компания «1С» разрабатывает и поддерживает именно платформу; то, что пользователи называют «программой 1С», — это конфигурация, работающая поверх неё.
Архитектура состоит из трёх уровней:
Платформа поддерживает несколько операционных систем: Windows, macOS, Linux. В роли СУБД (системы управления базами данных) поддерживаются MS SQL Server, PostgreSQL, IBM Db2 и Oracle Database.
Разработчик запускает систему в режиме Конфигуратора — это встроенная среда разработки (IDE): создание объектов, написание кода на BSL, пошаговая отладка с точками остановки. Режим 1С:Предприятие предназначен для пользователя — он видит только рабочий интерфейс конфигурации.
Конфигурация — прикладное решение, которое не запускается без Платформы. Она не содержит пользовательских данных — только описание объектов и алгоритмы их взаимодействия.
Три типа конфигураций:
Важная особенность: большинство типовых конфигураций поставляются с открытым исходным кодом, что позволяет разработчику дорабатывать их под нужды бизнеса без создания решения с нуля.

Модуль BSL строится по стандартной структуре: вначале объявляются переменные модуля, затем следуют обработчики событий, потом процедуры и функции, в конце — код инициализации.
Условный оператор:
Если Количество > 0 Тогда
Сообщить(«Остаток есть»);
ИначеЕсли Количество = 0 Тогда
Сообщить(«Нет в наличии»);
Иначе
Сообщить(«Значение не определено»);
КонецЕсли;
Тернарный оператор — сокращённая запись для простых условий: ?(Условие, ЗначениеЕслиИстина, ЗначениеЕслиЛожь). Используется там, где полная конструкция Если-Тогда избыточна.
Три вида циклов в BSL:
Управление внутри цикла — операторы Прервать (выход из цикла) и Продолжить (переход к следующей итерации). Оба работают так же, как break и continue в других языках.
BSL использует динамическую типизацию: тип переменной определяется в момент присвоения значения. Явное объявление через ключевое слово Перем необязательно, но улучшает читаемость кода.
Основные примитивные типы: Строка, Число, Дата, Булево. Прикладные типы специфичны для 1С — например, СправочникСсылка.Номенклатура или ДокументСсылка.РеализацияТоваровУслуг.
Пример — демонстрация типов данных и коллекций:
Процедура ДемонстрацияТипов()
Число = 42;
Строка = «Привет, 1С»;
Дата = ‘20250101’;
Булево = Истина;
Массив = Новый Массив;
Массив.Добавить(Число);
Структура = Новый Структура(«Наименование, Количество», «Товар А», 10);
КонецПроцедуры
Процедура и функция отличаются одним: функция содержит оператор Возврат и передаёт значение вызывающему коду. Повторно используемый код выносят в Общие модули — это реализует принцип DRY (Don’t Repeat Yourself — не повторяй себя): логика пишется один раз и доступна из любого места конфигурации.
Конструкция Попытка-Исключение — аналог try-catch из JavaScript и Python. Она перехватывает ошибку и позволяет обработать её без аварийного завершения программы.
Попытка
Результат = Число(ВходноеЗначение);
Исключение
ОписаниеОшибки = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(
«Ошибка конвертации»,
УровеньЖурналаРегистрации.Ошибка,
Пора сменить профессию? Начните с понятного плана
Подберите программу под ваш опыт, цели и желаемый формат занятости
,
,
ОписаниеОшибки.Описание
);
КонецПопытки;
ИнформацияОбОшибке() возвращает объект с деталями исключения и текстом ошибки. ЗаписьЖурналаРегистрации() фиксирует событие в системном журнале платформы — его просматривают через меню Конфигуратора для диагностики проблем.

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

Внутри платформы 1С:Предприятие есть отдельный встроенный декларативный язык — язык запросов 1С. Он позволяет извлекать данные из информационной базы без прямой работы с таблицами СУБД.
Базовая структура синтаксически близка к T-SQL:
ВЫБРАТЬ
Номенклатура.Код,
Номенклатура.Наименование,
ОстаткиТоваров.КоличествоОстаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваров
ПО Номенклатура.Ссылка = ОстаткиТоваров.Номенклатура
ГДЕ
ОстаткиТоваров.КоличествоОстаток > 0
Параметры передаются через синтаксис &ИмяПараметра и устанавливаются методом УстановитьПараметр(). Агрегатные функции — СУММА(), КОЛИЧЕСТВО(), СРЕДНЕЕ(), МАКСИМУМ(). Для промежуточных вычислений используют временные таблицы, объявляемые ключевым словом ПОМЕСТИТЬ. Работа с пустыми значениями — функция ЕСТЬNULL().
Конструктор запроса — встроенный визуальный построитель с перетаскиванием (drag-and-drop) таблиц и полей. Позволяет собирать запросы без написания кода вручную — удобно для начинающих и для прототипирования сложных выборок.

Разработчик на 1С работает не с таблицами напрямую, а с объектами конфигурации. Каждый тип объекта решает определённую задачу в бизнес-логике.
Справочники хранят нормативно-справочные данные: Организации, Товары, Сотрудники, Контрагенты. Обязательные реквизиты — Код и Наименование. Справочники поддерживают иерархию: группы и элементы.
Документы фиксируют хозяйственные операции, привязанные к конкретному моменту времени. Обязательные реквизиты — Номер и Дата. При «проведении» документ запускает движения по регистрам — именно так в системе формируются остатки и обороты.
Регистры накопления хранят итоговые данные. Виртуальная таблица Остатки даёт срез на текущий момент, таблица Обороты — данные за выбранный период.
Общие модули — хранилище экспортных процедур и функций, доступных из любого места конфигурации. Реализуют принцип DRY: логика написана один раз и переиспользуется в любом объекте системы.
1С:Элемент — это среда разработки, а не язык. Встроенный язык этой среды называется Исполнитель. Разница принципиальная: BSL запускается в Конфигураторе классической платформы, а Исполнитель работает только в облаке или на локальном сервере организации — настольного клиента у 1С:Элемент нет.
Главное отличие от BSL — полноценное ООП: классы, наследование, инкапсуляция, полиморфизм, перегрузка методов. Это делает 1С:Элемент подходящей средой для создания веб-приложений внутри экосистемы 1С.
Типизация в Исполнителе статическая: тип переменной указывается явно — Строка, Число, Булево. Это позволяет обнаруживать ошибки уже на этапе компиляции, а не в момент выполнения программы. Синтаксис Исполнителя лаконичнее, чем у TypeScript или C#, но остаётся в рамках логики экосистемы 1С.
Ограничения Исполнителя: он не выходит за пределы экосистемы 1С; кастомизация пользовательского интерфейса требует JavaScript, HTML и CSS — дополнительный порог для тех, кто пришёл из чисто учётного 1С.
Карьерный путь в этой ветке: 1С:Элемент → 1С:Аналитика (аналитические приложения) → 1С:Шина (шина данных для интеграции систем). Стек молодой, активно развивается компанией «1С», и знание обоих языков — BSL и Исполнителя — уже сейчас становится конкурентным преимуществом.
Оба языка принадлежат экосистеме 1С, но решают разные задачи и формируют разные карьерные траектории.
| Параметр |
BSL (1С:Предприятие) |
Исполнитель (1С:Элемент) |
|---|---|---|
| Назначение | Учётные системы (бухгалтерия, склад, CRM) | Веб-приложения в экосистеме 1С |
| Типизация | Динамическая | Статическая |
| ООП | Ограниченное (только встроенные классы) | Полноценное (классы, наследование, полиморфизм) |
| Синтаксис | Pascal / BASIC | Близко к базовому JavaScript |
| Среда выполнения | Конфигуратор / 1С:Предприятие | Облако или локальный сервер |
| Мобильность | Только экосистема 1С | Только экосистема 1С |
| Зрелость | Более 30 лет, тысячи готовых решений | Молодой продукт, активно развивается |

Войти в профессию через BSL реалистично без профильного образования — язык адаптирован под бизнес-контекст, а не под академическую среду. Вот последовательность, которая работает:
Для тех, кто хочет войти в профессию 1С-программиста за конкретный срок, подходит программа 1С программист от ProfiFuture: ~1,5 месяца онлайн, оплата от 4 × 5 040 ₽ в рассрочку с господдержкой.
Встроенный язык 1С официально называется BSL — Business Script Language. В профессиональном сообществе его также именуют «встроенным языком 1С» или «языком 1С:Предприятие». Разработан компанией «1С», работает исключительно в составе платформы 1С:Предприятие и не существует как самостоятельный продукт.
Да. BSL поддерживает переменные и типы данных, процедуры и функции с параметрами, условные операторы Если-Тогда, циклы и обработку исключений через Попытка-Исключение. Путаница возникает из-за названия: «программа 1С» — это учётный продукт (например, 1С:Бухгалтерия), а BSL — язык, на котором он написан.
По синтаксису BSL напоминает Pascal и BASIC: конструкции Если/Тогда/КонецЕсли. Язык запросов 1С структурно схож с T-SQL. Язык Исполнитель в 1С:Элементе близок к базовому JavaScript. Ни один из них не является точным аналогом — BSL имеет собственную предметную ориентацию на бизнес.
1С:Предприятие — зрелая платформа с языком BSL для учётных систем: бухгалтерия, склад, CRM. 1С:Элемент — среда для веб-приложений с языком Исполнитель. Исполнитель отличается полноценным ООП (классы, наследование) и статической типизацией, тогда как BSL использует динамическую типизацию и имеет ограниченное ООП.
Да. BSL поддерживает двуязычный синтаксис: Процедура / Procedure, Если / If, КонецЦикла / EndDo. Однако в одном проекте оба варианта одновременно не используются. Русскоязычный синтаксис стал де-факто стандартом экосистемы — все типовые конфигурации написаны на русском.
Язык запросов 1С — встроенный декларативный язык для извлечения данных из информационной базы. Структурно схож с T-SQL: ВЫБРАТЬ…ИЗ…ГДЕ. Ключевые отличия: работает только с объектами 1С (справочниками, регистрами), поддерживает виртуальные таблицы (ОстаткиИОбороты) и временные таблицы через ключевое слово ПОМЕСТИТЬ.
Да — 1С остаётся доминирующей учётной системой в России. 1С-разработчики стабильно востребованы на рынке труда. Знакомым с Pascal или BASIC освоить BSL значительно проще. После BSL логичный путь — Исполнитель, 1С:Аналитика, 1С:Шина. Ориентир по доходу: от 70 000 ₽.
Официальный ресурс — 1С:ИТС: документация по платформе, языку и типовым конфигурациям. Бесплатный обучающий дистрибутив с сайта 1С позволяет практиковаться в Конфигураторе без покупки лицензии. Для системного старта с нуля подходит программа 1С программист от ProfiFuture (~1,5 месяца, от 4 × 5 040 ₽, онлайн).
Попытка-Исключение — конструкция обработки ошибок в BSL, аналог try-catch в JavaScript и Python. Структура: Попытка…Исключение…КонецПопытки. Внутри блока Исключение функция ИнформацияОбОшибке() возвращает объект с деталями ошибки. ЗаписьЖурналаРегистрации() логирует событие в системный журнал платформы.
Превратите интерес к теме в новую профессию
Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения
Оставить заявку