Устранили неисправность повышенной нагрузки на процессор при работе в ПО 1С:Предприятие
У пользователей с ролью «Менеджер» три формы 1С грузили процессор на 8–10 % даже в простое из-за зацикленной процедуры фильтра по контрагентам. Добавили флаг однократного применения — нагрузка ниже 1 %.

Задача
При открытии некоторых списков документов в 1С наблюдалась постоянная загрузка процессора на уровне 8–10 % даже в режиме простоя и без активных действий в форме. Производительность сервера снижалась, система становилась менее отзывчивой.
Анализ
В ходе анализа было установлено:
- нагрузка проявляется только у пользователей с ролью «Менеджер»;
- неисправность наблюдается в трёх формах документов;
- у пользователей других ролей формы работают штатно.
Проблема вызвана реализацией процедуры в модуле формы, в которой отсутствовала защита от повторных вызовов. Эта процедура отвечает за фильтрацию данных формы по доступным контрагентам для менеджеров. Процедура вызывалась повторно при каждом изменении отбора и обновлении списка. Поскольку в теле процедуры происходит модификация отбора, форма снова вызывала процедуру, что приводило к бесконечному циклу и постоянной нагрузке на процессор.
Решение
Для устранения рекуррентного обновления добавлен логический флаг, контролирующий однократное применение фильтра.
Теперь при первом открытии формы фильтр по контрагентам применяется только один раз, после чего устанавливается флаг, и повторные вызовы игнорируются. При ручном изменении контрагента флаг сбрасывается, и фильтр обновляется корректно, без зацикливания.
Результаты
- Загрузка ЦП при открытии форм списка снизилась с 8–10 % до менее 1 %.
- Обновление форм больше не выполняется циклически.
- Поведение фильтра соответствует изначальной логике.
Изменения протестированы на пользовательских ролях «Менеджер» и «Администратор». Работа форм нормализована, производительность восстановлена.
В исходной записи была схема изменений после устранения причины нагрузки (https://static.tildacdn.com/tild3861-3362-4162-a163-393165333164/image3.jpg); в перенос не включена.