Работа программиста 1С изнутри: от заявки бухгалтера до обновления базы
Содержание
Программист 1С пишет код меньше, чем кажется со стороны. Его работа — это цикл: понять, что на самом деле нужно бухгалтеру или складу, найти решение в типовой конфигурации или доработать её, проверить, внедрить без остановки учёта и потом сопровождать. Код — только одна из пяти-шести обязанностей, и часто не самая долгая.
Частое заблуждение — считать, что программист 1С «рисует отчёты». На деле его задачи охватывают анализ требований, разработку, отладку, оптимизацию производительности, обновления платформы и конфигураций, поддержку пользователей. Ниже — как выглядит каждая часть работы на практике, с инструментами и приёмами, без которых специалист не обходится.
Чем занят программист 1С в течение дня
Задачи программиста 1С сильно зависят от места работы. Специалист в штате компании видит одну-две базы годами. Программист у франчайзи или на фрилансе переключается между десятком клиентов за неделю.
Примерное распределение задач у штатного специалиста:
| Тип задачи | Что делает | Доля времени (ориентир) |
|---|---|---|
| 📝 Разбор заявок и постановка | Выясняет, что нужно, пишет ТЗ | 15–25% |
| 🛠 Разработка | Отчёты, обработки, доработка документов | 30–40% |
| 🐞 Ошибки и отладка | Разбирает сбои, неверные движения | 15–20% |
| ⚡ Производительность | Медленные отчёты, блокировки | 5–10% |
| 🔄 Обновления и администрирование | Релизы, копии, права, обмены | 10–15% |
| 💬 Консультации | Объясняет, как сделать в программе | 10–15% |
Цифры — ориентир, не статистика. В конце квартала и года доля консультаций и срочных исправлений резко растёт: бухгалтерия закрывает период, и любой сбой становится срочным.
Типичный набор задач за неделю:
- 📊 отчёт по продажам в разрезе менеджеров и складов;
- 🧾 печатная форма счёта с логотипом и подписью;
- 🔁 загрузка цен поставщика из Excel;
- 🐞 «не проводится реализация, пишет про остатки»;
- 🔄 обновление БП 3.0 и ЗУП 3.1 на свежие релизы;
- 🔑 новый сотрудник — завести пользователя и права.
Как программист 1С превращает заявку в задачу
Заявка почти никогда не равна задаче. Бухгалтер пишет «сделайте отчёт по долгам», а за этим может стоять что угодно: просроченная дебиторка по договорам, сверка с одним контрагентом или выгрузка для банка.
Хороший программист 1С сначала проверяет, нет ли решения в типовой конфигурации. Многое уже есть: отчёты на СКД можно настроить без кода — добавить группировки, отборы, поля. Если пользователь просто не знает о настройке варианта отчёта, доработка не нужна.
Вопросы, которые задают до начала работы
- Какое решение принимает человек по этому отчёту или документу?
- Какие данные уже есть в базе, а какие придётся вводить?
- Кто будет пользоваться — один бухгалтер или 40 менеджеров?
- Как часто: раз в месяц или каждые пять минут?
- Как проверить, что результат правильный — с чем сверять?
Ответ на третий и четвёртый вопрос часто определяет архитектуру. Отчёт, который раз в месяц строит главбух, может работать минуту. Отбор в форме подбора у 40 менеджеров должен открываться мгновенно.
Техническое задание
Для задачи больше чем на день программист фиксирует договорённости письменно. Хватает одной страницы:
- что должно появиться и где (раздел, форма, кнопка);
- входные данные и их источник;
- пример результата — макет таблицы или скриншот из Excel;
- как проверяем: на каком периоде и с каким отчётом сверяем;
- что не входит в задачу.
Последний пункт экономит больше всего споров. Без него «отчёт по долгам» через неделю обрастает выгрузкой в банк и рассылкой по почте.
Разработка и доработка конфигураций 1С
Главный принцип современной разработки на 1С 8.3 — не трогать типовую конфигурацию без необходимости. Каждое изменение в ней усложняет обновление.
Расширения вместо снятия с поддержки
С платформы 8.3.6 в 1С есть расширения конфигурации . Программист добавляет свои объекты и меняет поведение типовых, не изменяя саму конфигурацию. Она остаётся на поддержке и обновляется штатно.
Что обычно делают в расширении:
- ➕ новые отчёты, обработки, справочники;
- 🧩 дополнительные реквизиты и формы;
- 🔧 перехват типовых процедур через аннотации
&Перед,&После,&Вместо; - 🖨 свои печатные формы.
Внешние отчёты и обработки (.erf, .epf) подключают ещё проще: через справочник дополнительных отчётов и обработок, без изменения конфигурации. Так часто распространяют печатные формы и загрузки.
Перехват через &Вместо полностью подменяет типовую процедуру. После обновления типовой код мог измениться, а ваш — нет. Где можно, используйте &Перед и &После.
Где пишут код
| Инструмент | Когда применяют |
|---|---|
| Конфигуратор | Классическая среда, есть в каждой поставке платформы |
| 1C:Enterprise Development Tools (EDT) | Командная разработка, работа с Git, удобный редактор |
| Хранилище конфигурации | Несколько разработчиков в одной базе, захват объектов |
В небольших компаниях обычно хватает Конфигуратора и хранилища. В командах от трёх-четырёх разработчиков всё чаще переходят на EDT с Git.
Что программист знает, кроме встроенного языка
- 🔍 язык запросов: соединения, временные таблицы, виртуальные таблицы регистров;
- 📐 систему компоновки данных — на ней построены почти все типовые отчёты;
- 🧱 Библиотеку стандартных подсистем (БСП): права, печать, дополнительные реквизиты, обмены;
- 🗂 устройство учёта: регистры накопления и сведений, движения документов, план счетов .
Последний пункт часто недооценивают. Программист, который не понимает, что такое Дт 62 Кт 90.01, напишет технически верный, но бесполезный для бухгалтера отчёт.
Отладка кода и поиск ошибок в 1С
Половина работы с ошибками — воспроизвести их. Фраза «не работает » превращается в задачу только после ответов: какой документ, какой пользователь, какой текст ошибки, повторяется ли на копии базы.
Порядок разбора
- Получить точный текст ошибки. Лучше скриншот окна с подробностями.
- Повторить на копии базы под тем же пользователем.
- Поставить точку останова в отладчике и пройти код по шагам.
- Проверить значения переменных: в Конфигураторе есть окно вычисления выражения (
Shift+F9). - Найти причину, исправить, проверить на копии, перенести в рабочую базу.
В клиент-серверном варианте код на сервере отлаживают только при включённой отладке на сервере 1С. Её включает администратор, и это делается при перезапуске службы.
Перезапуск службы сервера 1С обрывает сеансы всех пользователей. Делайте это вне рабочего времени или после предупреждения.
Ошибки, которые не про код
Многие «ошибки 1С» к программированию отношения не имеют:
- 📦 не хватает остатков — проблема последовательности документов, а не программы;
- 🔐 «Недостаточно прав» — настройка профилей групп доступа;
- 🌐 сбой обмена — изменился формат или у партнёра другая версия правил;
- 💾 ошибки после аварийного отключения — нужна проверка и исправление информационной базы.
Опытный специалист сначала исключает эти причины. Это экономит часы поиска в коде того, чего там нет.
Оптимизация производительности базы
Пользователи редко жалуются на скорость прямо. Обычно звучит «1С тормозит», и программист выясняет, что именно: запуск, проведение конкретного документа, один отчёт или всё сразу.
Инструменты замера
- ⏱ Замер производительности в отладчике — показывает, какие строки кода съедают время;
- 📜 технологический журнал — включается файлом
logcfg.xml, пишет длительные запросы, блокировки, исключения; - 🗄 профайлер и планы запросов на стороне СУБД — для MS SQL или PostgreSQL;
- 📈 Центр управления производительностью из пакета КИП — для крупных внедрений.
Частые причины медленной работы
| Причина | Признак | Что делают |
|---|---|---|
| Запрос в цикле | Время растёт с числом строк | Один запрос до цикла |
| Обращение к реквизитам через точку | Много мелких запросов | Получают поля в основном запросе |
| Нет отбора по индексу | Отчёт медленный за любой период | Добавляют индекс или меняют условие |
| Конфликт блокировок | Ожидание при одновременном проведении | Режим управляемых блокировок, короче транзакции |
| Не обслуживается СУБД | Медленно всё и постепенно | Регламентные задания обновления статистики и индексов |
Самая частая находка — обращение к базе в цикле. Обработка на 5 000 строк, которая для каждой строки делает отдельный запрос, выполняет 5 000 запросов. Переписанная на один запрос с временной таблицей, она работает в десятки раз быстрее.
Сначала замер, потом оптимизация. Переписывать код «на глаз» без замера — частая ошибка: время тратится на то, что не было узким местом.
Администрирование и обновление платформы и конфигураций
В небольших компаниях программист 1С одновременно и администратор. В крупных эти роли разделены, но программист всё равно отвечает за конфигурацию.
Обновление конфигураций
Порядок для типовой базы на поддержке:
- Сделать резервную копию: выгрузку
.dtили копию базы средствами СУБД. - Проверить, какие релизы нужно пройти: типовые конфигурации обновляют последовательно, промежуточные релизы пропускать можно не всегда.
- Обновить копию, проверить ключевые операции.
- Обновить рабочую базу в согласованное окно.
- Дождаться обработчиков обновления при первом запуске в режиме Предприятие.
Для конфигурации, снятой с поддержки или сильно доработанной, обновление идёт через сравнение и объединение. Это ручная работа: программист проходит изменения и решает, что брать из нового релиза, а что оставить своё. Здесь видна цена прямых правок типовой конфигурации — обновление растягивается с часа до нескольких дней.
Обновление структуры базы требует монопольного доступа: все пользователи должны выйти. Назначайте обновление на вечер или выходные и предупреждайте заранее.
Платформа и сервер
- 🖥 установка и обновление платформы на клиентах и сервере, номер версии не ниже требуемого конфигурацией;
- 👥 ведение кластера через консоль администрирования или утилиту
rac(например,rac cluster list,rac session list); - 💾 регламентное резервное копирование и проверка восстановления;
- 🔑 пользователи, профили групп доступа, лицензии;
- 🔁 настройка обменов: между БП и ЗУП, с УТ, с сайтом.
Копия, которую ни разу не пробовали восстановить, — это надежда, а не резервная копия. Хорошая практика — раз в квартал разворачивать копию на тестовом сервере.
Работа с пользователями и поддержка
Программист 1С постоянно общается с людьми, которые не обязаны разбираться в программировании. От этого навыка зависит больше, чем от знания языка.
Как обычно устроена поддержка:
- 📨 заявки идут через почту, мессенджер или систему учёта задач;
- 🚦 у каждой есть приоритет: «не можем отгрузить» решают сразу, «хочу кнопку правее» — в плановом порядке;
- 📚 повторяющиеся вопросы оформляют в короткие инструкции для пользователей;
- 🗣 перед изменениями в общих справочниках и настройках учёта — согласование с главбухом.
Половина обращений — не ошибки, а вопросы «как сделать». Короткий ответ с путём в меню или запись экрана на минуту закрывает их быстрее любой доработки. Если вопрос повторяется у трёх разных людей, это сигнал: стоит написать инструкцию или упростить форму.
Отдельная обязанность — объяснять последствия. Бухгалтер просит «просто удалите документ за прошлый квартал». Программист должен сказать, что период закрыт, отчётность сдана, и удаление изменит остатки и суммы в сданной декларации.
Как программист 1С учится и растёт
Платформа и типовые конфигурации меняются каждый год: новые релизы, изменения законодательства, новые форматы отчётности и ЭДО. Программист, который перестал учиться, через пару лет пишет код, который уже не нужен.
Ступени профессии
| Уровень | Что умеет | Типичные задачи |
|---|---|---|
| Стажёр / младший | Простые отчёты и печатные формы | Доработки по готовому ТЗ |
| Программист | Доработки документов, обмены, обновления | Самостоятельные задачи средней сложности |
| Ведущий | Оптимизация, архитектура, ревью кода | Сложные внедрения, наставничество |
| Архитектор / руководитель | Проекты из нескольких систем | Распределение задач, оценка сроков |
Что помогает расти
- 🎓 сертификация фирмы 1С: «1С:Специалист» по платформе и конфигурациям, затем «1С:Эксперт по технологическим вопросам» для тех, кто идёт в производительность;
- 📖 стандарты разработки 1С — правила оформления кода и проектирования, по ним проверяют код в командах;
- 🧪 разбор типового кода: как в БСП устроены печать, права, обработчики обновления;
- 💼 предметная область: бухгалтерия, зарплата, склад. Программист, который понимает учёт, ценится выше.
Самый быстрый способ понять учёт — провести через демо-базу полный месяц: от поступления до закрытия месяца и отчётности. После этого вопросы бухгалтера перестают звучать как иностранный язык.