Цитата:
Сообщение от
RedFox
И вот очередная ошибка по складу, любезно указанная _enjoy_.
Проблема:
Товар А хранится на складе в единицах изм. "PCS" в ячейке Х.
Затем продаётся в единицах изм. "BOX".
1. Создается Заказ Продажи с Товаром А в ед.изм. "BOX"
2. Из Заказа создаю складскую Отгрузку с Товаром А в единицах изм. "BOX".
3. Из Отгрузки создаю Подбор: беру Товар А в ед.изм. "BOX" из ячейки Х и кладу Товар А в "BOX" в ту же ячейку Х. Регистрирую Подбор.
4. Отгрузка не учитыватеся у т.к. в ячейке Х Товар А по прежнему лежит в "PCS" а не "BOX"
В настройках склада настроены все операции, кроме Расширенный Подбор и Размещение=Нет
Анализ ошибки: .... И мы получили счастье!!!
Вот пришлось провести анализ ошибки:
Косметические исправления в 2 кодеюнитах:
- Для изменения Единиц Имерения.
Код:
//--RedFox
// IF Location."Directed Put-away and Pick" THEN BEGIN
//++RedFox
WhseJnlLine.Quantity := "Qty. to Handle";
WhseJnlLine."Unit of Measure Code" := "Unit of Measure Code";
WhseJnlLine."Qty. per Unit of Measure" := "Qty. per Unit of Measure";
GetItemUnitOfMeasure2("Item No.","Unit of Measure Code");
WhseJnlLine.Cubage :=
ABS(WhseJnlLine.Quantity) * ItemUnitOfMeasure.Cubage;
WhseJnlLine.Weight :=
ABS(WhseJnlLine.Quantity) * ItemUnitOfMeasure.Weight;
//--RedFox
{
END ELSE BEGIN
WhseJnlLine.Quantity := "Qty. to Handle (Base)";
WhseJnlLine."Unit of Measure Code" := WMSMgt.GetBaseUOM("Item No.");
WhseJnlLine."Qty. per Unit of Measure" := 1;
END;
}
//++RedFox
- для создания Внутрених перемещений по складу:
Код:
IF NOT Location."Directed Put-away and Pick" THEN BEGIN
TotalQtytoPick := ROUND(TotalQtytoPick * QtyPerUnitofMeasure,0.00001);
//--RedFox
IF Location."Always Create Movement" THEN
IF (WhseSource = WhseSource::"Movement Worksheet") AND (FromBinCode <> '') THEN
InsertTmpActLnFromMovWkshLine(LocationCode,ItemNo,VariantCode,FromBinCode,
QtyPerUnitofMeasure,TotalQtytoPick,TempWhseItemTrkgLine,TotalQtytoPickBase);
//++RedFox
P.S. Последнее попозже причешу, чтобы не нарушать "красоту"..