Разработка и Конфигурация · 10 мин
Программист 1С: на каком языке он пишет код
Какой язык программирования использует программист 1С: встроенный язык 1С, синтаксис, запросы, сходства с другими языками и с чего начать изучение.
Программист 1С пишет код на встроенном языке платформы «1С:Предприятие» — его часто называют просто «язык 1С» или «встроенный язык». Это не самостоятельный язык общего назначения вроде Python или C#, а специализированный язык, который работает только внутри платформы 1С и заточен под бизнес-логику: документы, справочники, регистры, отчёты.
Ключевая особенность — код можно писать на русском языке. Ключевые слова, имена встроенных функций и даже синтаксические конструкции имеют русскоязычный вариант: «Если», «Тогда», «КонецЕсли», «Сообщить()». Существует и английский вариант синтаксиса, но в российских компаниях почти весь код пишется по-русски.
Помимо встроенного языка, разработчику 1С приходится работать с языком запросов 1С — он похож на SQL, но адаптирован под объектную модель конфигурации. Знание этих двух языков составляет основу профессии, а общие принципы программирования (переменные, циклы, условия, функции) переносятся из любого другого языка.
Что представляет собой встроенный язык 1С
Встроенный язык 1С — это интерпретируемый язык высокого уровня, созданный специально для описания бизнес-логики прикладных решений. Он не компилируется в машинный код: платформа исполняет его в момент обращения. Это снижает порог входа — не нужно разбираться со сборкой проектов, компиляторами и управлением памятью.
Язык слабо типизирован: тип переменной определяется значением в момент присваивания. Одна и та же переменная может сначала хранить число, а затем строку. Это ускоряет написание кода, но требует внимательности — ошибки типов всплывают только во время выполнения.
Код размещается в модулях — специальных контейнерах, привязанных к объектам конфигурации. У каждого документа, справочника или формы есть свой модуль, а общие алгоритмы выносятся в общие модули. Понимание того, в каком модуле и когда исполняется код, — одна из первых вещей, которую осваивает начинающий разработчик.
Как выглядит код на языке 1С
Синтаксис напоминает классические структурные языки: есть условия, циклы, процедуры и функции. Главное визуальное отличие — русские ключевые слова и обязательное завершение конструкций словами «КонецЕсли», «КонецЦикла», «КонецПроцедуры».
Процедура РассчитатьСкидку(СуммаЗаказа)
Если СуммаЗаказа > 100000 Тогда
Скидка = 10;
ИначеЕсли СуммаЗаказа > 50000 Тогда
Скидка = 5;
Иначе
Скидка = 0;
КонецЕсли;
Сообщить("Скидка: " + Скидка + "%");
КонецПроцедуры
Обратите внимание на детали: операторы завершаются точкой с запятой, строки пишутся в двойных кавычках, сравнение выполняется одинарным знаком «=». Для циклов используются конструкции «Для ... Цикл» и «Для Каждого ... Из ... Цикл», а также «Пока ... Цикл».
Язык запросов 1С — вторая половина профессии
Выборка данных из базы выполняется не циклами по таблицам, а запросами. Язык запросов 1С похож на SQL: есть SELECT, WHERE, соединения таблиц, группировки и итоги. Но работает он не с физическими таблицами СУБД, а с объектами метаданных — справочниками, документами, регистрами.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Продажи.Номенклатура,
| СУММА(Продажи.Количество) КАК Количество
|ИЗ
| РегистрНакопления.Продажи КАК Продажи
|СГРУППИРОВАТЬ ПО
| Продажи.Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();
Писать запросы вручную необязательно: в конфигураторе есть конструктор запроса, который собирает текст визуально. Тем не менее разработчику важно уметь читать и оптимизировать запросы — неграмотный запрос к виртуальным таблицам регистров способен замедлить работу всей базы.
Чем язык 1С отличается от универсальных языков
Сравнение помогает понять, какие навыки переносятся из других языков, а что придётся изучать с нуля:
| Критерий | Встроенный язык 1С | Python / C# / Java |
|---|---|---|
| Область применения | Только внутри платформы 1С | Любые задачи |
| Синтаксис | Русские ключевые слова | Английские ключевые слова |
| Типизация | Динамическая, слабая | Зависит от языка |
| Работа с данными | Объекты конфигурации и запросы | SQL, ORM, файлы |
| Среда разработки | Конфигуратор, EDT | Любые IDE |
| Компиляция | Интерпретация платформой | Компиляция или интерпретация |
Главное отличие концептуальное: в 1С разработчик не создаёт структуры данных с нуля. Справочники, документы и регистры уже описаны в конфигураторе, а код лишь манипулирует ими. Поэтому программист 1С тратит меньше времени на инфраструктуру и больше — на бизнес-логику.
Сравнение вариантов
Достаточно для доработки типовых конфигураций и большинства задач внедрения. Ограничение — невозможность решать задачи за пределами платформы.
Полезно для оптимизации запросов и работы с базами напрямую при диагностике. Прямые изменения в базе SQL запрещены — только чтение для анализа.
Нужен для интеграций, внешних компонентов, веб-сервисов и расширенной аналитики. Актуально для опытных разработчиков и архитекторов.
Где именно пишется код: модули и среда разработки
Разработка ведётся в конфигураторе — встроенной среде платформы, либо в 1C:EDT на базе Eclipse. Код распределяется по типам модулей, и место размещения определяет, где и когда он выполнится.
- Модуль объекта — обработчики событий документа или справочника: проведение, запись, заполнение.
- Модуль формы — логика интерфейса: реакция на нажатия, заполнение полей.
- Общие модули — переиспользуемые процедуры и функции, доступные из любого места.
- Модуль менеджера — операции над коллекцией объектов, например печать или обработка данных.
Тонкий клиент, веб-клиент и сервер исполняют код по-разному: часть модулей работает только на сервере, часть — на клиенте. Директивы компиляции «&НаКлиенте» и «&НаСервере» определяют контекст исполнения, и их неправильное использование — частая причина ошибок у новичков.
С чего начать изучение языка 1С
Для старта не требуется опыт программирования — многие разработчики 1С приходят из бухгалтерии и внедрения. Но базовое понимание алгоритмов заметно ускоряет обучение.
- 1Установите учебную версию платформы 1С:Предприятие и откройте конфигуратор
- 2Изучите структуру метаданных: справочники, документы, регистры, отчёты
- 3Освойте базовый синтаксис: переменные, условия, циклы, процедуры и функции
- 4Научитесь строить запросы через конструктор и читать их текст
- 5Напишите простую обработку: проведение документа с расчётом и выводом отчёта
- 6Изучите механизм расширений, чтобы дорабатывать типовые конфигурации без снятия с поддержки
Проверить прогресс просто: если вы можете самостоятельно добавить в типовую конфигурацию новый реквизит, написать обработчик проведения документа и построить отчёт на СКД — базовый уровень освоен. Дальше идут оптимизация запросов, обмены данными и интеграции.
При изучении чужого кода в типовых конфигурациях пользуйтесь встроенным синтакс-помощником (Ctrl+F1 на любом методе) — он содержит полное описание всех функций языка с примерами и доступен прямо из конфигуратора без интернета.
Нужны ли программисту 1С другие языки
Для большинства задач внедрения и доработки достаточно встроенного языка и языка запросов. Однако смежные технологии расширяют круг доступных задач и повышают ценность специалиста.
- SQL — помогает анализировать данные напрямую в СУБД и понимать, как платформа транслирует запросы.
- JavaScript и HTML — нужны при работе с веб-клиентом, веб-сервисами и публикациями.
- Python или C# — применяются для внешних инструментов, парсинга, интеграционных скриптов.
- OneScript — открытая реализация языка 1С для скриптов автоматизации вне платформы: сборки, тесты, CI.
Выбирая второй язык, ориентируйтесь на задачи: интеграции и DevOps тянут за собой OneScript и SQL, веб-направление — JavaScript, аналитика данных — Python.
Что важно запомнить
Программист 1С пишет на встроенном языке платформы с русскоязычным синтаксисом и использует язык запросов, похожий на SQL. Этих двух языков достаточно для профессиональной работы, а знание SQL, JavaScript или Python открывает дополнительные направления. Все эксперименты с кодом проводите на копии базы, а типовые конфигурации дорабатывайте через расширения.
Частые вопросы
Язык 1С — это настоящий язык программирования?
Да, это полноценный язык с переменными, условиями, циклами, функциями, обработкой исключений и работой с объектами. Его отличие — предметная направленность: он исполняется только платформой 1С и не предназначен для задач за её пределами.
Можно ли писать код 1С на английском?
Да, платформа поддерживает английский вариант синтаксиса и даже смешанный режим. Но в российских компаниях и типовых конфигурациях стандарт — русский синтаксис, поэтому изучать и использовать следует именно его.
Сложно ли освоить язык 1С после Python или JavaScript?
Несложно: базовые конструкции совпадают концептуально, а динамическая типизация привычна. Основное время уйдёт не на синтаксис, а на понимание модели метаданных — справочников, документов, регистров — и контекстов исполнения кода.
Нужно ли знать SQL для работы программистом 1С?
Для стандартных задач достаточно языка запросов 1С, который платформа сама транслирует в SQL. Знание SQL полезно при диагностике производительности и анализе данных напрямую в СУБД, но прямые изменения данных в базе запрещены.
Что такое OneScript и зачем он нужен?
OneScript — независимая реализация интерпретатора языка 1С, работающая вне платформы. На нём пишут скрипты автоматизации: сборку конфигураций, запуск тестов, выгрузку в хранилище. Он полезен опытным разработчикам для выстраивания процессов CI/CD.
Сколько времени нужно, чтобы начать писать код на 1С?
При наличии опыта программирования простые доработки реально делать через несколько недель практики. Без опыта потребуется несколько месяцев регулярных занятий, чтобы уверенно решать типовые задачи: доработку документов, отчётов и печатных форм.