Сколько часов съедает рутина: замер, автоматизация и расчёт окупаемости

07.10.26

Разработка - DevOps и автоматизация разработки

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Дневник времени и калькулятор окупаемости
.zip 15,54Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
🚀 DevOps, CI/CD & Архитектура
🎯 О чём это (в трёх тезисах)
🗸Замер рутины дневником времени и расчёт окупаемости.
🗸Шаблон дневника времени на две недели, таблица окупаемости с формулами, чек-лист выбора первой операции.
🗸Дневник и три формулы дают срок окупаемости операции в месяцах - по нему и выбирается первая автоматизация.
🧪 Отчёт о тестировании файла-компаньона
Архив07.4-companion.zip: дневник, калькулятор, чек-лист, листинги запросов, стенд 1С, проверка таблиц
Где и когда05.10.2026, Windows 11, платформа 1С:Предприятие 8.3.27.2130 (файловая база), Python 3.12.10
Что запускалосьpython check_calc.py из распакованного архива; build_stand.py и run.ps1 на платформе
Результатмодули проходят проверку платформы; оба листинга дают одинаковые остатки, позиции без движений получают 0; на 500 строках цикл 730-818 мс, один запрос 20-23 мс; пересчёт условного примера совпал с таблицей. Вывод - в proverka-1c-2026-10-05.txt и check_calc-2026-10-05.txt.
Не провереновремя на вашей конфигурации (замер на пустой файловой базе одного ПК); регистр стенда с одним измерением
🧠 Суть статьи

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

Ключевые идеи
  • Дневник на две недели - замер операций по факту, флажок повтора отделяет рутину от разовой работы
  • Три формулы - экономия за месяц, срок окупаемости, годовая отдача
  • Запрос из цикла - один запрос на весь список позиций и поиск по соответствию в памяти
  • Обслуживание считается всегда - ноль в этой строке означает неполный расчёт
  • Что не автоматизируется - ожидание ответов, редкие операции, работа с проверкой глазами
Главная мысль

Рутина становится предметом расчёта: дневник даёт часы по операциям, три формулы дают срок окупаемости, и первая автоматизация выбирается по нему.

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

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

Второй вопрос звучит сложнее: сколько времени освободит автоматизация. Здесь работает расчёт: сколько раз операция повторяется, сколько занимает вручную, сколько часов уйдёт на разработку и сколько на обслуживание.

📈 Где уходят часы

Полезно разделить рабочий день на пять видов занятости, потому что автоматизируются из них только два.

  • Разработка. Написание нового кода и правка существующего. Автоматизации поддаётся слабо, но ускоряется инструментами среды.
  • Ручные операции. Регулярные действия по расписанию: выгрузка и загрузка данных, перенос объектов между базами, обновление конфигурации, подготовка файлов для бухгалтерии. Главный кандидат на автоматизацию.
  • Поиск информации. Как устроен чужой код, где лежит нужный реквизит, в каком регистре хранятся данные. Сокращается базой знаний и сниппетами.
  • Отладка и разбор. Поиск причины ошибки, воспроизведение ситуации, проверка гипотез. Сокращается тестами и воспроизводимыми сценариями.
  • Ожидание и согласование. Ответы от бухгалтерии, решения заказчика, доступа и стенды. Автоматизации не поддаётся, зато видно в дневнике.

Часы на ручные операции считаются точнее всего, и они же дают самую быструю отдачу: операция повторяется по расписанию, её объём известен, момент выполнения не зависит от чужих ответов.

🧮 Как вести дневник времени

Замер строится на дневнике, и его правила просты.

  • Запись по факту. Строка на каждую операцию: начало, конец, что делали, для какой задачи. Запись делается в момент переключения: вечерняя запись по памяти теряет короткие операции.
  • Пометка повторов. Если операция повторялась раньше, это помечается флажком: повторяющиеся строки и есть рутина.
  • Отдельно - ожидание. Часы, когда работа ждала ответа, записываются отдельной строкой. В расчёт окупаемости они не входят; их назначение - видеть, куда уходит день.
  • Разрешение пять минут. Пятиминутные операции не разбираются по одной; они записываются как «переключения» и в расчёте не участвуют.

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

