Модуль Объекта - Обработка проведения. Документ возврат товара поставщику.
Переделывал на днях один из алгоритмов распределения затрат.
Алгоритм был основан на получении стоимости по запросу.
Причина переделки заключалась в расхождении получения себестоимости стандартным алгоритмом и самописным.
Решил взять данные из уже записанных данных в движения.
По прошествии некоторого времени вижу сбой. Отсутствуют движения по партиям и соответственно затрат а все остальные имеются.
Провел небольшой анализ. Данная ошибка возникает редко, под разными пользователями. Пере проведя документ все становится на свои места.
Подозреваю что ошибка в написанном мною коде, но понять не могу где, помогите разобраться.
Для Каждого Стр Из Товары Цикл
Стоимость=0;
СтрокаНайденая=ТЗПартии.Найти(Стр.Номенклатура,"Номенклатура");
Если СтрокаНайденая=Неопределено Тогда
Стоимость=0;
Иначе
Стоимость=СтрокаНайденая.Стоимость;
КонецЕсли;
Если УчитыватьНДС Тогда
Разн=Стр.Сумма-Стоимость-Стр.СуммаНДС;
Иначе
Разн=Стр.Сумма-Стоимость;
КонецЕсли;
Если Разн<>0 Тогда
Движение = Движения.Затраты.Добавить();
Движение.Активность=Истина;
Движение.Период = Дата;
Движение.Подразделение = Подразделение;
....
Движение.Сумма = -Разн;
КонецЕсли;
КонецЦикла;
Спасибо за внимание!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан