addError( new Main\Error(Loc::getMessage('SALE_DLVRS_ADD_DREQ_RBATCHDA_01'))); return $result; } $requestId = current($requestIds); if(intval($requestId) <= 0) { $result->addError( new Main\Error(Loc::getMessage('SALE_DLVRS_ADD_DREQ_RBATCHDA_02'))); return $result; } $res =Requests\RequestTable::getList(array( 'filter' => array( '=ID' => $requestId ) )); $row = $res->fetch(); if(!$row || $row['EXTERNAL_ID'] == '') { $result->addError( new Main\Error(Loc::getMessage('SALE_DLVRS_ADD_DREQ_RBATCHDA_03'))); return $result; } $this->path = str_replace('{name}', $row['EXTERNAL_ID'], $this->path); $result = $this->send(); foreach($result->getErrors() as $error) { if($error->getCode() == 'STATUS_400') { /** @var \Sale\Handlers\Delivery\Additional\DeliveryRequests\RusPost\Handler $deliveryRequest */ $deliveryRequest = $this->deliveryService->getDeliveryRequestHandler(); $result = $deliveryRequest->getRequestObject('BATCH_DOC_PREPARE')->process($requestIds, array()); if($result->isSuccess()) $result = $this->send(); break; } } return $result; } }