Формат дневника - таблица с колонками «дата», «начало», «конец», «минут», «что делали», «задача», «повтор», «категория». Готовый шаблон лежит во вложении, его хватает на две недели.

🧪 Формула окупаемости

Три формулы закрывают вопрос «а стоит ли».

Экономия за месяц = число операций в месяц * время операции вручную - время на обслуживание автоматизации
Срок окупаемости в месяцах = часы на автоматизацию / экономия за месяц
Годовая отдача = экономия за месяц * 12 - часы на автоматизацию

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

Условный пример. Операция повторяется 30 раз в месяц и занимает 20 минут вручную - это 10 часов. Автоматизация занимает 8 часов разработки, обслуживание - 30 минут в месяц. Экономия получается 9,5 часа в месяц, срок окупаемости - меньше месяца, годовая отдача - около 106 часов.

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

💻 Приём, который убирает запрос из цикла

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

Запрос в цикле выглядит так.

BSL UTF-8 фрагмент
1
2
3
4
5
6
7
8
9
10
11
Для Каждого СтрокаТЧ Из Товары Цикл
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	Остатки.КоличествоОстаток КАК Количество
		|ИЗ
		|	РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК Остатки";
	Запрос.УстановитьПараметр("Номенклатура", СтрокаТЧ.Номенклатура);
	Выборка = Запрос.Выполнить().Выбрать();
	СтрокаТЧ.КоличествоОстаток = ?(Выборка.Следующий(), Выборка.Количество, 0);
КонецЦикла;

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

BSL UTF-8 фрагмент
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ
	|	Остатки.Номенклатура КАК Номенклатура,
	|	Остатки.КоличествоОстаток КАК Количество
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (&СписокНоменклатуры)) КАК Остатки";
Запрос.УстановитьПараметр("СписокНоменклатуры", Товары.ВыгрузитьКолонку("Номенклатура"));

ОстаткиПоНоменклатуре = Новый Соответствие;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	ОстаткиПоНоменклатуре.Вставить(Выборка.Номенклатура, Выборка.Количество);
КонецЦикла;

Для Каждого СтрокаТЧ Из Товары Цикл
	Количество = ОстаткиПоНоменклатуре.Получить(СтрокаТЧ.Номенклатура);
	СтрокаТЧ.КоличествоОстаток = ?(Количество = Неопределено, 0, Количество);
КонецЦикла;

Что здесь меняется: число обращений к базе становится постоянным и не зависит от числа строк; отбор по списку позиций передаётся в параметр виртуальной таблицы, а позиция без остатка получает 0: метод Получить для неё вернул бы Неопределено. В примере у регистра одно измерение, Номенклатура; если измерений больше, добавьте группировку по номенклатуре, иначе в соответствии останется последняя строка позиции. Разница видна на табличных частях в сотни строк; на пяти строках она не заметна.

Оба листинга запущены на платформе 1С:Предприятие 8.3.27.2130 в файловой базе с регистром накопления остатков: на 500 строках табличной части, где у 20 позиций нет остатка, оба варианта дали одинаковую сумму остатков (115 440) и 20 нулей. Запрос в цикле выполнился за 730-818 мс, один запрос - за 20-23 мс; на пяти строках разница в единицы миллисекунд. Время получено на одном компьютере и пустой базе: на вашей конфигурации сверьте план выполнения в консоли запросов до и после правки. Листинги, скрипты стенда и вывод прогона лежат в архиве.

🧰 Готовые инструменты вместо самодельных скриптов

