Разработка и Конфигурация · 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Установите учебную версию платформы и откройте конфигуратор
- 2Изучите базовые конструкции: переменные, Если, Для, Пока, процедуры и функции
- 3Освойте встроенный язык запросов на простых выборках из справочников
- 4Напишите обработку с проведением документа и движениями по регистру
- 5Проверьте результат через отладчик: точки останова, просмотр значений, стек вызовов
Отладчик конфигуратора — основной инструмент проверки кода. Он позволяет остановить выполнение в любой точке, посмотреть значения переменных и пошагово пройти алгоритм. Это компенсирует отсутствие строгой компиляции: ошибки типов и обращения к несуществующим свойствам проявляются только при выполнении, и отладчик помогает их локализовать.
Чем язык 1С отличается от языков общего назначения
В отличие от Python, Java или C#, язык 1С не существует отдельно от платформы. Нельзя написать на нём программу и запустить её вне среды 1С:Предприятие. Это осознанное ограничение: язык глубоко интегрирован с метаданными конфигурации, механизмами прав доступа, транзакциями и системой компоновки данных.
Объектно-ориентированные возможности ограничены: нет пользовательских классов, наследования и интерфейсов в привычном смысле. Вместо этого разработчик описывает объекты метаданных (документы, справочники), а платформа автоматически создаёт для них объектную модель доступа. Для задач, выходящих за рамки учёта, применяются внешние компоненты, HTTP-сервисы и интеграция с другими системами.
Когда какой подход уместен
Вся бизнес-логика учёта: проведение, расчёты, отчёты. Ограничение — работает только внутри платформы
Выборка и агрегация данных из базы. Не подходит для изменения данных и сложных алгоритмов
Задачи вне учёта: работа с оборудованием, криптография, обмен с внешними системами. Требуют знания других языков
Краткие ответы на частые вопросы
Язык 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, а за пределы платформы язык не выходит.