- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/services/company/restrictions/delivery.php
- Класс: Bitrix\Sale\Services\Company\Restrictions\Delivery
- Вызов: Delivery::save
static function save(array $fields, $restrictionId = 0) { $serviceIds = $fields["PARAMS"]; $fields["PARAMS"] = array(); if ($restrictionId > 0) { $dbRes = CompanyServiceTable::getList( array( 'select' => array('SERVICE_ID'), 'filter' => array( 'SERVICE_TYPE' => Sale\Services\Company\Restrictions\Manager::SERVICE_TYPE_SHIPMENT, 'COMPANY_ID' => $fields['SERVICE_ID'] ) ) ); while($data = $dbRes->fetch()) { $key = array_search($data['SERVICE_ID'], $serviceIds['DELIVERY']); if (!$key) { CompanyServiceTable::delete(array('COMPANY_ID' => $fields['SERVICE_ID'], 'SERVICE_ID' => $data['SERVICE_ID'], 'SERVICE_TYPE' => Sale\Services\Company\Restrictions\Manager::SERVICE_TYPE_SHIPMENT)); } else { unset($serviceIds['DELIVERY'][$key]); } } } $result = parent::save($fields, $restrictionId); $addFields = array('COMPANY_ID' => $fields['SERVICE_ID'], 'SERVICE_TYPE' => Sale\Services\Company\Restrictions\Manager::SERVICE_TYPE_SHIPMENT); foreach ($serviceIds['DELIVERY'] as $id) { $addFields['SERVICE_ID'] = $id; CompanyServiceTable::add($addFields); } return $result; }