• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_report_helper.php
  • Класс: \CCrmInvoiceReportHelper
  • Вызов: CCrmInvoiceReportHelper::getColumnList
static function getColumnList()
{
	IncludeModuleLangFile(__FILE__);

	$columnList = array(
		'ID',
		'ACCOUNT_NUMBER',
		'ORDER_TOPIC',
		'STATUS_ID',
		'STATUS_SUB' => array(
			'IS_WORK',
			'IS_PAYED',
			'IS_CANCELED'
		),
		'DATE_BILL_SHORT',
		'DATE_FINISHED_SHORT',
		'DATE_PAY_BEFORE_SHORT',
		'PAY_VOUCHER_DATE_SHORT',
		'PAY_VOUCHER_NUM',
		'DATE_MARKED_SHORT',
		'REASON_MARKED',
		'PRICE',
		'PRICE_WORK',
		'PRICE_PAYED',
		'PRICE_CANCELED',
		'CURRENCY',
		'PERSON_TYPE_ID',
		'PAY_SYSTEM_ID',
		'ASSIGNED_BY' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'INVOICE_UTS.DEAL_BY' => array(
			'ID',
			'TITLE',
			'WEBFORM_ID',
			'IS_RETURN_CUSTOMER_BL'
		),
		'INVOICE_UTS.CONTACT_BY' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'SECOND_NAME',
			'BIRTHDATE'
		),
		'INVOICE_UTS.COMPANY_BY' => array(
			'ID',
			'TITLE'
		),
		'InvoiceSpec:INVOICE' => array(
			'ID',
			'PRODUCT_ID',
			'NAME',
			'IBLOCK_ELEMENT.NAME',
			'QUANTITY',
			'PRICE',
			'VAT_RATE_PRC',
			'SUMMARY_PRICE'
		)
	);

	foreach (array_keys(static::getUTMFieldMap()) as $fieldId)
	{
		$columnList['INVOICE_UTS.DEAL_BY'][] = $fieldId.self::UTM_FIELD_POSTFIX;
	}

	// Append user fields
	$blPostfix = defined('self::UF_BOOLEAN_POSTFIX') ? self::UF_BOOLEAN_POSTFIX : '_BLINL';
	self::prepareUFInfo();
	if (is_array(self::$ufInfo) && count(self::$ufInfo) > 0)
	{
		if (isset(self::$ufInfo['CRM_INVOICE']) && is_array(self::$ufInfo['CRM_INVOICE'])
			&& count(self::$ufInfo['CRM_INVOICE']) > 0)
		{
			foreach (self::$ufInfo['CRM_INVOICE'] as $ufKey => $uf)
			{
				if (($uf['USER_TYPE_ID'] !== 'datetime' && $uf['USER_TYPE_ID'] !== 'boolean')
					|| $uf['MULTIPLE'] === 'Y'
					|| mb_substr($ufKey, -mb_strlen(self::UF_DATETIME_SHORT_POSTFIX)) === self::UF_DATETIME_SHORT_POSTFIX
					|| mb_substr($ufKey, -mb_strlen($blPostfix)) === $blPostfix)
				{
					$columnList[] = $ufKey;
				}
			}
		}
	}

	return $columnList;
}