• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/lead.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Lead
  • Вызов: Lead::getFields
public function getFields()
{
	if($this->fields === null)
	{
		parent::getFields();

		$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['STATUS'] = ['TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_STATUS_TITLE_MSGVER_1'),];
		$this->fields['SOURCE'] = ['TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_SOURCE_TITLE'),];
		$this->fields['HONORIFIC'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_HONORIFIC_TITLE'),
			'VALUE' => [$this, 'getHonorificName'],
		];
		$this->fields['IMOL'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_IMOL_TITLE'),
			'VALUE' => [$this, 'getClientIm'],
			'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['COMPANY_NAME'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_COMPANY_NAME_TITLE'),
			'VALUE' => 'COMPANY_TITLE',
		];

		$this->fields['PHONE_MOBILE']['TYPE'] = 'PHONE';
		$this->fields['PHONE_MOBILE']['FORMAT'] = ['mfirst' => true,];
		$this->fields['PHONE_MOBILE']['VALUE'] = [$this, 'getMobilePhone'];
		$this->fields['PHONE_WORK']['TYPE'] = 'PHONE';
		$this->fields['PHONE_WORK']['FORMAT'] = ['mfirst' => true,];
		$this->fields['PHONE_WORK']['VALUE'] = [$this, 'getWorkPhone'];
		$this->fields['PHONE_HOME']['TITLE'] = GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_PHONE_HOME_TITLE');
		$this->fields['PHONE_HOME']['TYPE'] = 'PHONE';
		$this->fields['PHONE_HOME']['FORMAT'] = ['mfirst' => true,];
		$this->fields['PHONE_HOME']['VALUE'] = [$this, 'getHomePhone'];
		$this->fields['PHONE']['TYPE'] = 'PHONE';
		$this->fields['PHONE']['FORMAT'] = ['mfirst' => true,];
		$this->fields['PHONE']['VALUE'] = [$this, 'getClientPhone'];

		$this->fields['EMAIL_HOME']['FORMAT'] = ['mfirst' => true,];
		$this->fields['EMAIL_HOME']['VALUE'] = [$this, 'getHomeEmail'];
		$this->fields['EMAIL_WORK']['FORMAT'] = ['mfirst' => true,];
		$this->fields['EMAIL_WORK']['VALUE'] = [$this, 'getWorkEmail'];
		$this->fields['EMAIL']['FORMAT'] = ['mfirst' => true,];
		$this->fields['EMAIL']['VALUE'] = [$this, 'getClientEmail'];
		$this->fields['BIRTHDATE']['TITLE'] = GetMessage('CRM_DOCGEN_DATAPROVIDER_BIRTHDATE_TITLE');
		if (!$this->isLightMode())
		{
			$this->fields['CONTACTS'] = [
				'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_CONTACTS_TITLE'),
				'PROVIDER' => ArrayDataProvider::class,
				'OPTIONS' => [
					'ITEM_PROVIDER' => Contact::class,
					'ITEM_NAME' => 'CONTACT',
					'ITEM_TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_LEAD_CONTACT_TITLE'),
					'ITEM_OPTIONS' => [
						'DISABLE_MY_COMPANY' => true,
						'isLightMode' => true,
					],
				],
				'VALUE' => [$this, 'getContacts'],
			];
		}

		$this->fields['OPPORTUNITY']['TYPE'] = Money::class;
		$this->fields['OPPORTUNITY']['FORMAT'] = ['CURRENCY_ID' => $this->getCurrencyId()];
	}

	return $this->fields;
}