Подскажи в чем состоит проблема с резервированием:
Возникает ошибка (Заказанное кол-во не может быть уменьшено %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));
}
Нормальное поведение такое: при регистрации проводки прихода, должен сниматься резерв из заказанного и снова устанавливаться, но уже в физически оприходованном товаре.