|
![]() |
#1 |
Участник
|
Все добрый день!
У меня вопрос, если кто поможет огромное спасибо! 1. создаю заказ продажи 2. из него создаю отгрузку. 3. из отгрузки создаю подбор и регистрирую его 4. далее учитываю отгрузку. 5. теперь хочу отменить отгрузку, но появляется сообщение "Невозможно отменить строку 10000, поскольку строки складского размещения уже были созданы"... я пробовала удалять зарегистрированный подбор... но мне не помогло... |
|
![]() |
#2 |
Участник
|
Как вариант:
Создайте возврат, и размещение в те же ячейки... |
|
![]() |
#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 вроде работает ![]() |
|
![]() |
#4 |
Участник
|
спасибо!
сейчас попробую. |
|
![]() |
#5 |
Участник
|
Немножко покритикую код
![]() |
|
![]() |
#6 |
Administrator
|
спасибо за критику, но записи в Warehouse Entry и в Bin Content не трогаются, поскольку товар пока не разложен обратно и ФИЗИЧЕСКИ живет в зоне отгрузки и его надо ФИЗИЧЕСКИ взять и положить обратно и далеко не факт, что попадут в ту же ячейку, откуда взяли.
код необходим для повторного создания подбора по этой отгрузке, взамен неправильного товара. ![]() задача примерно такая была: подобрали, товар ждет клиента на воротах, в коробку врезается грузчик, коробку надо заменить, подобрав вторую такую же, а эту сунуть в брак. |
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от Marija2007
![]() 1. создаю заказ продажи
2. из него создаю отгрузку. 3. из отгрузки создаю подбор и регистрирую его 4. далее учитываю отгрузку. 5. теперь хочу отменить отгрузку, но появляется сообщение "Невозможно отменить строку 10000, поскольку строки складского размещения уже были созданы"... |
|
![]() |
#9 |
Участник
|
Коллеги, а где-нибудь есть галка, чтобы после отмены накладной прихода/расхода проводки на это действие либо не формировались бы совсем, либо формировались, но при этом сторнировали бы сами себя?
|
|