• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/internals/countercalculation.php
  • Класс: Bitrix\Sender\Internals\CounterCalculation
  • Вызов: CounterCalculation::getPostingStatusUpdateFields
static function getPostingStatusUpdateFields($postingId, $statusList)
{
	if(!$postingId || count($statusList) == 0)
	{
		return null;
	}

	$postingUpdateFields = array('COUNT_SEND_ALL' => 0);

	$map = \Bitrix\Sender\PostingTable::getRecipientStatusToPostingFieldMap();
	foreach($map as $recipientStatus => $postingFieldName)
	{
		if(!array_key_exists($recipientStatus, $statusList))
		{
			continue;
		}
		else
		{
			$postingCountFieldValue = $statusList[$recipientStatus];
		}

		$postingUpdateFields['COUNT_SEND_ALL'] += $postingCountFieldValue;
		$postingUpdateFields[$postingFieldName] = $postingCountFieldValue;
	}

	if($postingUpdateFields['COUNT_SEND_ALL'] == 0)
	{
		return null;
	}

	return $postingUpdateFields;
}