Задавайте свои вопросы и отвечайте на вопросы других участников форума
Стандартного функционала для этого нет. Если только дорабатывать программно.
Необходимо в init.php разместить событие OnSaleOrderSaved, в котором изменять флаг доставки на разрешено. При этом проверить условие, что доставка та, которая вам нужна. Данное событие происходит в конце сохранения, когда заказ и все связанные сущности уже сохранены.
use Bitrix\Main;
Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderSaved',
'OnSaleOrderSavedHandler'
);
function OnSaleOrderSavedHandler(Main\Event $event)
{
/** @var Order $order */
$order = $event->getParameter("ENTITY");
$oldValues = $event->getParameter("VALUES");
$isNew = $event->getParameter("IS_NEW");
$shiptor_id = array(211, 216, 212);
if ($isNew)
{
$shipmentCollection = $order->getShipmentCollection();
foreach ($shipmentCollection as $shipment)
{
if (!$shipment->isSystem())
{
$originalDeliveryId = $shipment->getDeliveryId();
if(in_array($originalDeliveryId, $shiptor_id)){
$shipment->allowDelivery();
$shipment->setField('DEDUCTED', 'N');
$order->setField('STATUS_ID', 'N');
$order->save();
}
}
}
}
}