• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/contact.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Contact
  • Вызов: Contact::getFields
public function getFields()
{
	if($this->fields === null)
	{
		parent::getFields();
		$this->fields['HONORIFIC_NAME'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_CONTACT_HONORIFIC_TITLE'),
			'VALUE' => [$this, 'getHonorificName'],
		];
		$this->fields['FORMATTED_NAME'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_FORMATTED_NAME_TITLE'),
			'VALUE' => [$this, 'getFormattedName'],
		];
		$this->fields['ADDRESS']['VALUE'] = [$this, 'getAddress'];
		$this->fields['ADDRESS']['TYPE'] = \Bitrix\Crm\Integration\DocumentGenerator\Value\Address::class;
		$this->fields['TYPE'] = ['TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_CONTACT_TYPE_TITLE'),];
		$this->fields['SOURCE'] = ['TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_CONTACT_SOURCE_TITLE'),];
		$this->fields['EMAIL_HOME'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_EMAIL_HOME_TITLE'),
			'VALUE' => [$this, 'getHomeEmail'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['EMAIL_WORK'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_EMAIL_WORK_TITLE'),
			'VALUE' => [$this, 'getWorkEmail'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['PHONE_MOBILE'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_PHONE_MOBILE_TITLE'),
			'TYPE' => 'PHONE',
			'VALUE' => [$this, 'getMobilePhone'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['PHONE_WORK'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_PHONE_WORK_TITLE'),
			'TYPE' => 'PHONE',
			'VALUE' => [$this, 'getWorkPhone'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['PHONE_HOME'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_PHONE_HOME_TITLE'),
			'TYPE' => 'PHONE',
			'VALUE' => [$this, 'getHomePhone'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['PHONE_ANOTHER'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_PHONE_ANOTHER_TITLE'),
			'VALUE' => [$this, 'getAnotherPhone'],
			'TYPE' => 'PHONE',
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['EMAIL_ANOTHER'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_EMAIL_ANOTHER_TITLE'),
			'VALUE' => [$this, 'getAnotherEmail'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['IMOL'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_IMOL_TITLE'),
			'VALUE' => [$this, 'getClientIm'],
			'FORMAT' => [
				'mfirst' => true,
			],
		];
		$this->fields['NAME']['VALUE'] = [$this, 'getNameData'];
		$this->fields['NAME']['TYPE'] = static::FIELD_TYPE_NAME;
		$this->fields['NAME']['FORMAT'] = ['format' => '#NAME#'];

		$this->fields['SECOND_NAME']['VALUE'] = [$this, 'getNameData'];
		$this->fields['SECOND_NAME']['TYPE'] = static::FIELD_TYPE_NAME;
		$this->fields['SECOND_NAME']['FORMAT'] = ['format' => '#SECOND_NAME#'];

		$this->fields['LAST_NAME']['VALUE'] = [$this, 'getNameData'];
		$this->fields['LAST_NAME']['TYPE'] = static::FIELD_TYPE_NAME;
		$this->fields['LAST_NAME']['FORMAT'] = ['format' => '#LAST_NAME#'];

		$this->fields['PHOTO']['TITLE'] = GetMessage('CRM_DOCGEN_DATAPROVIDER_PHOTO_TITLE');
		$this->fields['PHOTO']['TYPE'] = static::FIELD_TYPE_IMAGE;

		$this->fields['PHONE']['TYPE'] = 'PHONE';
		$this->fields['PHONE']['FORMAT'] = ['mfirst' => true,];
		$this->fields['PHONE']['VALUE'] = [$this, 'getClientPhone'];
		$this->fields['EMAIL']['FORMAT'] = ['mfirst' => true,];
		$this->fields['EMAIL']['VALUE'] = [$this, 'getClientEmail'];

		if (!$this->isLightMode())
		{
			$this->fields['COMPANIES'] = [
				'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_COMPANIES_TITLE'),
				'PROVIDER' => ArrayDataProvider::class,
				'OPTIONS' => [
					'ITEM_PROVIDER' => Company::class,
					'ITEM_NAME' => 'COMPANY',
					'ITEM_TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_COMPANY_TITLE'),
					'ITEM_OPTIONS' => [
						'DISABLE_MY_COMPANY' => true,
						'isLightMode' => true,
					],
				],
				'VALUE' => [$this, 'getCompanies'],
			];
		}
		$this->fields['BIRTHDATE']['TITLE'] = GetMessage('CRM_DOCGEN_DATAPROVIDER_BIRTHDATE_TITLE');

		if(isset($this->getOptions()['DISABLE_MY_COMPANY']))
		{
			unset($this->fields['MY_COMPANY']);
		}

		unset($this->fields['COMPANY']);
		unset($this->fields['CONTACT']);
	}

	return $this->fields;
}