Разработка и Конфигурация · 11 мин
1С-разработчик: что нужно знать и уметь
Что должен знать 1С-разработчик: язык платформы, запросы, СКД, управляемые формы, обмены данными. Навыки, инструменты и путь развития от junior до senior.
1С-разработчик занимается доработкой типовых конфигураций, созданием отраслевых решений и интеграцией учётных систем с внешними сервисами. В отличие от программиста на универсальном языке, он работает внутри платформы «1С:Предприятие», где значительная часть логики уже реализована — задача разработчика состоит в грамотном использовании встроенных механизмов, а не в написании всего с нуля. Поэтому набор необходимых знаний здесь специфичен: встроенный язык, объектная модель, язык запросов, система компоновки данных и понимание предметной области учёта.
Работодатели оценивают 1С-разработчика по трём критериям: умение решать задачи средствами платформы без «костылей», понимание типовых конфигураций (ERP, УТ, БП, ЗУП) и аккуратность при доработке, чтобы обновления не ломали изменения. Ниже разобраны конкретные навыки, которые нужны для трудоустройства и уверенной работы, а также порядок их освоения.
Встроенный язык и объектная модель платформы
Основа профессии — встроенный язык 1С (его иногда называют «языком 1С» или bsl). Синтаксис прост и допускает русскоязычные идентификаторы, но сложность не в синтаксисе, а в понимании контекста исполнения: где выполняется код (клиент или сервер), какие объекты доступны, как работает транзакционность. Разработчик должен уверенно различать директивы компиляции &НаКлиенте, &НаСервере, &НаСервереБезКонтекста и понимать, почему вызов сервера с клиента — это затратная операция.
Второй обязательный блок — объектная модель: справочники, документы, регистры (сведений, накопления, расчёта, бухгалтерии), перечисления, планы видов характеристик, планы обмена, бизнес-процессы. Нужно понимать, чем регистр сведений отличается от регистра накопления, как работают виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних) и почему обращение к ним без отборов приводит к тяжёлым запросам.
Практический минимум, который проверяют на собеседовании: написать проведение документа с движениями по регистру, организовать проверку остатков перед списанием, обработать ошибку через Попытка...Исключение с откатом транзакции. Если эти задачи решаются без подглядываний в синтакс-помощник — база по языку есть.
Язык запросов и работа с данными
Язык запросов 1С похож на SQL, но работает поверх объектной модели и имеет свои особенности: виртуальные таблицы, разделители итогов, конструкции ВЫРАЗИТЬ, ЕСТЬNULL, обращение к полям через точку (что скрыто порождает соединения). Разработчик должен уметь строить запросы с соединениями, группировками, вложенными запросами и временными таблицами, а также пользоваться консолью запросов для отладки.
Критически важно понимание производительности: индексы, параметризованные отборы вместо пост-обработки, передача параметров в виртуальные таблицы, а не фильтрация результата. Частая ошибка новичков — получение остатков по всем номенклатурным позициям с последующим отбором в коде вместо передачи списка товаров параметром в виртуальную таблицу.
Для клиент-серверных баз полезно знать SQL на уровне чтения плана запроса и понимания блокировок: что такое управляемые блокировки в 1С, чем они отличаются от автоматических, почему возникает ошибка «Конфликт блокировки при выполнении транзакции» и как её диагностировать.
СКД и построение отчётов
Система компоновки данных (СКД) — стандартный механизм отчётов в 1С. Разработчик обязан уметь создавать отчёт на СКД без единой строки кода: схема компоновки, наборы данных, связи, ресурсы, параметры, настройки вариантов. Отдельная тема — программная работа со СКД: установка параметров и отборов из кода, вывод в табличный документ, использование внешних наборов данных (объект ВнешниеНаборыДанных) для отчётов по данным, которые сложно получить запросом.
Также нужно знать смежные механизмы: табличный документ и его области, макеты, построитель отчётов (устаревший, но встречается в старых конфигурациях), вывод печатных форм. В типовых конфигурациях печать реализована через механизм БСП, и важно уметь подключать внешние печатные формы и дополнительные отчёты через стандартную подсистему, а не встраивать их в конфигурацию напрямую.
Управляемые формы и интерфейс
Современные конфигурации работают в режиме управляемого приложения, где форма описывается декларативно, а код разделён на клиентский и серверный. Необходимо понимать жизненный цикл формы (ПриСозданииНаСервере, ПриОткрытии, ПередЗаписью), работу с данными формы (ДанныеФормы, реквизиты формы), динамические списки и их настройку, условное оформление.
Типичная задача — добавить на форму документа кнопку с серверной обработкой, колонку в табличную часть с пересчётом итогов, отбор в динамическом списке по параметру. Опытный разработчик при этом минимизирует серверные вызовы: например, пересчёт суммы строки при изменении цены выполняется на клиенте, а не через обращение к серверу.
Доработка типовых конфигураций без потери обновлений
Ключевой практический навык, отличающий 1С-разработчика, — доработка типовой конфигурации так, чтобы она оставалась обновляемой. Современный подход — расширения конфигурации: они позволяют добавлять объекты, переопределять обработчики форм и модули без снятия конфигурации с поддержки. Разработчик должен знать возможности и ограничения расширений: что можно изменять (формы, роли, подсистемы, аннотации обработчиков), а что нет (структуру типовых регистров, последовательность движений).
Когда расширения недостаточно, применяется аккуратная доработка основной конфигурации с соблюдением правил: изменения помечаются комментариями, используются программные интерфейсы БСП (переопределяемые модули, подписки на события), новая логика выносится в собственные общие модули. Это резко упрощает последующее сравнение и объединение при обновлении.
- 1Оценить, решается ли задача расширением — если да, создать расширение и не трогать основную конфигурацию
- 2Проверить наличие переопределяемого модуля БСП или подписки на событие под задачу
- 3Если нужна правка типового модуля — вынести код в собственный общий модуль и оставить минимальный вызов с комментарием
- 4Протестировать доработку на копии базы, включая сценарии обмена и отчётности
- 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 и код-ревью
Среда на базе 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. Знание обоих инструментов делает кандидата сильнее, поскольку на проектах встречаются оба подхода.