К статье
Практический материал

Разработка и Конфигурация · 11 мин

1С программирование: что это за язык и как он работает

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

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

Главная особенность языка — предметная ориентация. Вместо абстрактных классов разработчик работает с готовыми прикладными объектами: документами, справочниками, регистрами накопления, отчётами. Платформа сама берёт на себя хранение данных, построение форм, проведение документов и работу с СУБД, а программист описывает, что должно происходить с данными при действиях пользователя.

Вторая характерная черта — русскоязычный синтаксис. Ключевые слова можно писать по-русски («Если», «Тогда», «КонецЕсли») или по-английски («If», «Then», «EndIf»), и оба варианта эквивалентны. Это снижает порог входа для бухгалтеров и аналитиков, которые переходят в разработку без классического программистского бэкграунда.

Что представляет собой встроенный язык 1С

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

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

Код в 1С распределяется по модулям: модуль объекта, модуль формы, общий модуль, модуль менеджера. У каждого типа модуля свой контекст исполнения — клиент или сервер. Директивами &НаКлиенте и &НаСервере разработчик указывает, где должна выполняться процедура, что критично для производительности клиент-серверных решений.

Как устроен синтаксис: базовые конструкции

Синтаксис напоминает классические структурные языки. Есть условия, циклы, процедуры и функции, обработка исключений через Попытка ... Исключение ... КонецПопытки. Переменные объявляются явно через Перем или создаются неявно при первом присваивании.

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

Если СуммаПокупки >= 100000 Тогда

Возврат СуммаПокупки * 0.1;

ИначеЕсли СуммаПокупки >= 50000 Тогда

Возврат СуммаПокупки * 0.05;

Иначе

Возврат 0;

КонецЕсли;

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

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

Циклы представлены конструкциями Для ... Цикл, Для Каждого ... Из ... Цикл и Пока ... Цикл. Наиболее частый сценарий — обход выборки результата запроса или табличной части документа.

bsl
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура, Количество ИЗ РегистрНакопления.ОстаткиТоваров.Остатки";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Номенклатура);
КонецЦикла;

Прикладные объекты, с которыми работает язык

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

  • Справочники — условно постоянные списки: номенклатура, контрагенты, сотрудники.
  • Документы — факты хозяйственной деятельности: поступление товара, реализация, начисление зарплаты. Документы проводятся и формируют записи в регистрах.
  • Регистры накопления и сведений — структуры для хранения остатков, оборотов и произвольных данных в разрезе измерений.
  • Отчёты и обработки — инструменты анализа данных и пакетных операций, обычно построенные на системе компоновки данных (СКД).

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

Как выглядит типовая задача разработчика 1С
  1. 1
    Создать или доработать объект метаданных (документ, регистр, отчёт) в конфигураторе
  2. 2
    Написать код в нужном модуле: обработка проведения, обработчики событий формы
  3. 3
    При необходимости построить запрос к данным и настроить отчёт на СКД
  4. 4
    Проверить работу в режиме отладки на копии базы
  5. 5
    Обновить конфигурацию рабочей базы и убедиться в корректности данных

Язык запросов 1С — вторая половина разработки

Кроме встроенного языка, разработчик 1С обязан владеть языком запросов — декларативным диалектом, похожим на SQL, но работающим с объектами метаданных, а не с физическими таблицами. Запросы применяются для выборки данных в отчётах, обработках и при проведении документов.

Ключевые отличия от классического SQL: обращение идёт к регистрам и справочникам по именам метаданных, доступны виртуальные таблицы (остатки, обороты, срезы последних), а соединения и группировки описываются похожим синтаксисом. Платформа сама транслирует запрос в команды конкретной СУБД — MS SQL Server, PostgreSQL, Oracle или файлового варианта.

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

Типичные ошибки начинающих разработчиков 1С
01
Чтение данных в цикле через объекты вместо одного запроса — резкое падение производительности на больших базах
02
Доработка типовой конфигурации напрямую вместо использования расширений — сложности при обновлении
03
Игнорирование разделения клиентского и серверного контекста — ошибки «метод не обнаружен» и лишние вызовы сервера
04
Отладка и эксперименты на рабочей базе без копии — риск повредить учётные данные
05
Отсутствие проверки результата запроса на пустоту перед обходом выборки

Где выполняется код и что такое конфигуратор

Единственная среда разработки — конфигуратор «1С:Предприятие» (для новых проектов также доступна среда 1C:Enterprise Development Tools на базе Eclipse). В конфигураторе разработчик редактирует дерево метаданных, пишет код модулей, конструирует запросы и формы, запускает отладчик с точками останова и просмотром значений переменных.

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

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

КритерийВстроенный язык 1СУниверсальные языки (Python, C#, Java)
Область примененияТолько учётные и бизнес-задачи внутри платформыЛюбые задачи: веб, игры, аналитика, системы
СинтаксисРусский и английский варианты ключевых словАнглоязычный
Работа с даннымиЧерез объекты метаданных и язык запросовЧерез библиотеки, ORM, SQL
ИнтерфейсГенерируется платформой по описанию формСоздаётся вручную или фреймворками
Среда исполненияТолько платформа «1С:Предприятие»ОС, браузер, серверы, мобильные устройства

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

Кому подходит изучение языка 1С

Бухгалтер или аналитик

Низкий порог входа за счёт русского синтаксиса и понятной предметной области; ограничение — навыки слабо конвертируются в другую IT-сферу

Программист с опытом других языков

Быстрое освоение синтаксиса, но придётся изучать специфику платформы: регистры, проведение, СКД, механизмы обмена

Студент без опыта

Реальный спрос на рынке труда и понятные задачи; ограничение — привязка карьеры к одной экосистеме

С чего начать изучение и как проверить результат

Рациональный путь входа: установить учебную версию платформы, пройти базовый курс по конфигурированию (создание справочников, документов, простейшего проведения), затем освоить язык запросов и СКД. Только после этого имеет смысл браться за механизмы обмена, расширения и оптимизацию.

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

Итог

Что важно запомнить

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

Частые вопросы

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

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

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

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

Можно ли писать на 1С по-английски?

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

Чем расширение конфигурации отличается от доработки конфигурации?

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

Нужно ли знать SQL для работы с 1С?

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

Где можно практиковаться в 1С-программировании бесплатно?

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