...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/entity.php
- Класс: Bitrix\Crm\WebForm\Entity
- Вызов: Entity::getSchemes
static function getSchemes($schemeId = null) { // ATTENTION!!! SCHEME ORDER IS IMPORTANT FOR getSchemesByInvoice // ATTENTION!!! ENTITY ORDER IS IMPORTANT FOR SYNCHRONIZATION static $schemes = null; if ($schemes !== null) { return $schemeId ? ($schemes[$schemeId] ?? null) : $schemes; } $schemes = array( self::ENUM_ENTITY_SCHEME_LEAD => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_LEED'), 'ENTITIES' => array( \CCrmOwnerType::LeadName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName ), 'MAIN_ENTITY' => \CCrmOwnerType::Lead, 'HAS_INVOICE' => false, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_LEAD_INVOICE, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_LEED_DESC') ), self::ENUM_ENTITY_SCHEME_LEAD_INVOICE => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_LEED'), 'ENTITIES' => array( \CCrmOwnerType::InvoiceName, \CCrmOwnerType::LeadName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName ), 'MAIN_ENTITY' => \CCrmOwnerType::Lead, 'HAS_INVOICE' => true, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_LEAD, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_LEED_INVOICE_DESC1') ), self::ENUM_ENTITY_SCHEME_CONTACT => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_CLIENT'), 'ENTITIES' => array( \CCrmOwnerType::ContactName, \CCrmOwnerType::CompanyName, ), 'MAIN_ENTITY' => null, 'HAS_INVOICE' => false, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_CONTACT_INVOICE, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_CLIENT_DESC') ), self::ENUM_ENTITY_SCHEME_CONTACT_INVOICE => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_CLIENT'), 'ENTITIES' => array( \CCrmOwnerType::InvoiceName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ), 'MAIN_ENTITY' => null, 'HAS_INVOICE' => true, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_CONTACT, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_CLIENT_INVOICE_DESC1') ), self::ENUM_ENTITY_SCHEME_DEAL => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DEAL'), 'ENTITIES' => array( \CCrmOwnerType::DealName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ), 'MAIN_ENTITY' => \CCrmOwnerType::Deal, 'HAS_INVOICE' => false, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_DEAL_INVOICE, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DEAL_DESC') ), self::ENUM_ENTITY_SCHEME_DEAL_INVOICE => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DEAL'), 'ENTITIES' => array( \CCrmOwnerType::InvoiceName, \CCrmOwnerType::DealName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ), 'MAIN_ENTITY' => \CCrmOwnerType::Deal, 'HAS_INVOICE' => true, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_DEAL, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DEAL_INVOICE_DESC1') ), self::ENUM_ENTITY_SCHEME_QUOTE => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_QUOTE_MSGVER_1'), 'ENTITIES' => array( \CCrmOwnerType::QuoteName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ), 'MAIN_ENTITY' => \CCrmOwnerType::Quote, 'HAS_INVOICE' => false, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_QUOTE_INVOICE, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_QUOTE_DESC_MSGVER_1') ), self::ENUM_ENTITY_SCHEME_QUOTE_INVOICE => array( 'NAME' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_QUOTE_MSGVER_1'), 'ENTITIES' => array( \CCrmOwnerType::InvoiceName, \CCrmOwnerType::QuoteName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ), 'MAIN_ENTITY' => \CCrmOwnerType::Quote, 'HAS_INVOICE' => true, 'SPECULAR_ID' => self::ENUM_ENTITY_SCHEME_QUOTE, 'DYNAMIC' => false, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_QUOTE_INVOICE_DESC1_MSGVER_1') ), ); foreach (Container::getInstance()->getDynamicTypesMap()->load()->getTypesCollection() as $type) { $schemeWithoutInvoiceId = $type->getEntityTypeId() * 10; $schemeWithInvoiceId = $type->getEntityTypeId() * 10 + 1; $entityTypeName = \CCrmOwnerType::resolveName($type->getEntityTypeId()); $schemes[$schemeWithoutInvoiceId] = [ 'NAME' => $type->getTitle(), 'ENTITIES' => [ $entityTypeName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ], 'MAIN_ENTITY' => $type->getEntityTypeId(), 'HAS_INVOICE' => false, 'SPECULAR_ID' => $schemeWithInvoiceId, 'DYNAMIC' => true, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DYNAMIC_DESC') ]; if (in_array($type->getEntityTypeId(), [ defined('\CCrmOwnerType::SmartDocument') ? \CCrmOwnerType::SmartDocument : \CCrmOwnerType::Undefined, \CCrmOwnerType::SmartInvoice, ])) { continue; } $schemes[$schemeWithInvoiceId] = [ 'NAME' => $type->getTitle(), 'ENTITIES' => [ \CCrmOwnerType::InvoiceName, $entityTypeName, \CCrmOwnerType::CompanyName, \CCrmOwnerType::ContactName, ], 'MAIN_ENTITY' => $type->getEntityTypeId(), 'HAS_INVOICE' => true, 'SPECULAR_ID' => $schemeWithoutInvoiceId, 'DYNAMIC' => true, 'DESCRIPTION' => Loc::getMessage('CRM_WEBFORM_ENTITY_SCHEME_DYNAMIC_INVOICE_DESC') ]; } if($schemeId) { return $schemes[$schemeId] ?? null; } else { return $schemes; } }