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

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

Язык 1С: на основе какого языка он создан

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

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

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

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

На каком языке написана сама платформа 1С

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

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

Что язык 1С взял от BASIC и Pascal

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

От Pascal язык унаследовал блочную структуру: процедуры и функции с явными границами «Процедура…КонецПроцедуры», структурные операторы с закрывающими словами вместо фигурных скобок. Точка с запятой завершает оператор, как в Pascal, однако в конструкциях вроде «КонецЕсли» она обязательна, что часто становится источником ошибок у новичков.

Ключевые характеристики языка 1С

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

ХарактеристикаЗначениеПрактическое следствие
ТипизацияДинамическая, слабаяТип переменной определяется значением; ошибки типов выявляются при выполнении
ИсполнениеИнтерпретация платформойБыстрая отладка, но медленнее компилируемых языков на вычислениях
СинтаксисРусский и английскийОдин модуль может содержать оба варианта ключевых слов
Объектная модельОграниченная, предметнаяНет наследования классов; объекты задаются метаданными конфигурации
Запросы к даннымВстроенный язык запросов (подобие SQL)Данные выбираются декларативно, без ручных циклов по таблицам

Отдельно стоит язык запросов 1С. Он построен по образцу SQL, но адаптирован под объектную модель конфигурации: вместо таблиц и JOIN по внешним ключам используются документы, справочники и регистры с виртуальными таблицами итогов. Знание SQL заметно облегчает освоение запросов в 1С, хотя полной совместимости нет.

Русский или английский синтаксис: что выбрать

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

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

Как проверить свои знания и начать писать код

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

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

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

Типичные ошибки начинающих
01
Считать язык 1С диалектом SQL и писать логику циклами вместо запросов — код работает медленно и плохо читается
02
Опираться на динамическую типизацию и не проверять тип значения перед операцией — ошибки всплывают в рабочей базе у пользователей
03
Копировать фрагменты кода из разных источников со смешанным синтаксисом — модуль становится трудным для сопровождения
04
Игнорировать контекст исполнения (клиент или сервер) — код, работающий в отладке, падает в реальном режиме

Чем язык 1С отличается от языков общего назначения

В отличие от Python, Java или C#, язык 1С не существует отдельно от платформы. Нельзя написать на нём программу и запустить её вне среды 1С:Предприятие. Это осознанное ограничение: язык глубоко интегрирован с метаданными конфигурации, механизмами прав доступа, транзакциями и системой компоновки данных.

Объектно-ориентированные возможности ограничены: нет пользовательских классов, наследования и интерфейсов в привычном смысле. Вместо этого разработчик описывает объекты метаданных (документы, справочники), а платформа автоматически создаёт для них объектную модель доступа. Для задач, выходящих за рамки учёта, применяются внешние компоненты, HTTP-сервисы и интеграция с другими системами.

Когда какой подход уместен

Встроенный язык 1С

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

Язык запросов 1С

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

Внешние компоненты и интеграции

Задачи вне учёта: работа с оборудованием, криптография, обмен с внешними системами. Требуют знания других языков

Краткие ответы на частые вопросы

Язык 1С — это диалект BASIC?

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

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

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

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

Не обязательно, но полезно. Встроенный язык запросов 1С построен по образцу SQL, поэтому знание SELECT, JOIN и GROUP BY ускоряет освоение. Однако запросы 1С работают с объектами конфигурации, а не с физическими таблицами, и имеют свои особенности.

Компилируется ли код 1С?

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

Подойдёт ли язык 1С как первый язык программирования?

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

На чём написана сама платформа 1С?

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

Итог

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

Язык 1С — самостоятельная разработка, а не производная от другого языка; по стилю он близок к BASIC и Pascal. Синтаксис двуязычный, типизация динамическая, исполнение — интерпретацией платформой. Для работы с данными используется встроенный язык запросов, похожий на SQL, а за пределы платформы язык не выходит.