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

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

Что нужно знать разработчику 1С: навыки, инструменты и практики

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

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

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

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

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

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

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

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

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

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

Ключевой навык — правильная работа с виртуальными таблицами: параметры (период, отбор) нужно передавать в саму виртуальную таблицу, а не фильтровать результат в секции ГДЕ. Фильтрация после выборки заставляет платформу сначала прочитать лишние данные, что на больших регистрах даёт кратное замедление.

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

Как сделать отчёт на СКД
  1. 1
    Создайте отчёт, откройте основную схему компоновки данных
  2. 2
    Напишите запрос набора данных с параметрами виртуальных таблиц
  3. 3
    На закладке «Ресурсы» отметьте суммируемые поля
  4. 4
    Настройте вариант отчёта: группировки, отборы, порядок
  5. 5
    Проверьте отчёт на данных с пустыми периодами и отсутствующими остатками

Типовые механизмы и учётная логика

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

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

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

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

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

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

Способы интеграции

Планы обмена и правила конвертации

Подходят для регулярной синхронизации между базами 1С. Ограничение: сложная настройка правил при нестандартных структурах.

HTTP/REST-сервисы

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

Файловый обмен (XML, CSV, JSON)

Простой вариант для разовых загрузок и систем без API. Ограничение: нет гарантии доставки и версионности, много ручного контроля.

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

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

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

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

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

Отладчик платформы умеет больше, чем точки останова: условные точки, отладка фоновых заданий, отладка на сервере, замеры производительности. Умение подключиться к фоновому заданию или к сеансу веб-сервиса экономит часы при разборе «не воспроизводится у меня». Замер производительности показывает, какие строки кода и запросы занимают время — это первый инструмент при жалобах на «медленно работает».

По производительности запросов нужно знать базовые правила: избегать запросов в цикле, не использовать СОЕДИНЕНИЕ по таблице значений без индексации, осторожно работать с виртуальными таблицами без параметров, следить за неявным приведением типов в условиях. Для тяжёлых случаев полезно уметь читать план запроса на уровне СУБД (MS SQL, PostgreSQL) и понимать роль индексов.

Качество кода поддерживается стандартами разработки фирмы «1С» и инструментами проверки (например, EDT с встроенными проверками). Следование стандартам именования, структуры модулей и оформления областей делает код читаемым для коллег и упрощает сопровождение.

Контрольные точки

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

Проведение документа
Норма

Движения корректны, остатки сходятся с ожидаемыми

Тревожный признак

Расхождение остатков или лишние записи в регистрах

Отчёт на пустых данных
Норма

Отчёт открывается без ошибок, показывает пустой результат

Тревожный признак

Ошибка деления на ноль или обращения к пустой выборке

Обновление на копии
Норма

Расширение применяется, типовые механизмы работают

Тревожный признак

Конфликты заимствованных методов, падение типовых операций

Права доступа
Норма

Под рядовым пользователем доступны только нужные данные

Тревожный признак

Доработка видна всем или недоступна без административных прав

Смежные навыки и план развития

Помимо платформы, работодатели ценят: основы SQL на уровне СУБД, понимание клиент-серверной архитектуры и кластера 1С, навыки работы с хранилищем конфигурации или Git (через EDT), базовое администрирование — публикация баз, настройка прав, журнал регистрации. Знание технологического журнала помогает диагностировать блокировки и ошибки, которые не видны в отладчике.

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

Итог

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

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

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

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

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

Что учить первым: запросы или встроенный язык?

Начинайте со встроенного языка и объектной модели — без них запросы негде применить. Но переходите к запросам быстро: реальная разработка на 70–80% состоит из выборки и анализа данных, а не из процедурной логики. Хорошая учебная задача — обработка, которая запросом выбирает данные и выводит результат в таблицу значений на форме.

Обязательно ли изучать 1C:EDT или достаточно конфигуратора?

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

Как понять, что доработку нельзя делать расширением?

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

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

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

Сколько времени нужно, чтобы стать junior-разработчиком 1С?

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