Разработка и Конфигурация · 9 мин
1С: на чём программировать и какие инструменты выбрать
Разбираем, на каком языке программируют в 1С: встроенный язык, конфигуратор, расширения, EDT, внешние компоненты и интеграции. Практические советы для начинающих.
Разработка в экосистеме 1С строится вокруг собственного встроенного языка платформы, который часто неформально называют «язык 1С» или «1С:Предприятие скрипт». Это высокоуровневый предметно-ориентированный язык: в нём из коробки есть объекты «Документ», «Справочник», «РегистрСведений», запросы к базе данных и механизмы проведения, поэтому типовые учётные задачи решаются в разы быстрее, чем на языках общего назначения.
При этом «программировать в 1С» — не всегда значит писать только на встроенном языке. Реальные проекты включают язык запросов 1С, схемы компоновки данных для отчётов, внешние компоненты на C++ или C#, интеграции через HTTP и веб-сервисы, а иногда и мобильную разработку. Понимание того, какой инструмент для какой задачи предназначен, — главный навык начинающего разработчика.
Ниже разберём, какие языки и среды разработки существуют в экосистеме 1С, чем отличается конфигуратор от EDT, когда достаточно расширения, а когда нужна внешняя обработка, и с чего начать обучение без риска «уронить» рабочую базу.
Встроенный язык 1С:Предприятие — основа всей разработки
Встроенный язык — это то, что имеют в виду, когда говорят «программировать в 1С». Синтаксис напоминает смесь Pascal и BASIC, а ключевая особенность — возможность писать код как на русском, так и на английском языке: операторы Если...Тогда...КонецЕсли имеют английские эквиваленты If...Then...EndIf. В типовых конфигурациях и большинстве проектов используется русский синтаксис.
Язык тесно связан с объектной моделью конфигурации. Вы не создаёте таблицы и классы вручную — вы описываете документы, справочники и регистры в дереве конфигурации, а платформа сама создаёт структуру базы данных и предоставляет программные объекты для работы с ними. Например, обращение Справочники.Номенклатура.НайтиПоКоду("001") — это готовый механизм поиска, а не самописный SQL.
Код располагается в модулях: модуль объекта, модуль формы, общие модули, модуль менеджера. Понимание того, где и когда выполняется каждый модуль (на клиенте, на сервере, в толстом или тонком клиенте), — один из первых порогов входа для новичка.
Язык запросов и СКД: где пишется половина «кода»
Вторая по значимости часть разработки — язык запросов 1С. Он похож на SQL, но работает с объектами конфигурации, а не с физическими таблицами: ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура. Запросы поддерживают соединения, группировки, виртуальные таблицы регистров (остатки, обороты, срез последних) и временные таблицы.
Для отчётов поверх запросов используется система компоновки данных (СКД). Разработчик описывает набор данных и настройки, а пользователь получает гибкий отчёт с отборами, группировками и вариантами без доработки кода. Многие задачи, которые на других платформах потребовали бы программирования интерфейса отчёта, в 1С решаются декларативно в конструкторе СКД.
Частая ошибка новичков — обходные выборки (Выборка.Следующий()) там, где правильнее написать один запрос с соединением. Это приводит к тысячам обращений к базе вместо одного и катастрофической деградации производительности на больших объёмах данных.
Где писать код: Конфигуратор или 1C:EDT
Классический инструмент — Конфигуратор, встроенный в платформу. Он открывает дерево метаданных, редакторы модулей, конструкторы запросов и СКД, отладчик и инструменты обновления конфигурации базы данных. Для большинства доработок типовых конфигураций этого достаточно, а порог входа минимален: поставил платформу — и можно работать.
1C:EDT (Enterprise Development Tools) — среда на базе Eclipse, ориентированная на командную разработку. Она даёт контроль версий через Git из коробки, проверку кода статическим анализом, работу с проектами и более удобную навигацию по большим конфигурациям. EDT хранит конфигурацию в виде файлов, что упрощает слияние изменений от нескольких разработчиков.
Выбор зависит от масштаба: одиночная доработка в небольшой компании проще делается в Конфигураторе, а продуктовая разработка командой с релизным циклом практически требует EDT и Git.
Сравнение вариантов
Подходит для одиночной разработки и поддержки типовых конфигураций. Ограничение — слабые средства командной работы и версионирования
Подходит для командной разработки, хранения кода в Git и статического анализа. Ограничение — требует освоения и больше ресурсов машины
Компромисс для команд на старом стеке: хранилище конфигурации даёт версионирование, но уступает Git в гибкости
Расширения, внешние обработки и отчёты
Не каждая доработка требует изменения конфигурации. Расширение конфигурации позволяет добавить или переопределить объекты и обработчики, не снимая типовую конфигурацию с поддержки, — это критично для сохранения простого обновления. Правило простое: если задачу можно решить расширением, решайте расширением.
Внешние обработки и отчёты (файлы .epf и .erf) — ещё более лёгкий вариант: они открываются в режиме предприятия через «Файл → Открыть» и подходят для разовых загрузок данных, печатных форм, сервисных операций. Для них не нужно ни обновление конфигурации, ни монопольный доступ.
Как выбрать форму доработки
Внешние языки: компоненты, интеграции и мобильная разработка
Когда возможностей встроенного языка не хватает, применяют внешние компоненты по технологии Native API или COM — их пишут на C++ или C#. Типичные сценарии: работа с торговым оборудованием, криптография, специфические протоколы обмена. Это уже нишевые задачи, требующие знания соответствующего языка.
Интеграции с внешними системами чаще всего строятся на HTTP-запросах, REST API, веб-сервисах (SOAP) и очередях сообщений. Со стороны 1С это всё тот же встроенный язык (объекты HTTPСоединение, HTTPЗапрос), но понимание JSON, XML и принципов REST обязательно. В веб-клиенте и при разработке нестандартных интерфейсов может понадобиться JavaScript, а мобильные приложения пишутся на платформе мобильной разработки 1С — снова на встроенном языке.
Как начать обучение без риска для рабочей базы
Для старта достаточно учебной версии платформы и демонстрационной конфигурации — у фирмы «1С» есть бесплатные учебные материалы и книга «Практическое пособие разработчика». Учебная платформа позволяет создавать собственную конфигурацию с нуля: справочники, документы, проведение, отчёты.
Никогда не экспериментируйте в рабочей базе. Правильный порядок: копия базы (файловая копия .dt или копия на тестовом сервере) → доработка и отладка → перенос в рабочую среду. Обновление конфигурации базы данных на рабочей системе без резервной копии — самая частая причина потери данных у начинающих.
- 1Установите учебную платформу и откройте демонстрационную конфигурацию
- 2Изучите дерево метаданных: справочники, документы, регистры
- 3Напишите первый код в модуле объекта и проверьте в отладчике
- 4Освойте конструктор запросов и сделайте отчёт на СКД
- 5Попробуйте создать расширение и внешнюю обработку
- 6Настройте хранение кода в Git или хранилище конфигурации
Частые вопросы
Нужно ли знать другой язык программирования перед изучением 1С?
Нет, встроенный язык 1С вполне подходит как первый. Базовое понимание алгоритмов, циклов и условий помогает, но осваивается параллельно. Знание основ SQL будет заметным плюсом при изучении языка запросов.
Можно ли писать код 1С на английском языке?
Да, платформа поддерживает английский синтаксис встроенного языка, и конфигурация может разрабатываться в двуязычном варианте. На практике в российских проектах преобладает русский синтаксис, а английский используют в международных продуктах.
Чем расширение лучше доработки конфигурации?
Расширение не меняет типовую конфигурацию, поэтому она остаётся на поддержке и обновляется штатно. Доработка основной конфигурации требует ручного переноса изменений при каждом обновлении, что увеличивает стоимость сопровождения.
Что выбрать новичку: Конфигуратор или EDT?
Начинайте с Конфигуратора — он проще и входит в платформу. Переходите на EDT, когда появится потребность в Git, командной работе и статическом анализе кода.
Можно ли интегрировать 1С с сайтом или CRM без сторонних языков?
Да, штатными средствами: HTTP-сервисы, веб-сервисы и планы обмена реализуются на встроенном языке. Сторонние языки нужны только на противоположной стороне интеграции — например, для доработки самого сайта.
Где тренироваться, если нет лицензии 1С?
Используйте учебную версию платформы — она бесплатна и позволяет создавать и отлаживать собственные конфигурации с ограничениями, не мешающими обучению. Дополните её учебными демонстрационными базами.
Что важно запомнить
Программируют в 1С на встроенном языке платформы, дополняя его языком запросов и СКД. Код пишут в Конфигураторе или EDT, доработки предпочтительно делать расширениями и внешними обработками, а любые изменения сначала проверять на копии базы.