Пример решения экзаменационного задания вызывает естественный интерес у готовящихся к сертификации. Предполагается, что если это не эталон, то, по крайней мере, ориентир, на который нужно ровняться. Само собой разумеется, что пример должен работать, а также соответствовать тем критериям, которые предъявляются к решениям на экзамене. Давайте посмотрим так-ли это...
Видно, что в списке присутствует единственный документ. А именно: Расходная накладная № 000000001 от 07.06.2010 0:00:00.
Откроем форму документа, чтобы увидеть его содержимое. Нажмем несколько раз на кнопку «Провести». Документ без проблем неоперативно перепроводится.
Закроем форму документа и выполним отмену его проведения. Для того, чтобы протестировать режим оперативного проведения, изменим дату документа на сегодняшнюю (в нашем случае - это 10 сентября 2010). Снова откроем форму документа и нажмем несколько раз кнопку «Провести». Документ проводится только один раз, а потом начинает выдавать сообщение о нехватке остатков!
Ошибка возникает из-за того, что документ не очищает при проведении свои собственные предыдущие движения! Анализ кода примера решения это подтверждает. Отсюда делаем вывод о необходимости всегда работать собственной головой, а не слепо полагаться на мнение авторитетов. Пожелаем составителям сборника быстрее разобраться с этой ситуацией. Ждем от них обновленного примера решения задачи!
//Очистим формируемые наборы, чтобы не было проблем с остатками при оперативном проведении Движения.ОстаткиНоменклатуры.Записать(); Движения.Управленческий.Записать();