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

Обучение и Решения · 12 мин

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

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

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

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

С чего начать: платформа и встроенный язык

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

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

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

Порядок освоения фундамента
  1. 1
    Установите учебную версию платформы и создайте пустую конфигурацию
  2. 2
    Изучите типы объектов метаданных и их назначение
  3. 3
    Освойте встроенный язык: коллекции, циклы, работа с датами и строками
  4. 4
    Напишите простой документ с проведением по регистру накопления
  5. 5
    Научитесь пользоваться отладчиком: точки останова, табло, стек вызовов

Язык запросов и СКД — главный инструмент разработчика

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

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

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

Управляемые формы и клиент-серверная модель

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

Главная сложность — разделение кода между клиентом и сервером. Директивы компиляции &НаКлиенте, &НаСервере, &НаСервереБезКонтекста определяют, где выполняется код, а каждый серверный вызов — это обращение к серверу, которое стоит времени. Нужно учиться минимизировать серверные вызовы: например, получать все нужные данные одним вызовом, а не в цикле.

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

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

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

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

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

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

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

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

Что нужно изучить: планы обмена и механизм регистрации изменений, универсальный формат EnterpriseData, правила конвертации данных (КД 2 и КД 3), работу с XML и JSON, HTTP-запросы и HTTP-сервисы, веб-сервисы (SOAP), работу с COM-соединением между базами. На практике чаще всего встречаются REST-подобные обмены через HTTP и обмены файлами в формате CommerceML с сайтами.

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

Способы интеграции: что выбрать

HTTP-сервисы и HTTP-запросы

Универсальный вариант для обмена с сайтами, CRM и внешними API. Требует явной обработки ошибок и контроля доступа

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

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

COM-соединение

Простой способ связать две базы 1С на Windows, но медленный и не работает в Linux и веб-клиенте

Внешние источники данных

Позволяют читать данные напрямую из внешних СУБД, но имеют ограничения по производительности и транзакционности

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

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

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

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

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

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

Запросы
Норма

Пишете запрос с виртуальными таблицами и понимаете, где ставить отборы

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

Все отборы ставите в секции ГДЕ, не знаете про параметры виртуальных таблиц

Формы
Норма

Осознанно выбираете директиву компиляции и минимизируете серверные вызовы

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

Код «как получилось», сервер вызывается в циклах

Типовые
Норма

Дорабатываете через расширения и механизмы БСП

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

Снимаете типовые объекты с поддержки без необходимости

Отладка
Норма

Используете отладчик, замер производительности, журнал регистрации

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

Ищете ошибки методом «закомментировать и посмотреть»

Предметная область: учёт, который нужно понимать

Отличие хорошего программиста 1С от просто кодера — понимание учёта. Без этого невозможно корректно доработать документ или отчёт: нужно знать, что такое дебет и кредит, как работают остатки и обороты, зачем нужны регистры бухгалтерии и как устроен план счетов.

Минимум для разработчика: основы бухгалтерского учёта (проводки, счета, субконто), принципы складского учёта (партии, серии, резервирование), основы расчёта зарплаты (начисления, удержания, НДФЛ) и торговых операций (закупка, продажа, себестоимость). Углубление зависит от направления: для вакансий по ЗУП важнее кадровый учёт, для ERP — производство и планирование.

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

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

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

Итог

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

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

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

Сложно ли войти в 1С-программирование без опыта в IT?

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

Нужно ли знать SQL для работы с 1С?

Для повседневной разработки достаточно языка запросов 1С. Но базовое знание SQL полезно при работе с клиент-серверными базами: анализ планов запросов, поиск проблем производительности, прямые выборки для диагностики. Глубокое знание SQL требуется скорее администраторам и специалистам по оптимизации.

Что выбрать для обучения: конфигуратор или EDT?

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

Какие типовые конфигурации изучать в первую очередь?

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

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

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

Можно ли работать программистом 1С удалённо и на фрилансе?

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