Работа программиста 1С изнутри: от заявки бухгалтера до обновления базы

· 10 мин

Содержание

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

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

Чем занят программист 1С в течение дня

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

Примерное распределение задач у штатного специалиста:

Тип задачиЧто делаетДоля времени (ориентир)
📝 Разбор заявок и постановкаВыясняет, что нужно, пишет ТЗ15–25%
🛠 РазработкаОтчёты, обработки, доработка документов30–40%
🐞 Ошибки и отладкаРазбирает сбои, неверные движения15–20%
⚡ ПроизводительностьМедленные отчёты, блокировки5–10%
🔄 Обновления и администрированиеРелизы, копии, права, обмены10–15%
💬 КонсультацииОбъясняет, как сделать в программе10–15%

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

Типичный набор задач за неделю:

  • 📊 отчёт по продажам в разрезе менеджеров и складов;
  • 🧾 печатная форма счёта с логотипом и подписью;
  • 🔁 загрузка цен поставщика из Excel;
  • 🐞 «не проводится реализация, пишет про остатки»;
  • 🔄 обновление БП 3.0 и ЗУП 3.1 на свежие релизы;
  • 🔑 новый сотрудник — завести пользователя и права.

Как программист 1С превращает заявку в задачу

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

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

Вопросы, которые задают до начала работы

  1. Какое решение принимает человек по этому отчёту или документу?
  2. Какие данные уже есть в базе, а какие придётся вводить?
  3. Кто будет пользоваться — один бухгалтер или 40 менеджеров?
  4. Как часто: раз в месяц или каждые пять минут?
  5. Как проверить, что результат правильный — с чем сверять?

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

Техническое задание

Для задачи больше чем на день программист фиксирует договорённости письменно. Хватает одной страницы:

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

Последний пункт экономит больше всего споров. Без него «отчёт по долгам» через неделю обрастает выгрузкой в банк и рассылкой по почте.

Перед стартом доработки
Выполнено: 0 / 6

Разработка и доработка конфигураций 1С

Главный принцип современной разработки на 1С 8.3 — не трогать типовую конфигурацию без необходимости. Каждое изменение в ней усложняет обновление.

Расширения вместо снятия с поддержки

С платформы 8.3.6 в 1С есть расширения конфигурации . Программист добавляет свои объекты и меняет поведение типовых, не изменяя саму конфигурацию. Она остаётся на поддержке и обновляется штатно.

Что обычно делают в расширении:

  • ➕ новые отчёты, обработки, справочники;
  • 🧩 дополнительные реквизиты и формы;
  • 🔧 перехват типовых процедур через аннотации &Перед, &После, &Вместо;
  • 🖨 свои печатные формы.

Внешние отчёты и обработки (.erf, .epf) подключают ещё проще: через справочник дополнительных отчётов и обработок, без изменения конфигурации. Так часто распространяют печатные формы и загрузки.

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

Где пишут код

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

В небольших компаниях обычно хватает Конфигуратора и хранилища. В командах от трёх-четырёх разработчиков всё чаще переходят на EDT с Git.

Что программист знает, кроме встроенного языка

  • 🔍 язык запросов: соединения, временные таблицы, виртуальные таблицы регистров;
  • 📐 систему компоновки данных — на ней построены почти все типовые отчёты;
  • 🧱 Библиотеку стандартных подсистем (БСП): права, печать, дополнительные реквизиты, обмены;
  • 🗂 устройство учёта: регистры накопления и сведений, движения документов, план счетов .

Последний пункт часто недооценивают. Программист, который не понимает, что такое Дт 62 Кт 90.01, напишет технически верный, но бесполезный для бухгалтера отчёт.

Отладка кода и поиск ошибок в 1С

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

Порядок разбора

  1. Получить точный текст ошибки. Лучше скриншот окна с подробностями.
  2. Повторить на копии базы под тем же пользователем.
  3. Поставить точку останова в отладчике и пройти код по шагам.
  4. Проверить значения переменных: в Конфигураторе есть окно вычисления выражения (Shift+F9).
  5. Найти причину, исправить, проверить на копии, перенести в рабочую базу.

В клиент-серверном варианте код на сервере отлаживают только при включённой отладке на сервере 1С. Её включает администратор, и это делается при перезапуске службы.

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

Ошибки, которые не про код

Многие «ошибки 1С» к программированию отношения не имеют:

  • 📦 не хватает остатков — проблема последовательности документов, а не программы;
  • 🔐 «Недостаточно прав» — настройка профилей групп доступа;
  • 🌐 сбой обмена — изменился формат или у партнёра другая версия правил;
  • 💾 ошибки после аварийного отключения — нужна проверка и исправление информационной базы.

Опытный специалист сначала исключает эти причины. Это экономит часы поиска в коде того, чего там нет.

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

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

