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

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

1С-разработчик: что нужно знать и уметь

Что должен знать 1С-разработчик: язык платформы, запросы, СКД, управляемые формы, обмены данными. Навыки, инструменты и путь развития от junior до senior.

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

Работодатели оценивают 1С-разработчика по трём критериям: умение решать задачи средствами платформы без «костылей», понимание типовых конфигураций (ERP, УТ, БП, ЗУП) и аккуратность при доработке, чтобы обновления не ломали изменения. Ниже разобраны конкретные навыки, которые нужны для трудоустройства и уверенной работы, а также порядок их освоения.

Встроенный язык и объектная модель платформы

Основа профессии — встроенный язык 1С (его иногда называют «языком 1С» или bsl). Синтаксис прост и допускает русскоязычные идентификаторы, но сложность не в синтаксисе, а в понимании контекста исполнения: где выполняется код (клиент или сервер), какие объекты доступны, как работает транзакционность. Разработчик должен уверенно различать директивы компиляции &НаКлиенте, &НаСервере, &НаСервереБезКонтекста и понимать, почему вызов сервера с клиента — это затратная операция.

Второй обязательный блок — объектная модель: справочники, документы, регистры (сведений, накопления, расчёта, бухгалтерии), перечисления, планы видов характеристик, планы обмена, бизнес-процессы. Нужно понимать, чем регистр сведений отличается от регистра накопления, как работают виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних) и почему обращение к ним без отборов приводит к тяжёлым запросам.

Практический минимум, который проверяют на собеседовании: написать проведение документа с движениями по регистру, организовать проверку остатков перед списанием, обработать ошибку через Попытка...Исключение с откатом транзакции. Если эти задачи решаются без подглядываний в синтакс-помощник — база по языку есть.

Язык запросов и работа с данными

Язык запросов 1С похож на SQL, но работает поверх объектной модели и имеет свои особенности: виртуальные таблицы, разделители итогов, конструкции ВЫРАЗИТЬ, ЕСТЬNULL, обращение к полям через точку (что скрыто порождает соединения). Разработчик должен уметь строить запросы с соединениями, группировками, вложенными запросами и временными таблицами, а также пользоваться консолью запросов для отладки.

Критически важно понимание производительности: индексы, параметризованные отборы вместо пост-обработки, передача параметров в виртуальные таблицы, а не фильтрация результата. Частая ошибка новичков — получение остатков по всем номенклатурным позициям с последующим отбором в коде вместо передачи списка товаров параметром в виртуальную таблицу.

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

Для клиент-серверных баз полезно знать SQL на уровне чтения плана запроса и понимания блокировок: что такое управляемые блокировки в 1С, чем они отличаются от автоматических, почему возникает ошибка «Конфликт блокировки при выполнении транзакции» и как её диагностировать.

СКД и построение отчётов

Система компоновки данных (СКД) — стандартный механизм отчётов в 1С. Разработчик обязан уметь создавать отчёт на СКД без единой строки кода: схема компоновки, наборы данных, связи, ресурсы, параметры, настройки вариантов. Отдельная тема — программная работа со СКД: установка параметров и отборов из кода, вывод в табличный документ, использование внешних наборов данных (объект ВнешниеНаборыДанных) для отчётов по данным, которые сложно получить запросом.

Также нужно знать смежные механизмы: табличный документ и его области, макеты, построитель отчётов (устаревший, но встречается в старых конфигурациях), вывод печатных форм. В типовых конфигурациях печать реализована через механизм БСП, и важно уметь подключать внешние печатные формы и дополнительные отчёты через стандартную подсистему, а не встраивать их в конфигурацию напрямую.

Управляемые формы и интерфейс

Современные конфигурации работают в режиме управляемого приложения, где форма описывается декларативно, а код разделён на клиентский и серверный. Необходимо понимать жизненный цикл формы (ПриСозданииНаСервере, ПриОткрытии, ПередЗаписью), работу с данными формы (ДанныеФормы, реквизиты формы), динамические списки и их настройку, условное оформление.

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

Доработка типовых конфигураций без потери обновлений

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

Когда расширения недостаточно, применяется аккуратная доработка основной конфигурации с соблюдением правил: изменения помечаются комментариями, используются программные интерфейсы БСП (переопределяемые модули, подписки на события), новая логика выносится в собственные общие модули. Это резко упрощает последующее сравнение и объединение при обновлении.

