|
|
|
|
#1 |
|
Участник
|
Оно тоже не выбирается.
Кстати, не могу сейчас придумать, как достать связанную с полученной InventSum запись из InventDim
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
|
#2 |
|
Участник
|
Можно попробовать такой ход:
Изменить метод \Classes\InventDimCtrl_Frm_OnHand\modifyQuery так: (это в самом верху почти) Код: qBSSum.addSortField(fieldnum(InventSum,itemId));
qbSSum.addSelectionField(fieldNum(inventSum, InventDimId), SelectionField::Max);
criteriaClosed = qBSSum.findRange(FieldNum(InventSum,closed));(tb.appendText(Tabl1.Itemid + "\t" + tabl1.InventDimId + '\n') ![]() НО: необходимо помимо этого анализировать, какие выбраны аналитики. Так как аналитика выбиралась максимальная, то в ней могут быть заполнены не только указанные поля, а и другие, которые съелись в группировке. Получить выбранные флаги можно так element.inventDimSetupObject().parmDimParmVisibleGrid(); (вернет таблицу InventDimParm) и уже анализируя ее можем выбрать только те складские аналитики, которые действительно нужно учитывать. |
|
|
|
|
#3 |
|
Участник
|
Цитата:
. Там ещё подзапрос сделал в цикле , заново отыискать :Код: invDim = Tabl1.inventDim();
select firstonly invD2
where invD2.configId == invDim.configId &&
invD2.InventLocationId == invDim.InventLocationId &&
invD2.inventSerialId == invDim.inventSerialId &&
invD2.inventBatchId == invDim.inventBatchId;
if ( invD2 )
{
cStr = Tabl1.ItemId+";"+invD2.InventDimId+";"+num2str(Tabl1.AvailPhysical,12,1,0,0);
tb.appendText(cStr+"\n");
} Спасибо ! С уважением , Римантас |
|
|