Здравствуйте,
Подскажите, пожалуйста, как поступать в этом случае.
Нужно сравнить то, что есть в производственных заказах (ProdJournalProd) с тем, что есть в наличии (InventSum).
В системе используются несколько складских аналитик - А1, А2, А3. Причем А3 - это детализированные аналитики для А2. Т.е если А2 - номер большого пакета, то А3 - номер более маленького пакета в А2.
Сравнение нужно проводить в разрезе аналитики но не в полном объёме.
В ProdJournalProd - аналитки есть только А1.
В InventSum - аналитики есть А1, А2, А3.
Поэтому при сравнении должен написать запрос типа :
X++:
while select inventSum where inventSum.itemId == prodJournalProd.itemId
if(InventDim::find(inventSum.inventDimid).( 1) ==
InventDim::find(prodJournalProd.inventDimId).( 1))
{
// несколько простых суммирований.
}
Это очень долго потому что код должен пробегать по всей таблице InventSum по конкретной номенклатуре.
Есть какой-нибудь путь для оптимизации этого кода ?
Спасибо