25.03.2005, 08:29 | #1 |
Участник
|
Обезличивание аналитики "Партия"
Приветствую всех!
Создано большое количество складских переносов с головного склада на региональные склады и магазины. По готовой продукции ведется аналитика "Партия". Теперь есть потребность обезличить партии на магазинах, т.е. предпологается обойти все строки InventDim по данному магазину и реальную партию заменить на обезличенную, а потом еще совпадающие аналитики объединить. Не могу понять, как можно этого добиться. Просто inventDim.InventBatchId вроде переделать нельзя. То что ниже написано вроде тоже не то, последнюу строку кода написал, но так и не понял. InventDim inventDim; InventDim inventDimShadow; InventBatch inventBatch; InventBatch inventBatchShadow; ; WHILE SELECT FORUPDATE inventDim WHERE inventDim.InventLocationId == _InventLocationId { // Если этот ИнвентДим уже с объединенной партией, то пропустить if(substr(inventDim.inventBatchId, 1, strlen(_AggregateMask)) == _AggregateMask) continue; // Найти партию к данному ИнвентДим SELECT FIRSTONLY inventBatch WHERE inventBatch.inventBatchId == inventDim.inventBatchId; if(!inventBatch) continue; // Найти объединенную партию, если не нашли то создать SELECT FIRSTONLY inventBatchShadow WHERE inventBatchShadow.inventBatchId == "Мг-" + inventBatch.itemId; if(!inventBatchShadow) { if(!_SilenceMode) info("Создание партии " + _AggregateMask + inventBatch.itemId); TTSBegin; inventBatchShadow.clear(); inventBatchShadow.initValue(); inventBatchShadow.itemId = inventBatch.itemId; inventBatchShadow.inventBatchId = _AggregateMask + inventBatch.itemId; inventBatchShadow.write(); TTSCommit; } // Найти объединенный ИнвентДим, если не нашли то создать inventDimShadow = InventDim::findDim(inventDim); inventDimShadow.InventBatchId = inventBatchShadow.inventBatchId; inventDimShadow = InventDim::findOrCreate(inventDimShadow); // Перенести ИнвентДим в объединенный if(!_SilenceMode) info(strfmt("Перенос данных из партии %1 в %2", inventDim.inventDimId, inventDimShadow.inventDimId)); inventDimShadow.merge(inventDim); } |
|
25.03.2005, 10:05 | #2 |
Administrator
|
Не понял, зачем это надо? Поставьте пропуск для расходов по партиям, если хотите, чтобы система сама подбирала партию при расходе из магазина. Или при переносе в магазины изменяйте не только склад, но и партию.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
27.03.2005, 17:15 | #3 |
Участник
|
Цитата:
Изначально опубликовано Maxim Gorbunov
Не понял, зачем это надо? Поставьте пропуск для расходов по партиям, если хотите, чтобы система сама подбирала партию при расходе из магазина. Или при переносе в магазины изменяйте не только склад, но и партию. Только чего я не понял - зачем это все нужно... |
|