Показать сообщение отдельно
Старый 24.02.2004, 09:52   #1  
axz is offline
axz
Участник
 
19 / 10 (1) +
Регистрация: 04.12.2003
? Ошибка при оприходовании зарезервированного в заказанном товара?
Подскажи в чем состоит проблема с резервированием:
Возникает ошибка (Заказанное кол-во не может быть уменьшено %1, иначе количество, имеющееся в наличии, станет отрицательным) при оприходовании товара, если он был зарезервирован в заказанном (в закупках). Т.е. есть заказ, который резервирует товар не на складе, а в заказанном у поставщика товаре.

Ситуация: Физ. доступно=0, Заказанно=100, Зарезервированно в заказанном=10.
При попытке зарегистрировать закупку на 100 ед. и возникает ошибка (если регистрировать 90 или меньше, то регистрация проходит нормально, а резерв 10 ед. остается в заказанном). В методе InventUpd_Registered.writeInventTrans создается объект InventOnHand и вызывается его метод checkDepricateOrdered, в котором и выбрасывается исключение:

PHP код:
        if (this.availOrdered() < -_inventQty)
        {
            
setPrefix("Сокращение заказанного количества");
            if (
inventDimCriteria.preFix())
                
setPrefix(inventDimCriteria.preFix());
            return 
checkFailed(strFmt("Заказанное кол-во не может быть уменьшено %1,  иначе количество, имеющееся в наличии, станет отрицательным",-_inventQty));
        } 
Нормальное поведение такое: при регистрации проводки прихода, должен сниматься резерв из заказанного и снова устанавливаться, но уже в физически оприходованном товаре.