Порядок безопасной доработки типовой конфигурации
  1. 1
    Оценить, решается ли задача расширением — если да, создать расширение и не трогать основную конфигурацию
  2. 2
    Проверить наличие переопределяемого модуля БСП или подписки на событие под задачу
  3. 3
    Если нужна правка типового модуля — вынести код в собственный общий модуль и оставить минимальный вызов с комментарием
  4. 4
    Протестировать доработку на копии базы, включая сценарии обмена и отчётности
  5. 5
    Смоделировать обновление на тестовой копии и убедиться, что изменения переносятся без конфликтов

Обмены, интеграции и смежные технологии

Большая часть коммерческих задач связана с интеграциями: обмен с сайтом, банком, ЭДО, CRM, складскими системами. Нужно знать механизмы платформы: планы обмена, регистрация изменений, универсальный формат EnterpriseData, конвертацию данных 2.0 и 3.0. Для внешних интеграций — HTTP-запросы и HTTP-сервисы, веб-сервисы (SOAP), работа с JSON и XML, стандарт OData для доступа к данным 1С извне.

Из смежных технологий работодатели чаще всего требуют: SQL (чтение планов запросов, администрирование на базовом уровне), Git и EDT для командной разработки, хранилище конфигураций для классического цикла, основы работы с СУБД (MS SQL Server или PostgreSQL). Знание 1C:EDT постепенно становится стандартом — это среда разработки на базе Eclipse с поддержкой Git, статического анализа и командной работы.

Конфигуратор или EDT

Конфигуратор

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

1C:EDT

Среда на базе Eclipse с нативным Git, проверками качества кода и параллельной разработкой ветками. Требует привыкания и более мощного рабочего места

Предметная область и типовые конфигурации

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

По типовым конфигурациям минимальный набор: устройство одной «большой» конфигурации (ERP, УТ 11 или КА) и одной учётной (БП 3.0 или ЗУП 3.1), знание библиотеки стандартных подсистем (БСП) — именно через её механизмы реализуются подсистемы печати, обменов, прав доступа, версионирования. Понимание архитектуры типовых решений позволяет находить готовые механизмы вместо изобретения своих.

Как выстроить обучение и подтвердить навыки

Рациональный путь освоения: сначала встроенный язык и объектная модель на учебной конфигурации, затем запросы и СКД, далее управляемые формы и расширения, после — обмены и типовые конфигурации. Практика важнее теории: полезно взять учебную конфигурацию «Управление небольшой фирмой» или демо-версии типовых и решать на них реальные задачи — документ с проведением, отчёт на СКД, обмен через план обмена.

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

Итог

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

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

Частые вопросы

Нужно ли знать другие языки программирования для работы 1С-разработчиком?

Для старта достаточно встроенного языка 1С. Но SQL нужен почти сразу при работе с клиент-серверными базами, а базовый JavaScript или Python полезен для интеграций и автоматизации рутинных операций. Это расширение, а не замена основного стека.

Можно ли стать 1С-разработчиком без профильного образования?

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

Что спрашивают на собеседовании на позицию junior 1С-разработчика?

Обычно проверяют базу: различия регистров, написание простого запроса с виртуальной таблицей, проведение документа, работа с управляемой формой, понимание клиент-серверного взаимодействия. Часто дают практическую задачу на 30–60 минут с отладкой в конфигураторе.

Чем расширение конфигурации лучше прямой доработки?

Расширение хранится отдельно от основной конфигурации, поэтому обновление типового релиза проходит без ручного переноса изменений. Это экономит часы работы при каждом обновлении и снижает риск потери доработок. Прямая доработка оправдана только там, где возможностей расширений не хватает.

Насколько важно знание бухгалтерского учёта?

Глубокие знания не обязательны, но понимание базовых сущностей — проводок, остатков, взаиморасчётов, начислений — необходимо. Без этого разработчик не сможет корректно доработать документ или отчёт и будет вынужден постоянно уточнять требования у консультантов.

Стоит ли сразу учиться на EDT или начинать с конфигуратора?

Начинать проще с конфигуратора — он ближе к платформе и быстрее осваивается. EDT имеет смысл подключать при переходе к командной разработке с Git. Знание обоих инструментов делает кандидата сильнее, поскольку на проектах встречаются оба подхода.