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