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

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

Как называется язык программирования 1С и что он собой представляет

Язык программирования 1С называется встроенным языком 1С:Предприятия. Разбираем его особенности, синтаксис, отличия от других языков и с чего начать изучение.

Язык программирования, на котором пишут код в системе 1С, официально называется встроенный язык 1С:Предприятия (в документации также встречается термин «встроенный язык платформы»). В профессиональной среде его часто называют просто «язык 1С», «язык конфигуратора» или «1С-скрипт». Отдельного короткого имени вроде Python или Java у него нет — это самостоятельный язык, существующий только внутри платформы 1С:Предприятие.

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

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

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

В официальной документации фирмы «1С» используется термин «встроенный язык» (1C:Enterprise script в англоязычных материалах). Слово «встроенный» здесь ключевое: язык встроен в платформу и не существует отдельно от неё. Программисты в повседневном общении говорят «код на 1С», «модуль на встроенном языке», реже — «1С-скрипт».

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

Ключевые особенности встроенного языка

Самая известная особенность — двуязычный синтаксис. Все ключевые слова, операторы и встроенные функции имеют русский и английский варианты: Если и If, Цикл и Do, Сообщить() и Message(). В одном модуле можно смешивать оба варианта, хотя на практике так делать не принято. Русский синтаксис снижает порог входа для специалистов без классического программистского образования.

Другие важные характеристики языка:

  • Динамическая типизация — тип переменной определяется значением в момент присваивания, объявлять тип заранее не нужно.
  • Слабая типизация — многие преобразования выполняются неявно, что удобно, но требует аккуратности при сравнении значений разных типов.
  • Регистронезависимость — имена переменных и ключевые слова можно писать в любом регистре.
  • Встроенные прикладные типы — документы, справочники, регистры, перечисления доступны как полноценные типы языка, а не как внешние библиотеки.
  • Разделение контекстов — код делится на клиентский и серверный, с директивами компиляции &НаКлиенте и &НаСервере.

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

Как выглядит код: пример простой процедуры

Типичный фрагмент кода на встроенном языке — обработчик события или процедура в модуле. Например, функция, рассчитывающая сумму с НДС:

Функция РассчитатьСуммуСНДС(Сумма, СтавкаНДС) Экспорт

Если СтавкаНДС = 0 Тогда

Возврат Сумма;

КонецЕсли;

СуммаНДС = Сумма * СтавкаНДС / 100;

Возврат Сумма + СуммаНДС;

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

Код пишется в конфигураторе — среде разработки, входящей в состав платформы. Редактор кода поддерживает подсветку синтаксиса, контекстную подсказку, шаблоны кода и синтакс-помощник — встроенную справку по всем методам и свойствам объектов платформы.

Язык запросов 1С — второй язык платформы

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

Язык запросов 1С имеет собственные расширения по сравнению с классическим SQL: виртуальные таблицы регистров (остатки, обороты, срезы), итоги по иерархии, разделители, представления ссылок. Текст запроса обычно хранится в коде как строка и передаётся объекту Запрос.

КритерийВстроенный языкЯзык запросов
НазначениеАлгоритмы и бизнес-логикаВыборка и группировка данных
СтильИмперативный (процедурный)Декларативный, близкий к SQL
Изменение данныхДа, через объектыНет, только чтение
Где пишетсяМодули конфигурацииСтроки в коде, консоль запросов, СКД

Где именно размещается код в конфигурации

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

  • Общие модули — библиотеки процедур и функций, доступные из любого места конфигурации.
  • Модули объектов — обработчики событий справочников, документов (перед записью, при проведении).
  • Модули форм — логика интерфейса: реакция на нажатия кнопок, изменение полей.
  • Модуль приложения и модуль сеанса — инициализация при запуске системы.
  • Модули менеджеров и команд — обработка команд интерфейса, печатные формы.
Как открыть и посмотреть код в конфигураторе
  1. 1
    Запустите конфигуратор и откройте нужную информационную базу.
  2. 2
    В дереве конфигурации найдите объект, например документ.
  3. 3
    Щелкните правой кнопкой и выберите «Открыть модуль объекта» или откройте форму и её модуль.
  4. 4
    Для поиска по всему коду используйте «Правка → Глобальная замена» или поиск по конфигурации.
  5. 5
    Проверьте синтаксис через «Конфигурация → Проверка конфигурации».

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

Сравнение с популярными языками помогает понять нишу встроенного языка. Он не конкурирует с Java или C# — у него другая задача: максимально быстро описывать учётную логику в терминах предметной области.

Сравнение с другими языками

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

Заточен под учётные задачи, прикладные типы встроены в язык, но работает только внутри платформы и не подходит для задач вне 1С.

Python / C# / Java

Универсальные языки с богатой экосистемой; для учётных задач потребуется писать всю инфраструктуру самостоятельно или интегрироваться с 1С извне.

SQL

Стандарт работы с базами данных; язык запросов 1С похож на него, но дополнен виртуальными таблицами и прикладными конструкциями.

Практическое следствие: навыки встроенного языка плохо переносятся на другие платформы, и наоборот — опытный разработчик на C# не сможет сразу эффективно писать на 1С, потому что главная сложность не в синтаксисе, а в знании объектной модели платформы: как устроены регистры, движения документов, механизмы проведения.

С чего начать изучение языка 1С

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

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

Основной справочный инструмент — синтакс-помощник, встроенный в конфигуратор (открывается через меню «Справка» или по Ctrl+F1 на имени метода). Он содержит описание всех объектов, методов и свойств платформы с примерами. Дополнительно полезны официальные учебные курсы и документация на портале 1С.

Типичные ошибки новичков
01
Обход данных в цикле вместо запроса — код работает медленно и плохо масштабируется на больших объёмах.
02
Игнорирование разделения клиент/сервер — вызов серверных методов с клиента приводит к ошибкам исполнения.
03
Смешивание русского и английского синтаксиса в одном модуле — код трудно читать и поддерживать.
04
Изменение типовой конфигурации без расширения — обновления становятся трудоёмкими и рискованными.

Расширения и внешние компоненты: границы языка

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

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

Итог

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

Язык программирования 1С называется встроенным языком 1С:Предприятия. Он работает только внутри платформы, имеет русский и английский синтаксис и дополняется языком запросов, похожим на SQL. Код размещается в модулях конфигурации, а изучение стоит начинать с базового синтаксиса и синтакс-помощника.

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

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

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

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

Напрямую внутри платформы — нет, прикладной код пишется только на встроенном языке. Но внешние системы на любом языке могут взаимодействовать с 1С через HTTP-сервисы, веб-сервисы, файловый обмен или COM-соединение.

Сложно ли выучить встроенный язык 1С?

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

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

Язык запросов 1С синтаксически похож на SQL, но работает не с физическими таблицами базы, а с прикладными объектами и виртуальными таблицами (остатки, обороты, срезы последних). Платформа сама транслирует запрос в SQL конкретной СУБД.

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

Ядро платформы написано преимущественно на C++. Прикладной разработчик с этим кодом не сталкивается — вся работа ведётся на встроенном языке в конфигураторе.

Что такое OneScript и как он связан с языком 1С?

OneScript — независимый открытый интерпретатор, реализующий синтаксис встроенного языка 1С вне платформы. Его используют для скриптов автоматизации, сборок и DevOps-задач в экосистеме 1С. Это сторонний проект, а не продукт фирмы «1С».