14.05.2009, 12:11 | #1 |
Участник
|
Все добрый день!
У меня вопрос, если кто поможет огромное спасибо! 1. создаю заказ продажи 2. из него создаю отгрузку. 3. из отгрузки создаю подбор и регистрирую его 4. далее учитываю отгрузку. 5. теперь хочу отменить отгрузку, но появляется сообщение "Невозможно отменить строку 10000, поскольку строки складского размещения уже были созданы"... я пробовала удалять зарегистрированный подбор... но мне не помогло... |
|
14.05.2009, 12:29 | #2 |
Участник
|
Как вариант:
Создайте возврат, и размещение в те же ячейки... |
|
14.05.2009, 12:54 | #3 |
Administrator
|
недавно делал частичную отмену подбора.
в отгрузке нажимаем Отгрузка - Зарегистрированные строки подбора там делаем функцию Строка - Отменить подбор и вызываем следующий код, передавая в него Реку (_RegWHActivityLine): _RegWHActivityLine1.SETRANGE("Whse. Document Type" , _RegWHActivityLine."Whse. Document Type"); _RegWHActivityLine1.SETRANGE("Whse. Document No." , _RegWHActivityLine."Whse. Document No."); _RegWHActivityLine1.SETRANGE("Whse. Document Line No.", _RegWHActivityLine."Whse. Document Line No."); _RegWHActivityLine1.SETFILTER("Action Type", '<>%1' , _RegWHActivityLine."Action Type"); IF _RegWHActivityLine."Serial No." <> '' THEN _RegWHActivityLine1.SETRANGE("Serial No." , _RegWHActivityLine."Serial No."); IF NOT _RegWHActivityLine1.FIND('-') THEN EXIT; _WHShipmentLine.SETRANGE("No." , _RegWHActivityLine."Whse. Document No."); _WHShipmentLine.SETRANGE("Line No." , _RegWHActivityLine."Whse. Document Line No."); IF _WHShipmentLine.FIND('-') THEN BEGIN _WHShipmentLine."Qty. Picked" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. Picked (Base)" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. to Ship" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. to Ship (Base)" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Completely Picked" := FALSE; _WHShipmentLine.MODIFY(); END; IF _RegWHActivityLine."Serial No." <> '' THEN BEGIN _ReservationEntry.SETRANGE("Serial No.", _RegWHActivityLine."Serial No."); IF _ReservationEntry.FIND('-') THEN _ReservationEntry.DELETEALL(); _WhseItemTrackLine.SETRANGE("Serial No.", _RegWHActivityLine."Serial No."); IF _WhseItemTrackLine.FIND('-') THEN _WhseItemTrackLine.DELETEALL(); END; _RegWHActivityLine1.DELETE; _RegWHActivityLine.DELETE; переменные: Name DataType Subtype _RegWHActivityLine1 Record Registered Whse. Activity Line _WHShipmentLine Record Warehouse Shipment Line _ReservationEntry Record Reservation Entry _WhseItemTrackLine Record Whse. Item Tracking Line вроде работает |
|
14.05.2009, 13:57 | #4 |
Участник
|
спасибо!
сейчас попробую. |
|
15.05.2009, 09:31 | #5 |
Участник
|
Немножко покритикую код Если включена WMS в нем нужно бы дописать еще отмену складских операций т.к записи возникают еще например в табличке "Warehouse Entry" и еще нескольких.
|
|
15.05.2009, 11:19 | #6 |
Administrator
|
спасибо за критику, но записи в Warehouse Entry и в Bin Content не трогаются, поскольку товар пока не разложен обратно и ФИЗИЧЕСКИ живет в зоне отгрузки и его надо ФИЗИЧЕСКИ взять и положить обратно и далеко не факт, что попадут в ту же ячейку, откуда взяли.
код необходим для повторного создания подбора по этой отгрузке, взамен неправильного товара. задача примерно такая была: подобрали, товар ждет клиента на воротах, в коробку врезается грузчик, коробку надо заменить, подобрав вторую такую же, а эту сунуть в брак. |
|
15.05.2009, 14:40 | #7 |
Участник
|
|
|
25.05.2009, 23:35 | #8 |
Участник
|
Цитата:
Сообщение от Marija2007
1. создаю заказ продажи
2. из него создаю отгрузку. 3. из отгрузки создаю подбор и регистрирую его 4. далее учитываю отгрузку. 5. теперь хочу отменить отгрузку, но появляется сообщение "Невозможно отменить строку 10000, поскольку строки складского размещения уже были созданы"... |
|
25.06.2014, 12:27 | #9 |
Участник
|
Коллеги, а где-нибудь есть галка, чтобы после отмены накладной прихода/расхода проводки на это действие либо не формировались бы совсем, либо формировались, но при этом сторнировали бы сами себя?
|
|