Отдельно движения по определенным регистрам
ТекущиеДвижения = ТекущийОбъект.Движения[элДвижения.Ключ];
ТекущиеДвижения.Прочитать();
// тут что то делаю
ТекущиеДвижения.Записать(Истина);
заметил, запись движений занимает 80% времени, а запись документа около 7%, хотя грубо говоря на один документ приходиться два движения(из тех которые перезаписываются)
У регистров по сравнению с документом есть индексы, таблицы остатков и оборотов, блокировки (параллельно может кто-то читать). Можно посмотреть, нет ли нехороших полей, дающих большой индекс, закрывается ли таблица остатков, сколько весит сама таблица/таблицы регистра (вдруг они в сумме большие), посмотреть, что будет с монопольными режимами - блокировками - записью некоего множества данных в одной транзакции (начать транзакцию - зафиксировать транзакцию).