- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgeneratormanager.php
- Класс: Bitrix\Crm\Integration\DocumentGeneratorManager
- Вызов: DocumentGeneratorManager::getDataProviders
static function getDataProviders(): array
{
static $result;
if($result === null)
{
$result = [];
if(static::getInstance()->isEnabled())
{
$providers = [
DataProvider\Company::class,
DataProvider\Contact::class,
DataProvider\Deal::class,
DataProvider\Lead::class,
DataProvider\Quote::class,
DataProvider\Order::class,
DataProvider\Payment::class,
DataProvider\Shipment::class,
DataProvider\StoreDocumentArrival::class,
DataProvider\StoreDocumentStoreAdjustment::class,
DataProvider\StoreDocumentMoving::class,
DataProvider\StoreDocumentDeduct::class,
DataProvider\ShipmentDocumentRealization::class,
];
if (InvoiceSettings::getCurrent()->isOldInvoicesEnabled())
{
$providers[] = DataProvider\Invoice::class;
}
if (InvoiceSettings::getCurrent()->isSmartInvoiceEnabled())
{
$providers[] = DataProvider\SmartInvoice::class;
}
$providers = array_merge($providers, array_values(static::getDynamicProviders(true)));
foreach($providers as $provider)
{
/** @var Nameable $provider */
$className = mb_strtolower($provider);
$result[$className] = [
'NAME' => $provider::getLangName(),
'CLASS' => $className,
'MODULE' => 'crm',
];
}
}
}
return $result;
}