Добрый день.
Помогите, пожалуйста, решить задачу - нужно вывести все номенклатуры с 41 и 43 счетов, у которых себестоимость (берется из поля "Себестоимость" на форме "В наличии", на вкладке "В наличии") больше заданной. Вот код (использую дисплейный метод этой формы):
X++:
InventTable inventTable;
InventSum inventSum;
CostPriceAverage costPrice;
InventItemUnitConvert inventItemUnitConvert;
UnitId unitIdInvent, unitIdSecondary;
ItemId itemIdUnits;
;
inventItemUnitConvert = InventItemUnitConvert::newNoParameters();
while select inventTable
where inventTable.ItemGroupId == "41.01.00" ||
inventTable.ItemGroupId == "43.00.00"
{
select inventSum where inventSum.ItemId == inventTable.ItemId;
if (!itemIdUnits || inventSum.ItemId != itemIdUnits)
{
itemIdUnits = inventSum.ItemId;
unitIdInvent = inventSum.inventTable().inventUnitId();
if (!unitIdInvent || !unitIdSecondary)
unitIdSecondary = unitIdInvent;
else
if (!UnitConvert::canConvert(unitIdInvent, unitIdSecondary, inventTable.ItemId))
unitIdSecondary = unitIdInvent;
}
costPrice = inventItemUnitConvert.qty(inventSum.costPricePcs(),
unitIdSecondary,
unitIdInvent,
inventSum.ItemId);
if(costPrice > )
info(strfmt("ItemId = %1, Price = %2", inventTable.ItemId, costPrice));
Проблема в том, что считается себестоимость по одному складу (который первый попадается в inventSum), а нужно посчитать по всем, аналогично тому, как считается на форме "В наличии", если там поснимать все флаги аналитик.
К сожалению, просмотр других тем со словами "себестоимость" мне не помог.