CCrmInvoiceRestService::fields

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmInvoiceRestService
  4. fields
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice_invoice.php
  • Класс: \CCrmInvoiceRestService
  • Вызов: CCrmInvoiceRestService::fields
static function fields()
{
	$fieldsInfo = self::getFieldsInfo();

	$fields = array();
	foreach ($fieldsInfo as $fName => $fInfo)
	{
		if (mb_substr($fName, 0, 19) === 'INVOICE_PROPERTIES.')
		{
			if (mb_substr($fName, 18) === '.{}')
			{
				$definition = array('key' => self::makeFieldInfo($fInfo));
				$fields['INVOICE_PROPERTIES']['definition'] = $definition;
			}
			elseif (mb_substr($fName, 18) === '.{}.')
				$fields['INVOICE_PROPERTIES']['definition']['value'] = self::makeFieldInfo($fInfo);
		}
		elseif (mb_substr($fName, 0, 13) === 'PRODUCT_ROWS.')
		{
			if (mb_substr($fName, 12) === '.[]')
			{
				$definition = array('row' => array());
				$fields['PRODUCT_ROWS']['definition'] = $definition;
			}
			elseif (mb_substr($fName, 12, 4) === '.[].')
			{
				$subName = mb_substr($fName, 16);
				$fieldInfo = self::makeFieldInfo($fInfo);
				$name = \CCrmProductRow::GetFieldCaption($subName);
				$fieldInfo['title'] = !empty($name) ? $name : $subName;
				$fields['PRODUCT_ROWS']['definition']['row'][$subName] = $fieldInfo;
			}
		}
		else
		{
			$fields[$fName] = self::makeFieldInfo($fInfo);
			$name = \Bitrix\Crm\InvoiceTable::getFieldCaption($fName);
			$fields[$fName]['title'] = !empty($name) ? $name : $fName;
		}
	}

	// user fields
	$ufInfos = array();
	self::prepareUserFieldsInfo($ufInfos, CCrmInvoice::$sUFEntityID);
	$fields = array_merge($fields, CCrmRestHelper::prepareFieldInfos($ufInfos));

	return $fields;
}

Добавить комментарий