• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/bizproc/document/order.php
  • Класс: Bitrix\Crm\Integration\BizProc\Document\Order
  • Вызов: Order::getEntityFields
static function getEntityFields($entityType)
{
	$fields = [
		'ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_ID'),
			'Type' => 'int',
		),
		'ACCOUNT_NUMBER' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_ACCOUNT_NUMBER'),
			'Type' => 'string',
		),
		'SHOP_TITLE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_SHOP_TITLE'),
			'Type' => 'string',
		),
		'SHOP_PUBLIC_URL' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_SHOP_PUBLIC_URL'),
			'Type' => 'string',
		),
		'DATE_INSERT' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_INSERT'),
			'Type' => 'date',
		),
		'DATE_UPDATE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_UPDATE'),
			'Type' => 'date',
		),
		'PERSON_TYPE_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_PERSON_TYPE_ID'),
			'Type' => 'string',
		),
		'USER_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_USER_ID'),
			'Type' => 'user',
		),
		'USER_ID_PRINTABLE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_USER_ID_PRINTABLE'),
			'Type' => 'string',
		),
		'PAYED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_PAYED'),
			'Type' => 'bool',
		),
		'DATE_PAYED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_PAYED'),
			'Type' => 'date',
		),
		'EMP_PAYED_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_EMP_PAYED_ID'),
			'Type' => 'user',
		),
		'DEDUCTED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DEDUCTED'),
			'Type' => 'bool',
		),
		'DATE_DEDUCTED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_DEDUCTED'),
			'Type' => 'date',
		),
		'EMP_DEDUCTED_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_EMP_DEDUCTED_ID'),
			'Type' => 'user',
		),
		'REASON_UNDO_DEDUCTED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_REASON_UNDO_DEDUCTED'),
			'Type' => 'string',
		),
		'STATUS_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_STATUS_ID'),
			'Type' => 'select',
			'Options' => self::getStatusOptions()
		),
		'DATE_STATUS' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_STATUS'),
			'Type' => 'date',
		),
		'EMP_STATUS_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_EMP_STATUS_ID'),
			'Type' => 'user',
		),
		'PRICE_DELIVERY' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_PRICE_DELIVERY'),
			'Type' => 'double',
		),
		'ALLOW_DELIVERY' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_ALLOW_DELIVERY'),
			'Type' => 'bool',
		),
		'DATE_ALLOW_DELIVERY' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_ALLOW_DELIVERY'),
			'Type' => 'date',
		),
		'EMP_ALLOW_DELIVERY_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_EMP_ALLOW_DELIVERY_ID'),
			'Type' => 'user',
		),
		'RESERVED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_RESERVED'),
			'Type' => 'bool',
		),
		'PRICE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_PRICE'),
			'Type' => 'double',
		),
		'CURRENCY' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_CURRENCY'),
			'Type' => 'select',
			'Options' => \CCrmCurrencyHelper::PrepareListItems(),
		),
		'PRICE_FORMATTED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_PRICE_FORMATTED'),
			'Type' => 'string',
		),
		'TAX_VALUE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_TAX_VALUE'),
			'Type' => 'double',
		),
		'SUM_PAID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_SUM_PAID'),
			'Type' => 'double',
		),
		'USER_DESCRIPTION' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_USER_DESCRIPTION'),
			'Type' => 'string',
		),
		'ADDITIONAL_INFO' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_ADDITIONAL_INFO'),
			'Type' => 'string',
			'Editable' => true,
		),
		'COMMENTS' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_COMMENTS'),
			'Type' => 'string',
			'Editable' => true,
		),
		'CREATED_BY' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_CREATED_BY'),
			'Type' => 'user',
		),
		'RESPONSIBLE_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_RESPONSIBLE_ID'),
			'Type' => 'user',
			'Editable' => true,
		)
	];

	$fields += self::getResponsibleFields();

	$fields += [
		'DATE_PAY_BEFORE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_PAY_BEFORE'),
			'Type' => 'date',
			'Editable' => true,
		),
		'DATE_BILL' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_BILL'),
			'Type' => 'date',
		),
		'CANCELED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_CANCELED'),
			'Type' => 'bool',
		),
		'EMP_CANCELED_ID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_EMP_CANCELED_ID'),
			'Type' => 'user',
		),
		'DATE_CANCELED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_DATE_CANCELED'),
			'Type' => 'date',
		),
		'REASON_CANCELED' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_REASON_CANCELED'),
			'Type' => 'string',
		),
		'LID' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_LID'),
			'Type' => 'string',
		),
		'LID_PRINTABLE' => array(
			'Name' => GetMessage('CRM_BP_DOCUMENT_ORDER_FIELD_LID_PRINTABLE'),
			'Type' => 'string',
		),
	];

	$fields += self::getShippingFields();
	$fields += self::getUserFieldsMap();

	self::appendReferenceFields(
		$fields,
		\CCrmDocumentContact::getEntityFields(\CCrmOwnerType::ContactName),
		\CCrmOwnerType::Contact
	);

	self::appendReferenceFields(
		$fields,
		\CCrmDocumentCompany::getEntityFields(\CCrmOwnerType::CompanyName),
		\CCrmOwnerType::Company
	);

	return $fields;
}