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

Главный бухгалтер в конце квартала просит список контрагентов, у которых просрочена оплата больше чем на 30 дней, с ответственным менеджером и датой последнего платежа. Готового отчёта с такими колонками в типовой «Бухгалтерии» нет. Можно свести три выгрузки в Excel, можно ждать программиста неделю. А можно за вечер собрать в конфигураторе внешний отчёт, которым потом будет пользоваться весь отдел.
Этот третий путь и есть программирование в 1С в том объёме, который нужен пользователю. О профессии программиста 1С, доработке конфигураций и обновлениях на Учи.Онлайн есть отдельная статья, а здесь речь о навыке для своей работы.
Что пользователь может сделать сам
Самое безопасное и полезное, что доступно человеку без опыта разработки, — внешние отчёты и обработки. Это отдельные файлы с расширениями .erf и .epf: их создают в конфигураторе, а открывают в рабочей базе через меню «Файл» или подключают в раздел дополнительных отчётов и обработок. Типовая конфигурация при этом не меняется, поэтому её обновления проходят как обычно, а если отчёт окажется неудачным, файл просто удаляют.
Внешний отчёт чаще всего строят на СКД: вы пишете запрос, описываете ресурсы и группировки, а оформление, отборы и сортировку пользователь затем настраивает сам. Внешняя обработка нужна, когда требуется действие: заполнить пустой реквизит у сотни договоров, перепровести документы за период, загрузить цены из файла. Здесь уже приходится писать код на встроенном языке, и ошибка стоит дороже: обработка меняет рабочие данные.
Есть и граница. Новое поле в документе или новая кнопка на форме — это уже доработка конфигурации или расширение, и такие изменения нужно согласовывать с тем, кто отвечает за обновления базы. Учтите также, что открывать внешние файлы можно только при наличии соответствующих прав, а их у рядовых пользователей нередко нет.
Учебный пример: просроченная дебиторка с менеджером
Ситуация учебная. Задача — отчёт, в котором для каждого покупателя видны сумма долга по счёту 62.01, число дней просрочки, ответственный менеджер из карточки договора и дата последней оплаты.
Сначала бухгалтер решает, откуда брать данные. Остатки по 62.01 в разрезе контрагентов и договоров даёт виртуальная таблица остатков регистра бухгалтерии. Срок оплаты и менеджер берутся из реквизитов договора (если в вашей базе менеджера ведут там), дата последней оплаты — из оборотов по кредиту 62.01. Всё это собирается одним запросом с соединениями.
Затем в конфигураторе создаётся внешний отчёт со схемой компоновки, а запрос собирается в конструкторе. В настройках СКД сумма долга объявляется ресурсом, группировка идёт по менеджеру, затем по контрагенту, а отбор «дней просрочки больше 30» выносится в пользовательские настройки, чтобы порог можно было поменять без конфигуратора.
Остаётся проверка. Итог отчёта должен совпасть с оборотно-сальдовой ведомостью по счёту 62.01 на ту же дату. Если главный бухгалтер захочет видеть долг за вычетом полученных авансов, придётся добавить счёт 62.02, и здесь легко ошибиться со знаком: аванс уменьшает задолженность, а не увеличивает её.
Почему отчёт, быстрый на учебной базе, тормозит на рабочей
Новички учатся на демонстрационных базах, а часто на бесплатной версии платформы для обучения программированию. У неё есть жёсткие ограничения: не больше 2000 записей в главных таблицах и наборах записей, 1000 строк в табличных частях, один сеанс, нет клиент-серверного режима. Для учёбы этого хватает, но на таких объёмах любой код работает быстро, и две типичные ошибки остаются незаметными.
Первая — запрос внутри цикла. Логика кажется естественной: перебрать контрагентов и для каждого запросить его договоры. В системе стандартов разработки фирмы «1С» этому посвящён отдельный документ — стандарт № 436 «Многократное выполнение однотипных запросов». Он рекомендует получать однотипные данные одним запросом: через условие «В» с массивом параметров, через «ОБЪЕДИНИТЬ ВСЕ» или пакет запросов. Неправильный пример там — цикл по банкам с запросом счетов на каждой итерации. Если в базе тысяча контрагентов, такой цикл обратится к базе данных тысячу раз вместо одного.
Вторая ошибка менее заметна: обращение к реквизиту через точку от ссылки. Выражение вида «Договор.Менеджер» выглядит как чтение одного поля. Однако стандарт № 496 «Чтение отдельных реквизитов объекта из базы данных» предупреждает: такое обращение, как и вызов ПолучитьОбъект, загружает из базы весь объект целиком, вместе с табличными частями. В цикле по строкам отчёта это означает скрытое чтение целого договора на каждой строке. Стандарт советует брать нужные поля прямо в запросе или вызывать функции ЗначениеРеквизитаОбъекта и ЗначенияРеквизитовОбъекта из библиотеки стандартных подсистем.
При этом стандарт № 436 не догма. В нём прямо перечислены случаи, когда серию запросов допустимо оставить: единый запрос получается заметно сложнее, производительность падает из-за виртуальных таблиц, данные обрабатываются порциями при групповых операциях и загрузках. Практический вывод для пользователя простой: проверяйте свой отчёт или обработку на копии рабочей базы за полный год, а не только на учебных данных, и засекайте время.
В каком порядке осваивать навык
До конфигуратора нужно уверенно знать учёт в той программе, с которой вы работаете: какие документы что проводят, где хранятся остатки, чем регистр бухгалтерии отличается от регистра накопления. Без этого запрос будет синтаксически правильным и по смыслу неверным.
Дальше порядок примерно такой. Сначала объекты метаданных: справочники, документы, регистры, реквизиты и табличные части. Затем язык запросов — выборка, соединения, группировка, виртуальные таблицы остатков и оборотов. Потом СКД: ресурсы, группировки, параметры, пользовательские настройки. И только после этого встроенный язык для обработок: переменные, циклы, условия, работа с объектами и транзакциями. При таком порядке первые полезные отчёты появляются раньше, чем приходится писать код.
Для упражнений хватит учебной платформы и небольшой базы, собранной самостоятельно. Три задачи по нарастающей: отчёт о продажах по месяцам; тот же отчёт с отбором, который пользователь меняет сам; обработка, которая заполняет пустой реквизит у выбранных элементов справочника. Последнюю проверяйте только на копии базы.
Тем, кому нужна структурированная программа с проверкой заданий, подойдёт онлайн-курс «1С-программист» от Skillbox. По обзору на Учи.Онлайн, программа рассчитана на 4 месяца до первого рабочего уровня или на 8 месяцев целиком, состоит из трёх уровней — от справочников, запросов и СКД до расширений и обменов данными — и включает 230 часов практики. Среди адресатов прямо названы бухгалтеры, кадровики и пользователи платформы.
Где новички ошибаются
Самая частая ошибка — обработка, которая записывает данные без проверки. Лучше, если обработка сначала показывает список будущих изменений и только потом их применяет.
Вторая ошибка — отчёт, который считает правильно только на одну дату, потому что период виртуальной таблицы задан константой, а не параметром. Третья — внешний файл без описания: через год никто не помнит, какие данные он меняет.
Если хочется разобраться в предметной части глубже, чем даёт короткая программа, стоит посмотреть курс «1С-разработчик» от TeachMeSkills. По обзору, он длится 3,5 месяца (112 академических часов), включает блоки по объектам конфигурации, языку запросов, бухгалтерскому учёту и расчёту зарплаты, обменам данными и подготовке к экзамену «1С:Специалист», а в числе адресатов называет бухгалтеров, кадровиков и сотрудников склада.
Как навык влияет на доход
Надёжной статистики о надбавке бухгалтерам «за умение писать отчёты в 1С» мы не нашли. Навык работает иначе. Бухгалтер, который сам закрывает мелкие доработки, экономит компании часы программиста и берёт на себя задачи, которые раньше уходили подрядчику: сверки, контрольные отчёты, массовые исправления. В небольших компаниях из таких людей со временем вырастает ответственный за базу 1С, и эта роль уже оплачивается отдельно.
Второй путь — переход в разработку. Для ориентира: по отчёту Хабр Карьеры о зарплатах за первое полугодие 2026 года медиана программистов 1С составила 272 000 ₽ в Москве, 198 000 ₽ в Санкт-Петербурге и 174 000 ₽ в регионах. Это фактические зарплаты из калькулятора (всего в исследовании 45 226 анкет), а не предложения в вакансиях, и медианы охватывают все уровни опыта. Бухгалтер с навыком программирования сразу на эти суммы не выйдет, но переход у него короче, чем у новичка без знания учёта.
Свои перспективы проверяйте по вакансиям своего региона с фильтром по опыту: смотрите медиану, а не среднее, и уточняйте, указана сумма до вычета налога или на руки.
Как выбрать обучение
Прежде чем платить, проверьте три вещи. Первая — будет ли практика в типовой конфигурации, а не только в учебной, собранной с нуля: пользователю важнее уметь писать запросы к «Бухгалтерии» или «Управлению торговлей», чем проектировать свою систему. Вторая — есть ли в программе СКД: для задач пользователя это главный инструмент. Третья — кто проверяет задания и насколько подробно.
Для тех, кто готов учиться долго и, возможно, сменить профессию, подойдёт программа «Профессия 1С-программист» от Skillfactory. По обзору, это 455 академических часов в трёх модулях — основы конфигурирования, бухгалтерские задачи с регистрами и СКД, продвинутая разработка с интеграциями — при 398 часах практики. В обзоре курс рекомендован в том числе бухгалтерам и экономистам, работающим в 1С, с оговоркой, что учёба займёт около года.
Если задача — дописывать отчёты для своего отдела, длинная программа может оказаться избыточной: хватит модулей по запросам и СКД. Если же вы допускаете переход в разработку, выбирайте курс с проектами для портфолио.
Сравнить школы удобнее в рейтинге онлайн-школ по разработке на 1С: в нём собраны программы для будущих программистов, поэтому смотрите на то, какие модули можно пройти выборочно.
Начать можно уже сегодня, без оплаты: скачайте учебную версию платформы и повторите на небольших данных отчёт, который вы сейчас делаете в Excel. Если через пару вечеров он заработает и сойдётся с ручным расчётом, навык вам подходит.