При создании строки в
SalesLine в методе таблицы
createLine вызывается метод
checkReservation().
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]server[/color] [color=:blue]void[/color] createLine(boolean validation = [color=:blue]false[/color],
boolean initFromSalesOrderTable = [color=:blue]false[/color],
boolean initFromInventTable = [color=:blue]false[/color],
boolean calcInventQty = [color=:blue]false[/color],
boolean searchMarkup = [color=:blue]true[/color],
boolean searchPrice = [color=:blue]false[/color],
boolean checkReservation = [color=:blue]false[/color],
InventTransId oldInventTransId = [color=:red]''[/color])
{
.....
[color=:blue]if[/color] (checkReservation)
this.checkReservation(); [color=:green]// Message to infolog
[/color] ....
}</div>
При обновлении строки данный метод в штатном функионале не вызывается.
(К сожалению

)) )
Предлагаю следующее решение проблемы.
Подкрутить метод
update() на таблице
SalesLine()
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]public[/color] [color=:blue]void[/color] update(boolean dropInvent = [color=:blue]false[/color],
Common childBuffer = NULL)
{
SalesLineType salesLineType;
;
[color=:green]// ZAN, message for infolog about reservation -->
[/color] [color=:blue]if[/color](this.salesTable().Reservation [color=:blue]==[/color] ItemReservation::Automatic)
this.checkReservation();
[color=:green]// ZAN, message for infolog about reservation <--
[/color]
salesLineType = this.type();
salesLineType.update(dropInvent, childBuffer);
}</div>
Ломать классы
InventUpdate и Ко не считаю необходимым в данной ситуации.
...................