Инструменты замера

  • ⏱ Замер производительности в отладчике — показывает, какие строки кода съедают время;
  • 📜 технологический журнал — включается файлом logcfg.xml, пишет длительные запросы, блокировки, исключения;
  • 🗄 профайлер и планы запросов на стороне СУБД — для MS SQL или PostgreSQL;
  • 📈 Центр управления производительностью из пакета КИП — для крупных внедрений.

Частые причины медленной работы

ПричинаПризнакЧто делают
Запрос в циклеВремя растёт с числом строкОдин запрос до цикла
Обращение к реквизитам через точкуМного мелких запросовПолучают поля в основном запросе
Нет отбора по индексуОтчёт медленный за любой периодДобавляют индекс или меняют условие
Конфликт блокировокОжидание при одновременном проведенииРежим управляемых блокировок, короче транзакции
Не обслуживается СУБДМедленно всё и постепенноРегламентные задания обновления статистики и индексов

Самая частая находка — обращение к базе в цикле. Обработка на 5 000 строк, которая для каждой строки делает отдельный запрос, выполняет 5 000 запросов. Переписанная на один запрос с временной таблицей, она работает в десятки раз быстрее.

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

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

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

Обновление конфигураций

Порядок для типовой базы на поддержке:

  1. Сделать резервную копию: выгрузку .dt или копию базы средствами СУБД.
  2. Проверить, какие релизы нужно пройти: типовые конфигурации обновляют последовательно, промежуточные релизы пропускать можно не всегда.
  3. Обновить копию, проверить ключевые операции.
  4. Обновить рабочую базу в согласованное окно.
  5. Дождаться обработчиков обновления при первом запуске в режиме Предприятие.

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

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

Платформа и сервер

  • 🖥 установка и обновление платформы на клиентах и сервере, номер версии не ниже требуемого конфигурацией;
  • 👥 ведение кластера через консоль администрирования или утилиту rac (например, rac cluster list, rac session list);
  • 💾 регламентное резервное копирование и проверка восстановления;
  • 🔑 пользователи, профили групп доступа, лицензии;
  • 🔁 настройка обменов: между БП и ЗУП, с УТ, с сайтом.

Копия, которую ни разу не пробовали восстановить, — это надежда, а не резервная копия. Хорошая практика — раз в квартал разворачивать копию на тестовом сервере.

Работа с пользователями и поддержка

Программист 1С постоянно общается с людьми, которые не обязаны разбираться в программировании. От этого навыка зависит больше, чем от знания языка.

Как обычно устроена поддержка:

  • 📨 заявки идут через почту, мессенджер или систему учёта задач;
  • 🚦 у каждой есть приоритет: «не можем отгрузить» решают сразу, «хочу кнопку правее» — в плановом порядке;
  • 📚 повторяющиеся вопросы оформляют в короткие инструкции для пользователей;
  • 🗣 перед изменениями в общих справочниках и настройках учёта — согласование с главбухом.

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

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

Как программист 1С учится и растёт

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

Ступени профессии

УровеньЧто умеетТипичные задачи
Стажёр / младшийПростые отчёты и печатные формыДоработки по готовому ТЗ
ПрограммистДоработки документов, обмены, обновленияСамостоятельные задачи средней сложности
ВедущийОптимизация, архитектура, ревью кодаСложные внедрения, наставничество
Архитектор / руководительПроекты из нескольких системРаспределение задач, оценка сроков

Что помогает расти

  • 🎓 сертификация фирмы 1С: «1С:Специалист» по платформе и конфигурациям, затем «1С:Эксперт по технологическим вопросам» для тех, кто идёт в производительность;
  • 📖 стандарты разработки 1С — правила оформления кода и проектирования, по ним проверяют код в командах;
  • 🧪 разбор типового кода: как в БСП устроены печать, права, обработчики обновления;
  • 💼 предметная область: бухгалтерия, зарплата, склад. Программист, который понимает учёт, ценится выше.

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

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

Нужно ли программисту 1С знать бухгалтерию?
Глубоко — не обязательно, но основы нужны: план счетов, проводки, закрытие месяца. Без них сложно понять задачу и проверить результат.
Чем программист 1С отличается от консультанта?
Консультант настраивает типовую программу и учит пользователей, не меняя код. Программист дорабатывает конфигурацию, когда настроек не хватает. У франчайзи эти роли часто совмещены.
Можно ли работать программистом 1С удалённо?
Да, большая часть задач решается через удалённый доступ к копии базы и хранилищу. Очное присутствие нужно реже: при внедрении и обучении пользователей.
Что лучше для старта: франчайзи или штат компании?
У франчайзи больше разных задач и быстрее растёт опыт. В штате глубже погружение в одну базу и учёт конкретного бизнеса. Многие начинают у франчайзи, потом уходят в штат или на фриланс.
Сколько нужно времени, чтобы стать самостоятельным программистом 1С?
Ориентировочно — от полугода до года практики с наставником. Простые отчёты начинают делать через несколько недель, а уверенная работа с обменами и обновлениями приходит позже.