- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/controller/synchronizer.php
- Класс: BitrixSaleControllerSynchronizer
- Вызов: Synchronizer::setDefaultSettingsAction
public function setDefaultSettingsAction()
{
$r = new Result();
$manager = new BitrixSaleRestSynchronizationManager();
$personId = BitrixSalePersonType::getList(['select'=>['ID', 'NAME'],'order'=>'ID', 'limit'=>1])->fetch()['ID'];
if((int)$personId>0)
{
$manager->setDefaultPersonTypeId($personId);
}
else
{
$r->addError(new Error('person type not found'));
}
$ps = Manager::getList(
[
'select'=>['ID'],
'filter'=>['!ID'=>Manager::getInnerPaySystemId(), 'ENTITY_REGISTRY_TYPE'=>'ORDER'],
'order'=>['ID'=>'ASC'],
'limit'=>1
]
)->fetchAll();
$paySystemId = isset($ps[0])? $ps[0]['ID']:0;
if((int)$paySystemId>0)
{
$manager->setDefaultPaySystemId($paySystemId);
}
else
{
$r->addError(new Error('paysystem not found'));
}
$deliverySystemId = EmptyDeliveryService::getEmptyDeliveryServiceId();
if((int)$deliverySystemId>0)
{
$manager->setDefaultDeliverySystemId($deliverySystemId);
}
else
{
$r->addError(new Error('deliverysystem not found'));
}
$manager->setDefaultSiteId(SITE_ID);
$manager->setDefaultDeliveryStatusId(DeliveryStatus::getInitialStatus());
$manager->setDefaultOrderStatusId(OrderStatus::getInitialStatus());
if($r->isSuccess())
{
$manager->activate();
return true;
}
else
{
$manager->deactivate();
$this->addErrors($r->getErrors());
return null;
}
}