Есть закрытый период. В конфигурацию добавлен новый регистр, по которому надо создать движения по определённым документам. А документы перепроводить нельзя. Сделал в модуле документа функцию (с атрибутом "экспорт") которая порождает нужные мне движения.
Далее простую обработку - отбираем документы за определённый период, сортируем по дате, и получаем ссылку на объект документа и вызываем функцию создания движений по новому регистру.
Всё работает. Только вот незадача - в некоторые моменты, видимо, некорректно высчитываются остатки по новому регистру. Как следствие - неправильные движения порождаются. Хотя если зайти в документ и перепровести его - то всё в порядке.
Верно ли я подошёл к решению задачи или что-то упустил из вида?
Собственно запрос остатков, которые надо погасить по новому регистру:
Этот код помещён в предопределённую функцию ОбработкаПроведения() и тупо скопипастен в функцию РаспределитьПлатежиПоСхемам() Экспорт
Формирование движений по новому регистру идёт таким образом:
Сначала отбираем выписки, по которым нам надо движения сделать:
А затем создаём движения по новому регистру:
Собственно вот так вот.
Дело в в том, что блок кода работающий в функции проведения получает истинные остатки. А тот же блок кода работающий в отдельной функции, часто ошибается. Когда именно ошибается - пока закономерность не уловил.