• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/configstatistic.php
  • Класс: BitrixImOpenLinesConfigStatistic
  • Вызов: ConfigStatistic::save
static function save(): void
{
	foreach (self::$instance as $statisticManager)
	{
		if (
			$statisticManager instanceof self
			&& $statisticManager->id > 0
			&& $statisticManager->updated === true
		)
		{
			if (!empty(ConfigStatisticTable::getRowById($statisticManager->id)))
			{
				$fieldsUpdate = [];

				if ($statisticManager->closed != 0)
				{
					$fieldsUpdate['CLOSED'] = new SqlExpression("?# + " . $statisticManager->closed , "CLOSED");
				}
				if ($statisticManager->inWork != 0)
				{
					$fieldsUpdate['IN_WORK'] = new SqlExpression("?# + " . $statisticManager->inWork , "IN_WORK");
				}
				if ($statisticManager->session != 0)
				{
					$fieldsUpdate['SESSION'] = new SqlExpression("?# + " . $statisticManager->session , "SESSION");
				}
				if ($statisticManager->lead != 0)
				{
					$fieldsUpdate['LEAD'] = new SqlExpression("?# + " . $statisticManager->lead , "LEAD");
				}
				if ($statisticManager->message != 0)
				{
					$fieldsUpdate['MESSAGE'] = new SqlExpression("?# + " . $statisticManager->message , "MESSAGE");
				}

				if (!empty($fieldsUpdate))
				{
					ConfigStatisticTable::update($statisticManager->id, $fieldsUpdate);
				}
				$statisticManager->updated = false;
			}
		}
	}
}