Часть рутины закрывается чужими инструментами, и писать своё для неё не нужно.

  • Обновление базы и проверка синтаксиса из командной строки. Команды консоли закрывают выгрузку, загрузку, обновление конфигурации базы и синтаксический контроль. Разбор по шагам есть в опубликованной статье 2804416 про vrunner 3.0, там же - про базу из исходников.
  • Выгрузка и загрузка конфигурации в файлы без конфигуратора. Для этого есть ibcmd; порядок команд разобран в статье 2804957.
  • Общий модуль с частыми функциями. Место, куда складываются повторяющиеся куски кода: разбор JSON, работа с датами, типовые запросы. Экономия здесь считается по формуле окупаемости так же, как для любой другой операции.
  • Стенды и воспроизводимые окружения. Если разбор ошибки начинается с восстановления базы, основная часть времени уходит на подготовку среды, и на поиск причины его остаётся меньше. Про это есть статья 2804418 про несколько агентов на одном репозитории с отдельной базой.

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

🚧 Что замер не показывает

У расчёта есть границы, и их полезно знать до того, как показывать цифры руководителю или заказчику.

  • Ожидание не экономится. Часы в ожидании ответов в расчёт окупаемости не попадают: автоматизация их не убирает, убирает другое - договорённость о порядке ответов.
  • Проверку посчитать сложно. Если после автоматизации результат всё равно проверяется глазами, экономия меньше расчётной на время проверки.
  • Редкая операция не окупается. Операция раз в квартал при десяти минутах работы даёт меньше часа в год: почти всё время уходит на разработку, сама работа занимает минуты.
  • Обслуживание растёт. Автоматизация - это код, который живёт вместе с конфигурацией: обновления типовой, изменения реквизитов, разбор новых ошибок. Ноль в строке обслуживания означает, что расчёт неполный.
  • Числа требуют повтора замера. Через полгода операция и объём данных изменятся. Дневник повторяется, иначе расчёт остаётся на уровне предположения.

📎 Файл к статье

В архиве к статье - 07.4-companion.zip: шаблон дневника, калькулятор, чек-лист, листинги запросов praktika.bsl, скрипты стенда в папке stand-1c, проверка таблиц check_calc.py и выводы прогонов. Распакуйте архив и запустите python check_calc.py: скрипт пересчитает условный пример. Стенд для запросов собирается командой python stand-1c/build_stand.py на Windows с платформой 8.3.27.

  • dnevnik-vremeni.csv - шаблон дневника времени: колонки на две недели, справочник категорий и пример заполнения одной строки.
  • kalkulyator-okupaemosti.csv - таблица расчёта: три формулы, поля для подстановки и условный пример из статьи.
  • chek-list-avtomatizacii.md - чек-лист выбора первой операции: повторяемость, объём, срок окупаемости, обслуживание.
  • README.md - что в архиве, что проверено и что осталось непроверенным. Листинги запросов помечены как непроверенные на платформе.

🏁 Итог

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

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

 
Нинель Адольевна Щербакова
Нинель Адольевна Щербакова (Ninel_S)
Архитектор • SRE & DevOps инженер • HighLoad 1С
Автор 48 технических публикаций на Infostart. Разработчик NOPik, SRE-Suite-for-1C и мультиагентных ассистентов для экосистемы 1С:Предприятие.

Вступайте в нашу телеграмм-группу Инфостарт

автоматизация рутины дневник времени окупаемость автоматизации оптимизация запросов DevOps оценка задач организация работы 1С-разработка

См. также

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Системный администратор Разработчик 1С 8.3 1С 8.5 Бесплатно (free)

В прошлой статье у ERP оставалось 89 отказов загрузки, у ЗУП — 19. Теперь обе конфигурации совпали с эталонами, а собранные файлы прошли круг через платформу. Развертка выделена в открытый репозиторий cf-unwrapper: библиотека на Rust и консольная утилита. Показываю результаты, объясняю границы «100%» и приглашаю к проверкам и развитию проекта.

02.11.2026    210    oyti    1    

1

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Разработчик 1С:Предприятие 8 Россия Бесплатно (free)

