При работе с системой 1С:Комплексная автоматизация (1С:КА) пользователи часто сталкиваются с проблемой чрезвычайно медленного проведения или распроведения большого количества документов, особенно если речь идет о прошлых периодах. Ситуация, когда распроведение всего 200 реализаций за месяц занимает 8 часов, является неприемлемой и требует немедленного решения. Давайте разберем, почему это происходит и какие шаги мы можем предпринять для значительного ускорения процесса.
Основная причина такого замедления кроется в том, что 1С:КА пытается выполнить ряд операций и проверок при каждом изменении документа, даже если регламентные задания кажутся отключенными. Эти операции включают пересчет итогов, проверку контролей и актуализацию различных регистров, что при массовом перепроведении документов создает огромную нагрузку на систему.
Прежде чем перейти к решениям, рассмотрим основные причины, которые приводят к столь низкой скорости:
Для того чтобы значительно ускорить массовое распроведение документов, нам потребуется временно отключить или оптимизировать некоторые из указанных механизмов. Давайте разберем по шагам, как это сделать.
Если при попытке закрытия месяца кнопка "Выполнить операции" неактивна или процесс закрытия занимает очень много времени, это часто связано с накопившимися записями в регистре сведений ЗаданияКЗакрытиюМесяца. Мы можем очистить этот регистр, чтобы система не тратила ресурсы на его постоянную актуализацию при распроведении документов:
На форуме нам подсказывали, что нужно "по всем аналитикам сбросить задания к расчету на начало твоего периода" – это как раз и относится к работе с такими регистрами.
Контроль остатков является важным механизмом для предотвращения отрицательных остатков, но он значительно замедляет массовые операции. Мы можем временно отключить его несколькими способами:
В 1С:КА и 1С:ERP существует специальная настройка, которая позволяет отключить контроль остатков только для текущего пользователя. Это удобно, если массовые операции выполняет один человек:
Перейдем в раздел "НСИ и администрирование" -> "Финансовый результат и контроллинг" -> "Учет товаров". Там нам нужно будет найти и установить флажок или соответствующую настройку для отключения контроля остатков. Точное название может варьироваться, но обычно оно связано с "контролем остатков при проведении" или "контролем обеспечения".
Контроль остатков также можно отключить более широко:
В некоторых сложных случаях, особенно при создании собственных обработок для массового распроведения, может потребоваться программное отключение контроля. Это реализуется через использование параметра сеанса ПараметрСеанса.ПроводитьБезКонтроляОстатковТоваровОрганизаций. Это позволяет обойти такие методы, как ПроведениеСерверУТ.ВыполнитьКонтрольРезультатовПроведения, что дает максимальный прирост скорости при программной обработке:
// Временно отключаем контроль остатков
ПараметрыСеанса.ПроводитьБезКонтроляОстатковТоваровОрганизаций = Истина;
// Здесь выполняем массовое распроведение документов
// Важно: после завершения операции, включите контроль обратно
ПараметрыСеанса.ПроводитьБезКонтроляОстатковТоваровОрганизаций = Ложь;
Этот подход требует внесения изменений в конфигурацию или создания расширения.
Если основной причиной замедления является регистр "Расчеты с клиентами по срокам" и режим "онлайн взаиморасчетов", мы можем временно перевести расчеты в "оффлайн" режим. Однако следует помнить, что 1С активно продвигает "онлайн" режим как более точный и актуальный, и его отключение может повлечь за собой особенности в учете и отчетности, требующие ручной актуализации. Этот шаг следует предпринимать с большой осторожностью и только при крайней необходимости, понимая все риски.
Настройка находится в "НСИ и администрирование" -> "Продажи" -> "Настройки продаж" -> "Настройки взаиморасчетов с клиентами". Здесь мы можем выбрать режим расчетов. После выполнения массовых операций обязательно верните режим "онлайн", чтобы не нарушить текущий учет.
Даже если регламентные задания кажутся отключенными, некоторые фоновые процессы могут запускаться неявно. Полная блокировка может значительно ускорить процесс:
Если вы используете клиент-серверный вариант базы, мы можем заблокировать регламентные задания через консоль администрирования сервера 1С. Найдем свойства информационной базы и установим флажок "Заблокировать регламентные задания". Критически важно не забыть снять эту блокировку после завершения всех массовых операций, иначе обычная работа системы будет нарушена.
Для файловых баз мы можем заблокировать фоновые задания при запуске. Добавим параметр /AllowExecuteScheduledJobs –off в строку запуска 1С. Это позволит предотвратить выполнение любых фоновых операций:
"C:\Program Files\1cv8\8.3.Х.ХХХХ\bin\1cv8.exe" ENTERPRISE /F "C:\Path\To\Your\Base" /AllowExecuteScheduledJobs -off
После завершения работ обязательно либо удалите этот ключ, либо измените его на –on, чтобы восстановить нормальное функционирование фоновых заданий.
Просмотрим список регламентных заданий в разделе "НСИ и администрирование" -> "Администрирование" -> "Поддержка и обслуживание" -> "Регламентные операции" -> "Регламентные и фоновые задания". Мы можем отключить те задания, которые не являются критически важными для текущего момента, или изменить их расписание так, чтобы они не запускались во время выполнения массовых операций.
Перед тем как приступать к любым массовым операциям, особенно тем, что связаны с изменением настроек и очисткой регистров, настоятельно рекомендуем работать на копии базы данных. Это позволит нам избежать непредвиденных проблем с рабочей базой и убедиться в корректности выполнения всех операций без риска для текущего учета.
Хотя основная проблема лежит в настройках программного обеспечения, мы не должны исключать влияние аппаратных ресурсов. Если база данных очень большая (более 15 ГБ) или количество одновременно работающих пользователей превышает 10, перевод в клиент-серверный режим и обновление серверного оборудования (более мощный процессор, больший объем оперативной памяти, использование SSD-дисков) могут значительно улучшить общую производительность системы.
Сосредоточив наши усилия на очистке регистра ЗаданияКЗакрытиюМесяца, временном отключении контроля остатков и блокировке регламентных заданий, а также, при необходимости, на временном переводе взаиморасчетов в "оффлайн" режим, мы сможем значительно ускорить процесс массового распроведения документов в 1С:Комплексная автоматизация и избежать потери ценного рабочего времени.