- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/update/order/dealgenerator.php
- Класс: Bitrix\Crm\Update\Order\DealGenerator
- Вызов: DealGenerator::getUnbindingActiveOrdersCount
static function getUnbindingActiveOrdersCount() : int
{
$query = new Main\Entity\Query(Sale\Internals\OrderTable::getEntity());
$query->registerRuntimeField(
'',
new Main\Entity\ExpressionField(
'CNT',
'COUNT(*)'
)
);
$query->registerRuntimeField('',
new Main\Entity\ReferenceField(
'ENTITY_BINDING',
Crm\Binding\OrderEntityTable::getEntity(),
[
'=ref.ORDER_ID' => 'this.ID',
],
[
'join_type' => 'LEFT'
]
)
);
$query
->setSelect(['CNT'])
->whereNotIn(
'STATUS_ID',
[
Crm\Order\OrderStatus::getFinalStatus(),
Crm\Order\OrderStatus::getFinalUnsuccessfulStatus()
]
)
->whereNull('ENTITY_BINDING.ORDER_ID')
;
$data = $query->fetch();
if ($data)
{
return $data['CNT'];
}
return 0;
}