Предлагаю перед тем как воспроизводить глюк создать аналитики вот таким джобом
X++:
static void Job378(Args _args)
{
#define.inventBatchId1("BatchID1")
#define.inventBatchId2("BatchID2")
#define.InventLocationIDFrom("From")
#define.InventLocationIDTO("To")
InventDim InventDim;
;
ttsBegin;
InventDim.InventLocationId = #InventLocationIDFrom;
InventDim.inventBatchId = #inventBatchId1;
InventDim::findOrCreate(InventDim);
InventDim.clear();
InventDim.InventLocationId = #InventLocationIDFrom;
InventDim.inventBatchId = #inventBatchId2;
InventDim::findOrCreate(InventDim);
InventDim.clear();
InventDim.InventLocationId = #InventLocationIDTo;
InventDim.inventBatchId = #inventBatchId2;
InventDim::findOrCreate(InventDim);
InventDim.clear();
InventDim.InventLocationId = #InventLocationIDTo;
InventDim.inventBatchId = #inventBatchId1;
InventDim::findOrCreate(InventDim);
InventDim.clear();
ttsCommit;
}
затем на обе аналитики поднять остатки и попробовать пример Yprit
Должно сработать.
P.S. В данном джобе я просто заранее создаю аналитики с нужным порядком следования InventDimId, чтобы на одном складе с большему значению InventBatch соответствовало большее значение InventDimID а на другом складе наоборот.
В ax4.0 и ax5.0 может помешать тот факт что выравнивание InventDimID левое - в этом случае нужно убедиться что джоб правильно создал все. - Проблема может возникнуть, если при выделении номера аналитики - число значащих цифр увеличится. Для правого выравнивания гарантировано должно воспроизвестись.
(в общем проще свои номера InventDimId константами пробить)