Общая методика контроля остатков при проведении документа заключается в следующем: сначала, не глядя ни на что, нужно записать движения документа, а затем, когда движения уже записаны, прочитать из базы данных остатки.
Если появились отрицательные остатки, значит, такой документ проводить нельзя. Нужно сообщить пользователю, каких материалов не хватает, и отменить проведение документа.
Если же отрицательных остатков не появилось, тогда можно смело проводить документ.
Полдела у нас уже сделано: мы формируем движения документа и записываем их. Единственное, что нам осталось, — в случае оперативного проведения проконтролировать, что получилось, и, если появились отрицательные остатки, отменить проведение документа.