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

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

Что должен знать 1С-разработчик: практический список навыков

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

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

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

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

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

Основа профессии — встроенный язык (по сути, русскоязычный диалект с синтаксисом, близким к классическим языкам). Нужно свободно работать с примитивными типами, структурами, соответствиями, массивами, таблицами значений и деревьями значений. Отдельно — понимать разницу между серверным и клиентским контекстом исполнения, директивами компиляции &НаСервере, &НаКлиенте, &НаСервереБезКонтекста.

Второй пласт — объектная модель: справочники, документы, регистры (сведений, накопления, бухгалтерии, расчёта), планы обмена, перечисления. Разработчик должен понимать, чем ссылка отличается от объекта, как работают подчинённые справочники, предопределённые элементы и механизм проведения документа с движениями по регистрам.

Ключевой навык — понимание жизненного цикла документа: события ПередЗаписью, ПриЗаписи, ОбработкаПроведения, ОбработкаПроверкиЗаполнения. Большинство доработок в типовых конфигурациях делается именно через подписки на эти события, а не через прямое изменение модулей.

Язык запросов и СКД

Язык запросов 1С похож на SQL, но имеет свои особенности: виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних), разыменование полей через точку, соединения и пакетные запросы с временными таблицами. Нужно уметь строить запросы с параметрами виртуальных таблиц — это критично для производительности: параметр, заданный в виртуальной таблице, отсекает данные до соединения, а условие в ГДЕ — после.

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

bsl
ВЫБРАТЬ
	Остатки.Номенклатура КАК Номенклатура,
	Остатки.КоличествоОстаток КАК Остаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК Остатки

Частая ошибка новичков — обход выборки запроса с обращением к базе внутри цикла (запрос в цикле) или чтение реквизитов через точку от ссылки, что порождает десятки неявных запросов. Такой код работает на тестовой базе и «умирает» на реальной.

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

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

Важно осознавать стоимость серверных вызовов: каждый вызов &НаСервере из клиентского обработчика — это сетевой обмен. Код вроде цикла с серверным вызовом на каждой итерации превращает форму в «тормозящую» у удалённых пользователей.

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

Отладка, замер производительности и транзакции

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

Для поиска «тормозов» используют замер производительности в конфигураторе и технологический журнал на сервере. Базовое правило: сначала замер, потом оптимизация. Догадки о том, что «наверное, тормозит запрос», без замера часто ведут не туда.

Транзакции — отдельная тема. Нужно понимать, когда платформа открывает транзакцию сама (проведение документа), когда её нужно открывать явно, и почему нельзя вкладывать НачатьТранзакцию() без проверки ТранзакцияАктивна(). Конфликты блокировок при параллельном проведении — классическая проблема, которую диагностируют по журналу регистрации и техножурналу.

Как искать причину ошибки у пользователя
  1. 1
    Получить точный текст ошибки, скриншот и шаги воспроизведения
  2. 2
    Найти событие в журнале регистрации по пользователю и времени
  3. 3
    Воспроизвести на копии базы под отладчиком
  4. 4
    Сделать замер производительности, если проблема в скорости
  5. 5
    Исправить, проверить на копии и только потом переносить в рабочую базу

Обмены данными и интеграции

Почти в каждой компании 1С обменивается с чем-то: сайтом, CRM, банком, другой базой 1С. Базовый стек: планы обмена и правила конвертации данных (КД 2/3), форматы EnterpriseData и CommerceML, HTTP-сервисы и веб-сервисы, работа с JSON и XML через встроенные средства (ПрочитатьJSON, ЗаписатьJSON).

Для интеграций с внешними API нужно уметь выполнять HTTP-запросы из 1С (HTTPСоединение, HTTPЗапрос), обрабатывать коды ответов и ошибки сети, организовывать повторные попытки и журналирование обмена. Регламентные задания — стандартный способ запускать обмены по расписанию.

Обновление типовых конфигураций и расширения

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

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

Расширение или изменение типовой

Расширение конфигурации

Подходит для большинства доработок: отчёты, обработки, дополнительные реквизиты, переопределение обработчиков. Обновление типовой остаётся простым. Ограничение: не всё можно изменить через расширение.

Изменение типовой конфигурации

Оправдано, когда изменения глубокие и расширение не покрывает сценарий. Минус: каждое обновление требует ручного сравнения и риска потери доработок.

Внешние отчёты и обработки

Лучший вариант для отчётов и разовых операций — вообще не трогают конфигурацию и подключаются через механизм дополнительных отчётов и обработок.

Предметная область и смежные знания

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

Из смежных технологий чаще всего требуются: SQL (чтение планов запросов, понимание индексов на уровне MS SQL или PostgreSQL), основы администрирования кластера 1С, COM/OLE-интеграции, работа с файлами Excel и форматом табличных документов.

Итог

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

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

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

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

Строго — нет, но знание SQL практически обязательно для работы с производительностью, а базовый JavaScript или Python помогает в интеграциях и переходе на EDT. Главная специфика — платформа 1С, и глубина в ней ценится выше ширины стека.

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

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

Нужны ли сертификаты 1С для трудоустройства?

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

Что такое EDT и нужно ли переходить с конфигуратора?

1C:Enterprise Development Tools — среда разработки на базе Eclipse с поддержкой Git, статического анализа и командной работы. Для одиночных доработок достаточно конфигуратора, но в командах и на крупных проектах EDT становится стандартом, поэтому освоить его базовые сценарии стоит.

Как проверить свой уровень самостоятельно?

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

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

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