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;
}