В практике сопровождения 1С:Управление нашей фирмой (УНФ) часто возникает ситуация, когда клиент жалуется на общее замедление системы. При этом разные специалисты могут предлагать разные методы решения: от банальной очистки кэша до сложных манипуляций с сервером БД. В данной статье мы разберем ситуацию, когда процедура Тестирования и исправления (ТиИ) расширений дает ощутимый прирост производительности, выясним, не является ли это эффектом плацебо, и проанализируем техническую сторону вопроса.
Рассмотрим ситуацию глубже. Долгое время считалось, что тестирование и исправление относится только к основной конфигурации. Однако расширения в современных версиях 1С (особенно начиная с 8.3.24) — это не просто «надстройка» над кодом, а полноценные структуры данных. Если расширение добавляет новые реквизиты в справочники или документы, создает собственные регистры или справочники, платформа создает для них физические таблицы или колонки в базе данных (SQL или файловой).
Проанализируем, почему работа с этими данными может замедляться:
Выясним причину, по которой «франчайзи знают то, чего не знает фрилансер». Дело не в секретных знаниях, а в использовании новых возможностей платформы. В последних релизах 1С:Предприятие 8 в окне Тестирование и исправление появился отдельный функционал, связанный с расширениями.
Разберем по шагам, какие опции ТиИ влияют на быстродействие:
1. Реструктуризация таблиц расширений конфигурации.
Это, пожалуй, самый важный пункт. В платформе 8.3.24 и выше при выборе пункта «Проверка логической целостности» система предлагает выполнить реструктуризацию таблиц расширений. Проанализируем этот процесс: 1С пересоздает физические таблицы, в которых хранятся данные расширений, заново выстраивает индексы и удаляет «мусор», накопившийся после удаления объектов из расширений. Это напрямую влияет на скорость выполнения Запросов, использующих дополнительные реквизиты.
2. Реиндексация таблиц.
Как отметили участники обсуждения, реиндексация — это база оптимизации. Если расширение активно использует собственные регистры сведений или накопления, то стандартная реиндексация (которая теперь корректно подхватывает и таблицы расширений) может существенно ускорить проведение документов и формирование отчетов в УНФ.
3. Пересчет итогов.
Посмотрим на пример работы регистров. Если ваше расширение добавляет измерения в существующие регистры накопления или создает новые, система может начать «подтормаживать» при получении остатков. Процедура ПересчетИтогов актуализирует агрегаты данных, что критически важно для УНФ, которая построена на оперативном управленческом учете.
Важно помнить о предупреждении, которое прозвучало в обсуждении: при добавлении реквизитов через расширения 1С может удалять элементы при ТиИ, если нарушена логическая целостность. Проанализируем ситуацию: если вы добавили реквизит в расширение, записали в него данные, а затем случайно изменили тип этого реквизита или удалили его из расширения, процедура ТиИ «вычистит» эти данные из БД безвозвратно.
Рассмотрим рекомендации по безопасному проведению ТиИ для ускорения системы:
Тестирование и исправление только в монопольном режиме.chdbfl.exe.Выясним специфику 1С:Управление нашей фирмой. Эта конфигурация активно использует механизм патчей (исправлений от вендора), которые сами по себе являются расширениями. Со временем в системе может накопиться 20-30 активных расширений. Каждое из них вносит свои изменения в дерево вызовов процедур и функций. ТиИ помогает платформе оптимизировать это «дерево» и устранить коллизии между разными слоями расширений.
Подводя итог, можно сказать, что ускорение после ТиИ расширений — это не плацебо, а результат технической оптимизации хранения данных в СУБД. Профессиональный подход подразумевает знание актуальных возможностей платформы и регулярное обслуживание не только основной конфигурации, но и всего стека установленных расширений.