• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/integrations/report/statistics/mark.php
  • Класс: BitrixImOpenLinesIntegrationsReportStatisticsMark
  • Вызов: Mark::updateRecord
public function updateRecord(array $existingRecord)
{
	$primary = array(
		'DATE' => $this->getDate(),
		'OPEN_LINE_ID' => $this->getOpenLineId(),
		'SOURCE_ID' => $this->getSourceId(),
		'OPERATOR_ID' => $this->getOperatorId(),
	);
	$fields = array();

	iF ($this->getOldMark() !== null)
	{
		switch ($this->getOldMark())
		{
			case self::WITHOUT_MARK:
				$fields['WITHOUT_MARK_QTY'] = $existingRecord['WITHOUT_MARK_QTY'] - 1;
				break;
			case self::POSITIVE:
				$fields['POSITIVE_QTY'] = $existingRecord['POSITIVE_QTY'] - 1;
				break;
			case self::NEGATIVE:
				$fields['NEGATIVE_QTY'] = $existingRecord['NEGATIVE_QTY'] - 1;
				break;
		}
	}

	switch ($this->getMark())
	{
		case self::WITHOUT_MARK:
			$fields['WITHOUT_MARK_QTY'] = $existingRecord['WITHOUT_MARK_QTY'] + 1;
			break;
		case self::POSITIVE:
			$fields['POSITIVE_QTY'] = $existingRecord['POSITIVE_QTY'] + 1;
			break;
		case self::NEGATIVE:
			$fields['NEGATIVE_QTY'] = $existingRecord['NEGATIVE_QTY'] + 1;
			break;
	}
	DialogStatTable::update($primary, array(
		'fields' => $fields
	));
}