• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/crmentitydataprovider.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider
  • Вызов: CrmEntityDataProvider::getCommonFields
public function getCommonFields(): array
{
	$fields = [];

	if ($this->isEnableMyCompany())
	{
		$fields['MY_COMPANY'] = [
			'PROVIDER' => Company::class,
			'VALUE' => [$this, 'getMyCompanyId'],
			'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_MY_COMPANY_TITLE'),
			'OPTIONS' => [
				'MY_COMPANY' => 'Y',
				'VALUES' => [
					'REQUISITE' => $this->getMyCompanyRequisiteId(),
					'BANK_DETAIL' => $this->getMyCompanyBankDetailId(),
				],
				'isLightMode' => true,
			],
		];
	}

	$fields['REQUISITE'] = [
		'PROVIDER' => Requisite::class,
		'VALUE' => [$this, 'getRequisiteId'],
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CUSTOMER_REQUISITE_TITLE'),
	];
	$fields['BANK_DETAIL'] = [
		'PROVIDER' => BankDetail::class,
		'VALUE' => [$this, 'getBankDetailId'],
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_BANK_DETAIL_TITLE'),
	];
	$fields[static::QR_CODE_FIELD_NAME] = [
		'TYPE' => static::FIELD_TYPE_IMAGE,
		'VALUE' => [$this, 'getPaymentQrCode'],
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_PAYMENT_QR_CODE_TITLE'),
	];

	$fields['COMPANY'] = [
		'PROVIDER' => Company::class,
		'VALUE' => [$this, 'getCompanyId'],
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_COMPANY_TITLE'),
		'OPTIONS' => [
			'DISABLE_MY_COMPANY' => true,
			'VALUES' => [
				'REQUISITE' => $this->getRequisiteId(),
				'BANK_DETAIL' => $this->getBankDetailId(),
			],
			'isLightMode' => true,
		]
	];
	$fields['CONTACT'] = [
		'PROVIDER' => Contact::class,
		'VALUE' => [$this, 'getContactId'],
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CONTACT_TITLE'),
		'OPTIONS' => [
			'DISABLE_MY_COMPANY' => true,
			'isLightMode' => true,
		],
	];

	$fields['ASSIGNED'] = [
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_ASSIGNED_TITLE'),
		'VALUE' => [$this, 'getAssignedId'],
		'PROVIDER' => User::class,
		'OPTIONS' => [
			'FORMATTED_NAME_FORMAT' => [
				'format' => static::getNameFormat(),
			]
		]
	];

	$fields['CLIENT_PHONE'] = [
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CLIENT_PHONE_TITLE'),
		'VALUE' => [$this, 'getClientPhone'],
		'TYPE' => 'PHONE',
		'FORMAT' => [
			'mfirst' => true,
		],
	];
	$fields['CLIENT_EMAIL'] = [
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CLIENT_EMAIL_TITLE'),
		'VALUE' => [$this, 'getClientEmail'],
		'FORMAT' => [
			'mfirst' => true,
		],
	];
	$fields['CLIENT_WEB'] = [
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CLIENT_WEB_TITLE'),
		'VALUE' => [$this, 'getClientWeb'],
		'FORMAT' => [
			'mfirst' => true,
		],
	];
	$fields['CLIENT_NAME'] = [
		'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_CLIENT_NAME'),
		'VALUE' => [$this, 'getClientName'],
	];

	if($this->hasLeadField())
	{
		$fields['LEAD'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_LEAD_TITLE'),
			'PROVIDER' => Lead::class,
			'VALUE' => 'LEAD_ID',
			'OPTIONS' => [
				'isLightMode' => true,
			],
		];
	}

	return $fields;
}