Разработка и Конфигурация · 11 мин
Какой язык программирования нужно знать для 1С
Какой язык нужен для работы с 1С: встроенный язык 1С, запросы, JavaScript и SQL. Что учить новичку, сколько времени занимает обучение и с чего начать.
Для разработки и доработки конфигураций 1С нужен один основной язык — встроенный язык платформы «1С:Предприятие», который часто называют «язык 1С» или по аналогии «1С-скрипт». Он синтаксически напоминает Pascal и Basic, поддерживает русские и английские ключевые слова и работает только внутри платформы: отдельно скомпилировать программу на нём вне 1С нельзя. Именно этот язык используется в модулях объектов, форм, отчётов и обработок.
При этом одного встроенного языка для уверенной работы недостаточно. Практически любая задача в 1С упирается в выборку данных из базы, поэтому вторым обязательным навыком становится язык запросов 1С — диалект, похожий на SQL, но адаптированный под структуру метаданных конфигурации. Дополнительно в зависимости от задач могут понадобиться SQL, JavaScript, а для интеграций — знание HTTP, JSON и XML.
Ниже разберём, какие именно языки и технологии нужны под разные роли — от пользователя-аналитика до разработчика интеграций, с чего начинать обучение и какие ошибки чаще всего тормозят вход в профессию.
Какие языки реально используются в экосистеме 1С
В экосистеме 1С сосуществует несколько языков и нотаций, и у каждой своя роль. Путаница возникает из-за того, что новички ищут «один правильный язык», а на практике требуется связка из двух-трёх инструментов в зависимости от задачи.
Встроенный язык 1С — это язык бизнес-логики: проведение документов, расчёты, обработчики событий, печатные формы. Язык запросов — язык чтения данных: отчёты, подборы, динамические списки. SQL нужен на уровне СУБД (MS SQL Server, PostgreSQL), когда требуется диагностика производительности или прямой анализ данных. JavaScript встречается в веб-расширениях, мобильных клиентах и при работе с внешними сервисами.
| Язык / технология | Где применяется | Обязательность |
|---|---|---|
| Встроенный язык 1С | Модули, обработчики, бизнес-логика | Обязателен |
| Язык запросов 1С | Отчёты, выборки, динамические списки | Обязателен |
| СКД (схема компоновки данных) | Отчёты без программирования кода | Желательна |
| SQL | Работа с СУБД, оптимизация, диагностика | Для администраторов и опытных разработчиков |
| JavaScript | Веб-клиент, мобильная разработка, интеграции | По необходимости |
| HTTP, JSON, XML | Обмен с сайтами, API, ЭДО | Для интеграционных задач |
Встроенный язык 1С: что это и на что он похож
Встроенный язык 1С — предметно-ориентированный язык, заточенный под учётные задачи. Синтаксис ближе всего к Pascal и Visual Basic: процедуры, функции, условные операторы «Если…Тогда…КонецЕсли», циклы «Для» и «Пока». Ключевая особенность — возможность писать код полностью на русском языке, что снижает порог входа для специалистов без программистского прошлого.
Язык слабо типизирован: одна переменная может последовательно хранить число, строку и ссылку на документ. Это удобно на старте, но требует дисциплины — ошибки типов всплывают только в момент выполнения. Платформа предоставляет богатый набор встроенных типов: справочники, документы, регистры, таблицы значений, структуры и соответствия.
Код размещается в модулях разных видов: модуль объекта, модуль формы, общий модуль, модуль менеджера. Понимание того, где и когда исполняется каждый модуль (на клиенте, на сервере, в контексте объекта), — важнейшая часть освоения языка, и именно здесь новички путаются чаще всего.
Язык запросов 1С и SQL: в чём разница
Язык запросов 1С внешне похож на SQL: те же ключевые слова ВЫБРАТЬ, ИЗ, ГДЕ, СГРУППИРОВАТЬ ПО. Но он оперирует не таблицами базы данных, а объектами метаданных — справочниками, документами, регистрами накопления. Платформа сама транслирует запрос в SQL-диалект конкретной СУБД, поэтому разработчик не заботится о физической структуре хранения.
Особенности языка запросов 1С, которых нет в классическом SQL: виртуальные таблицы (например, «Остатки» и «Обороты» регистров), обращение к реквизитам через точку, иерархические итоги, разрезы периодов. Эти конструкции закрывают типовые учётные задачи буквально несколькими строками.
Классический SQL понадобится, когда вы работаете напрямую с СУБД: анализируете план запроса при тормозах, смотрите блокировки, делаете выгрузки средствами сервера. Писать бизнес-логику на SQL в обход платформы не стоит — это нарушает целостность данных и лишает поддержки при обновлениях.
Что учить под конкретную роль
Набор языков зависит от того, кем вы планируете работать. Универсального «списка для всех» нет, и попытка выучить всё сразу — типичная причина брошенного обучения.
Пользователь или консультант
Для консультанта и внедренца программирование не обязательно, но базовое чтение кода и умение строить отчёты на СКД резко повышают ценность специалиста. Достаточно понимать структуру запросов и уметь пользоваться консолью запросов для проверки данных.
Разработчик конфигураций
Обязательный минимум: встроенный язык, язык запросов, СКД, механизмы расширений конфигураций. Дальше — понимание клиент-серверной архитектуры, управляемых форм, фоновых заданий. Именно эта связка закрывает большинство вакансий «программист 1С».
Специалист по интеграциям
К базовому набору добавляются HTTP-запросы и REST API, форматы JSON и XML, веб-сервисы (HTTP-сервисы и SOAP внутри платформы), механизмы обмена данными и планы обмена. Здесь же полезен JavaScript — для понимания внешних систем, с которыми обменивается 1С.
Сравнение вариантов
Подходит для старта и простых доработок. Ограничение: без языка запросов вы не сможете делать отчёты и эффективные выборки.
Стандартный набор разработчика 1С, закрывает большинство рабочих задач и вакансий.
Нужен для интеграций, высоконагруженных систем и роли ведущего разработчика. Требует заметно больше времени на освоение.
С чего начать обучение: порядок действий
Оптимальная последовательность — от платформы к языку, а не наоборот. Сначала нужно понять, что такое справочник, документ и регистр, и только потом писать код, который с ними работает. Изучение синтаксиса в отрыве от объектов даёт иллюзию знания, которая рассыпается на первой реальной задаче.
Установите учебную версию платформы, разверните демонстрационную конфигурацию и начинайте с малого: создайте собственный справочник, простой документ с проведением, затем отчёт через СКД. Каждый шаг должен заканчиваться работающим результатом, который можно потрогать в режиме предприятия.
- 1Установите платформу и учебную конфигурацию, освойте конфигуратор и режим предприятия
- 2Изучите основные объекты метаданных: справочники, документы, регистры, перечисления
- 3Освойте базовый синтаксис встроенного языка: переменные, условия, циклы, процедуры и функции
- 4Напишите первые обработчики: проведение документа, заполнение по кнопке, проверка данных
- 5Изучите язык запросов и консоль запросов, научитесь делать выборки и соединения
- 6Освойте СКД и постройте несколько отчётов без единой строки кода
- 7Разберитесь с клиент-серверным взаимодействием, директивами компиляции и управляемыми формами
- 8Возьмите реальную задачу: доработка печатной формы, обработка загрузки данных, небольшое расширение
По срокам ориентируйтесь на несколько месяцев регулярной практики до уровня «могу выполнить простую доработку под контролем». Точные сроки зависят от бэкграунда: бухгалтеру проще с предметной областью, программисту из другой сферы — с синтаксисом, но сложнее с учётной логикой.
Самый быстрый способ научиться — разбирать чужой код типовых конфигураций. Откройте обработчик проведения документа в демо-базе, пройдите его отладчиком по шагам и посмотрите, как меняются данные. Один такой разбор даёт больше, чем глава учебника.
Типичные ошибки при выборе и изучении языка
Главная ошибка — начинать с изучения «внешних» языков: Python, C#, Java, полагая, что они пригодятся в 1С напрямую. Внутри конфигурации они не используются. Внешние компоненты и скрипты — нишевые сценарии, и начинать с них бессмысленно.
Вторая ошибка — игнорировать язык запросов и выбирать данные перебором в цикле. Такой код работает медленно и сразу выдаёт новичка. Третья — писать всю логику в модуле формы, не понимая разницы между клиентским и серверным контекстом, из-за чего код падает в тонком или веб-клиенте.
Как проверить, что навык сформирован
Признак того, что язык освоен на рабочем уровне, — вы можете самостоятельно выполнить типовую задачу от постановки до результата: создать или доработать объект, написать проведение, построить отчёт и проверить его на реальных данных. Не «понимаю, что делает код», а «могу написать и отладить сам».
Хорошая самопроверка — отладчик. Если вы уверенно ставите точки останова, смотрите значения переменных, проходите код по шагам и находите причину ошибки без посторонней помощи, базовый уровень достигнут. Дополнительный ориентир — способность пройти сертификацию «1С:Специалист» по платформе: её задачи хорошо отражают реальный набор навыков.
Как проверить уровень владения
Код пишется без подглядывания в справку, движения по регистрам корректны
Код копируется из примеров и не работает при малейшем изменении условий
Отчёт собран на СКД с запросом, параметры и отборы работают
Данные собираются циклом в коде, отчёт тормозит на больших объёмах
Ошибка находится отладчиком за разумное время
Единственный метод — метод тыка и сообщения пользователю
FAQ: частые вопросы о языках для 1С
Можно ли программировать в 1С на английском синтаксисе?
Да, встроенный язык поддерживает оба варианта ключевых слов, их можно даже смешивать, хотя делать этого не стоит. На практике в российских проектах преобладает русский синтаксис, и большинство примеров и типовых конфигураций написаны на нём.
Нужно ли знать программирование, чтобы работать бухгалтером в 1С?
Нет. Пользовательская работа — ввод документов, отчёты, закрытие периода — не требует написания кода. Полезно лишь умение настраивать отчёты через «Изменить вариант отчёта», что программированием не является.
Правда ли, что 1С — это «не настоящее» программирование?
Нет. Разработка в 1С включает проектирование структур данных, оптимизацию запросов, клиент-серверную архитектуру, интеграции и работу с высокими нагрузками. Язык предметно-ориентированный, но задачи — полноценные инженерные.
Сколько времени нужно, чтобы стать junior-разработчиком 1С?
При регулярных занятиях с практикой обычно требуется от нескольких месяцев до полугода, чтобы уверенно выполнять простые задачи. Бэкграунд влияет сильно: опыт в любом другом языке или в учётной сфере заметно ускоряет процесс.
Нужен ли Python или C# для работы с 1С?
Для разработки внутри конфигурации — нет. Они могут пригодиться для смежных задач: парсинга данных, подготовки файлов загрузки, автоматизации рутинных операций вне платформы. Но это дополнение, а не требование.
Что такое расширения конфигурации и нужен ли для них отдельный язык?
Расширения — механизм доработки типовой конфигурации без изменения её кода, что сохраняет возможность автоматического обновления. Язык используется тот же встроенный, отдельного изучения не требуется — нужно лишь понять ограничения механизма.
Что важно запомнить
Для 1С нужен встроенный язык платформы и язык запросов — это обязательный минимум разработчика. SQL, JavaScript и форматы обмена подключаются под интеграции и администрирование. Учите язык сразу на практике, в связке с объектами конфигурации, и не трогайте данные напрямую через SQL.