Для вашего, тысызыть, удобства... В.И. Ленин, избранные места из переписки с Каутским
PHP код:
protected void updateReserveMore()
{
...
// Бла-бла-бла
...
#Define.availPhysical(1)
#Define.availOrdered(2)
;
loopReserveType = this.parmAllowReservePhysical() ? 0 :
(this.parmAllowReserveOrdered() ? 1 : 3);
...
// Бла-бла-бла
...
query = InventSum::newQuery(NULL,movement.itemId(),inventDimCriteria,inventDimParm,InventDimParm::activeDimFlag(movement.dimGroupId()));
switch ((loopReserveType!=0) ? 2 : 1)
{
case(#AvailPhysical) :
query.dataSourceTable(TableNum(InventSum)).addRange(FieldNum(InventSum,availPhysical)).value('!0'); // Ежели НЕ стоит крыжик Разрешено резервировать в заказах - то добавляем ограничение не равно нулю по соответствющему полю
if (allowReserveByDate)
query.dataSourceTable(TableNum(InventSum)).addSortField(FieldNum(InventSum,LastUpdDatePhysical)); // Во, это то что нам надо - видите, какое поле участвует в сортировке? Оно вам подходит?
break;
case(#AvailOrdered) :
query.dataSourceTable(TableNum(InventSum)).addRange(FieldNum(InventSum,availOrdered)).value('!0');// Ежели стоит крыжик Разрешено резервировать в заказах - то добавляем ограничение не равно нулю по соответствющему полю
if (allowReserveByDate)
{
if ((loopReserveType == 1 && allowReserveReversed))
{
query.dataSourceTable(TableNum(InventSum)).addSortField(FieldNum(InventSum,LastUpdDateExpected),sortorder : : DESCENDING);
query.dataSourceTable(tableNum(inventSum)).addRange(FieldNum(InventSum,LastUpdDateExpected)).value('..'+queryValue(movement.transDate())); // тож обратите внимание на поле даты...
}
else
query.dataSourceTable(TableNum(InventSum)).addSortField(FieldNum(InventSum,LastUpdDateExpected),sortorder::ASCENDING);
}// ...и здесь...
..
// дальше опять пошел бла-бла-бла
}