Возможно, прозвучит банально, но при проведении документов анализируются права пользователей + RLS. От этого можно избавиться и ускорить проведение документов, для этого необходимо лишь добавить 1 общий модуль с галкой "привилегированный".
В данной обработке показан пример полного выноса проведения на сервер + без контроля прав.
В моем случае это привело к 40% уменьшению времени проведения по сравнению с проведением в типовой "Групповая обработка справочников и документов".
Плюс в таком режиме абсолютно неважно, насколько слабая машина на клиенте, она используется лишь для запуска, далее N часов работает сервер.
Необходимо создать общий модуль "НаСервереПривилегированный" , проставить в нем галки "Сервер" и "Привилегированный" и поместить следующий код:
Процедура ПровестиНаСервере(ДатаНачала, ДатаОкончания, Организация, МассивВидовДокументов) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "";
Для Каждого ВидДокумента Из МассивВидовДокументов Цикл
НовыйТекст = СформироватьТекстЗапроса(ВидДокумента);
Запрос.Текст = Запрос.Текст + НовыйТекст;
КонецЦикла;
Запрос.Текст = Лев(Запрос.Текст, СтрДлина(Запрос.Текст)-16);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Запрос.УстановитьПараметр("Организация", Организация);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокументСсылка = Выборка.Ссылка;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Функция СформироватьТекстЗапроса(ВидДокумента)
НовыйТекст = "ВЫБРАТЬ
| " + ВидДокумента + ".Ссылка
|ИЗ
| Документ." + ВидДокумента + " КАК " + ВидДокумента + "
|ГДЕ
| " + ВидДокумента + ".Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И " + ВидДокумента + ".Организация = &Организация
|
|ОБЪЕДИНИТЬ ВСЕ
|
|";
Возврат НовыйТекст;
КонецФункции
Далее в режиме предприятия открыть мою обработку, выбрать там типы документов и запустить проведение.
Как видно, в ней есть всего 2 отбора, по периоду и организации, но вы можете настроить отборы/запрос под себя, добавив необходимые поля.
UPDATE:
Как написал в комментариях //infostart.ru/profile/180217/ он попробовал вынести в привилегированный режим проведение по партиям, это дало прирост производительности в 3 раза!
Процедура ВыполнитьПроведениеПоПартиям(ДатаОкончания) Экспорт
Последовательности.ПартионныйУчет.Восстановить(ДатаОкончания);
КонецПроцедуры
Готовое решение
Синхронизация и обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData
Правила в универсальном формате обмена для для последних версий конфигураций 1C. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.