Практическое руководство для команд, которые хотят уйти с хранилища конфигурации на git, не переходя на новую среду разработки. Подойдёт разработчикам и тимлидам, которые настраивают командную разработку на типовых и собственных конфигурациях.

02.11.2026    428    vanya_gonchar    2    

4

Файловый обмен (TXT, XML, DBF), FTP DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Системный администратор Разработчик 1С 8.5 Бесплатно (free)

В прошлой статье я выгрузил Бухгалтерию в XML байт в байт и спросил, на чем проверить дальше. Вы ответили: ERP, старые релизы, зарплата. Прогнал пять конфигураций, от клиента ЭДО до ERP на 120 тысяч файлов. Рассказываю, что сломалось после Бухгалтерии, почему эталону платформы нельзя верить на слово, как выгрузить одну конфигурацию в формат трех версий платформы - и почему cf-конвертер становится отдельным продуктом, Разверткой.

02.11.2026    277    oyti    2    

3

Инструментарий разработчика DevOps и автоматизация разработки Разработчик 1С 8.3 Абонемент ($m)

Как отличить срочное исправление от обычного вечернего коммита? Проверила расчёт показателей поставок по отчёту хранилища 1С и истории двух открытых проектов. На стенде счётчики совпали со сценарием, а в выборке открытого проекта правило «те же объекты» ошиблось во всех шести случаях. Показываю границы такого замера и отличие от метрик DORA. Прилагаются инструмент и материалы опыта.

1 стартмани

29.10.2026    277    Ninel_S    0    

0

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С 8.5 Бесплатно (free)

Выгрузка типовой Бухгалтерии в XML через базу занимает больше четырёх минут. Я написал движок, который читает файл конфигурации напрямую и выгружает его за 35 секунд, совпадая с выгрузкой платформы байт в байт во всех 90 385 файлах. Загрузка обратно тоже работает: круг через платформу совпадает полностью. Рассказываю, как ускоряли, как проверяем и что при загрузке XML теряет сама платформа. А в конце спрашиваю, нужно ли это кому-то, кроме меня, и на какой конфигурации проверить следующей.

27.10.2026    851    oyti    20    

16

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)

Хук pre-commit проверяет полный снимок индекса Git в отдельной базе 1С. На «Нано-УТ» и платформе 8.3.27 повторила 12 попыток коммита: восемь прошли, четыре остановлены. Чистый коммит занял 31,8 с. Вызов несуществующего метода общего модуля хук останавливает только с ключом -ExtendedModulesCheck. В архиве версия 2, тесты, инструкция и журналы.

1 стартмани

26.10.2026    316    Ninel_S    2    

-1

Нейросети DevOps и автоматизация разработки Разработчик 1С 8.3 Абонемент ($m)

Я дала агенту Claude Code задачу словами: добавить в учебную конфигурацию документ «Внутреннее потребление товаров», который списывает товар по средней стоимости и не даёт уйти в минус. Три запуска с нуля, каждый принят проверкой на платформе 1С: 1 мин 49 с, 2 мин 33 с и 2 мин 56 с. Показываю, что агент поменял, где ошибался и почему на типовой УТ так быстро не будет.

1 стартмани

26.10.2026    561    Ninel_S    0    

-1

Нейросети DevOps и автоматизация разработки Разработчик 1С 8.3 Бесплатно (free)

ИИ пишет код на 1С все быстрее, а разработчик по-прежнему носит вопросы, ответы и статусы между чатом с агентом, аналитиком и архитектором. Показываю другой подход и демо-стенд: задача из Яндекс Трекера сама идет по этапам, ИИ-агент работает в GitLab CI, а люди только утверждают спецификацию, архитектуру, план и код. Живой пример задачи от заявки до merge, честный отказ агента, права агента, время и стоимость: вся задача обошлась в 68 центов.

22.10.2026    696    maxrubtsoff    1    

3
Для отправки сообщения требуется регистрация/авторизация