Многие пользователи и администраторы систем 1С сталкиваются с ситуацией, когда после очередного обновления конфигурации «1С:Бухгалтерия предприятия 3.0» или платформы 1С:Предприятие 8.3 время проведения обычного платежного поручения или списания с расчетного счета увеличивается с нескольких секунд до 5–10 минут. Это создает критические задержки в работе бухгалтерии, особенно в периоды выплаты заработной платы или налогов.
В этой статье мы подробно разберем причины возникновения таких тормозов, проанализируем внутренние механизмы конфигурации и рассмотрим несколько способов решения проблемы — от простых настроек до внедрения корректирующего расширения.
Проанализируем ситуацию с точки зрения кода. Как показывает замер производительности, основная нагрузка при проведении документов (особенно связанных с налогами и зарплатой) ложится на общий модуль ВыполнениеЗадачБухгалтера. В последних релизах конфигурации (начиная с 3.0.127) разработчики 1С изменили логику актуализации задач в календаре бухгалтера. Теперь при записи или проведении платежки система пытается мгновенно пересчитать статусы задач по НДФЛ, страховым взносам и отчетности.
Проблема заключается в том, что алгоритм в процедуре ДобавитьСтатусыЗадач может запускать десятки циклов с тысячами итераций, обращаясь к классификаторам КБК и регистрам сведений миллионы раз. Это «шерстит» всю базу в поисках соответствия платежа конкретной налоговой задаче.
Рассмотрим решение через расширение:
Если бухгалтерия готова временно пожертвовать мгновенным обновлением статусов в списке задач ради скорости работы, можно закомментировать ресурсоемкий участок кода в процедуре ДобавитьСтатусыЗадач модуля ВыполнениеЗадачБухгалтера. Разберем пример кода, который необходимо модифицировать в расширении:
Процедура ДобавитьСтатусыЗадач(ТаблицаЗадач) Экспорт
Если ТаблицаЗадач.Количество = 0 Тогда
Возврат;
КонецЕсли;
// ... (стандартный код подготовки колонок и отборов)
// Блок обработки зарплатных задач, вызывающий основные тормоза:
// Мы можем закомментировать этот цикл в расширении (метод &Вместо или &После)
//Для Каждого ЗадачаСоСтатусом Из СтатусыЗадачПоВыплатеЗарплаты(ЗадачиЗарплата) Цикл
// КлючиЗадачи.Действие = Перечисления.ВидыДействийКалендаряБухгалтера.Зарплата;
// ЗаполнитьЗначенияСвойств(КлючиЗадачи, ЗадачаСоСтатусом);
// Для Каждого Задача Из ТаблицаЗадач.НайтиСтроки(КлючиЗадачи) Цикл
// Задача.Статус = ЗадачаСоСтатусом.Статус;
// КонецЦикла;
//КонецЦикла;
// ... (остальной код по отчетности и уведомлениям)
КонецПроцедуры
Важно понимать: это решение ускорит проведение, но статусы в «Записях календаря бухгалтера» для выплат зарплаты перестанут обновляться автоматически в момент проведения. Они обновятся позже регламентным заданием.
Разберем ситуацию, характерную для организаций на УСН (особенно с объектом налогообложения «Доходы минус расходы»). Часто виновником тормозов становится запрос ТекстЗапросаОстаткиПоСчетамУСН. При проведении списания денежных средств система пытается сопоставить платеж с конкретными расходами для формирования Книги учета доходов и расходов (КУДиР).
Если в информационной базе накопилось много незакрытых остатков по конкретному контрагенту или договору (так называемые «хвосты» или «копейки» прошлых лет), оптимизатор запросов СУБД начинает работать неэффективно. Выясним причину через замер производительности: если вы видите, что запрос к регистру Расходы при УСН или Оплата по счетам выполняется несколько сотен секунд, дело в данных.
Посмотрим на пути решения:
Проанализируем влияние системного ПО. Версия платформы 8.3.22.1709 и близкие к ней сборки признаны сообществом одними из самых нестабильных. Основные проблемы этой ветки:
Выясним, как это исправить. Если вы используете ветку 8.3.22, настоятельно рекомендуется обновиться до последних релизов 8.3.24 или, если требуется стабильность на проверенном движке, откатиться на актуальную версию 8.3.21. Переход на другую ветку платформы часто решает проблему «беспричинных» зависаний документа на 8–10 минуте.
С введением Единого Налогового Счета (ЕНС) в 2023 году логика работы с налогами в 1С:Бухгалтерия стала многократно сложнее. Теперь при проведении платежки система обращается к регистру РеквизитыУплатыНалоговИПлатежейВБюджет.
Если замер производительности показывает миллионы обращений к кодам бюджетной классификации, проанализируем справочник ВидыНалоговИПлатежейВБюджет. Иногда в нем возникают дубли или некорректно заполненные элементы, из-за чего механизм поиска «зацикливается».
Рекомендация: Проверьте наличие установленных исправлений (патчей). Разработчики 1С регулярно выпускают патчи для оптимизации запросов к ЕНС. Перейдите в раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления и убедитесь, что все доступные патчи для вашего релиза БП 3.0 загружены.
Подведем итог. Чтобы вернуть нормальную скорость проведения документов, выполните следующие шаги:
ВыполнениеЗадачБухгалтера или в запросах по УСН.8.3.22.1709, обновите её до последней доступной версии или перейдите на ветку 8.3.24.Соблюдение этих рекомендаций позволит значительно ускорить работу системы и снизить нагрузку на сервер 1С в моменты массового формирования платежных документов.