- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/statistics/entity/invoicesumstatistics.php
- Класс: Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable
- Вызов: InvoiceSumStatisticsTable::upsert
static function upsert(array $data)
{
$fields = array(
'BILL_DATE' => isset($data['BILL_DATE']) ? $data['BILL_DATE'] : null,
'PAY_BEFORE_DATE' => isset($data['PAY_BEFORE_DATE']) ? $data['PAY_BEFORE_DATE'] : null,
'PAID_DATE' => isset($data['PAID_DATE']) ? $data['PAID_DATE'] : null,
'IS_PAID_INTIME' => isset($data['IS_PAID_INTIME']) ? $data['IS_PAID_INTIME'] : '',
'CLOSED_DATE' => isset($data['CLOSED_DATE']) ? $data['CLOSED_DATE'] : null,
'RESPONSIBLE_ID' => isset($data['RESPONSIBLE_ID']) ? $data['RESPONSIBLE_ID'] : 0,
'COMPANY_ID' => isset($data['COMPANY_ID']) ? $data['COMPANY_ID'] : 0,
'CONTACT_ID' => isset($data['CONTACT_ID']) ? $data['CONTACT_ID'] : 0,
'STATUS_SEMANTIC_ID' => isset($data['STATUS_SEMANTIC_ID']) ? $data['STATUS_SEMANTIC_ID'] : '',
'STATUS_ID' => isset($data['STATUS_ID']) ? $data['STATUS_ID'] : '',
'IS_JUNK' => isset($data['IS_JUNK']) ? $data['IS_JUNK'] : '',
'CURRENCY_ID' => isset($data['CURRENCY_ID']) ? $data['CURRENCY_ID'] : '',
'SUM_TOTAL' => isset($data['SUM_TOTAL']) ? $data['SUM_TOTAL'] : 0.0,
'UF_SUM_1' => isset($data['UF_SUM_1']) ? $data['UF_SUM_1'] : 0.0,
'UF_SUM_2' => isset($data['UF_SUM_2']) ? $data['UF_SUM_2'] : 0.0,
'UF_SUM_3' => isset($data['UF_SUM_3']) ? $data['UF_SUM_3'] : 0.0,
'UF_SUM_4' => isset($data['UF_SUM_4']) ? $data['UF_SUM_4'] : 0.0,
'UF_SUM_5' => isset($data['UF_SUM_5']) ? $data['UF_SUM_5'] : 0.0,
'UF_ATTR_1' => isset($data['UF_ATTR_1']) ? $data['UF_ATTR_1'] : 0
);
$connection = Main\Application::getConnection();
$queries = $connection->getSqlHelper()->prepareMerge(
'b_crm_invoice_sum_stat',
array('OWNER_ID', 'CREATED_DATE'),
array_merge(
$fields,
array(
'OWNER_ID' => isset($data['OWNER_ID']) ? $data['OWNER_ID'] : 0,
'CREATED_DATE' => isset($data['CREATED_DATE']) ? $data['CREATED_DATE'] : null,
//'PERIOD_YEAR' => isset($data['PERIOD_YEAR']) ? $data['PERIOD_YEAR'] : 0,
//'PERIOD_QUARTER' => isset($data['PERIOD_QUARTER']) ? $data['PERIOD_QUARTER'] : 0,
//'PERIOD_MONTH' => isset($data['PERIOD_MONTH']) ? $data['PERIOD_MONTH'] : 0,
//'PERIOD_DAY' => isset($data['PERIOD_DAY']) ? $data['PERIOD_DAY'] : 0
)
),
$fields
);
foreach($queries as $query)
{
$connection->queryExecute($query);
}
}