0
NickAn
06.08.11
✎
00:21
|
Есть подписка на событие при проведении. Добавляются управленческие движения. Движения формируются анализируя уже готовые по типовой конфе.
Раньше чтобы прочитать движения делал вот такой цикл
Для Н = 0 По Источник.Движения.Количество()-1 Цикл
Если Источник.Движения[Н].Количество() > 0 Тогда
Источник.Движения[Н].Записать();
Иначе
Источник.Движения[Н].Прочитать();
Источник.Движения[Н].Записать();
КонецЕсли;
КонецЦикла;
Раньше все работало, но вот в документе возврат товара от покупателя получилась проблемка, когда товар вернули по ордерной схеме. Стала пропадать строка прихода товара обратно по партии.
Выяснил, долго смотря код проведения, что вначале делается запись по возврату по ордеру, а потом делается всякий там анализ, и перед добавлением еще строки делается прочитать() и добавляется еще одна строка, которая возвращает проданную партию.
Но тот код который написан выше определяет, что запись в регистре уже есть и делает запись удаляет вторую строку партии.
Вопрос: как можно обойти эту ситуацию. В кратце как узнать что регистр уже читался и дописывался?
|
|