- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgeneratormanager.php
- Класс: Bitrix\Crm\Integration\DocumentGeneratorManager
- Вызов: DocumentGeneratorManager::getDocumentsByIdentifier
public function getDocumentsByIdentifier(ItemIdentifier $item, int $paymentId = null): array
{
$result = [];
$provider = $this->getCrmOwnerTypeProvidersMap()[$item->getEntityTypeId()] ?? null;
if (!$provider)
{
return $result;
}
$documents = DocumentTable::getList([
'select' => ['ID', 'TITLE', 'VALUES'],
'order' => [
'UPDATE_TIME' => 'DESC',
],
'filter' => [
'=PROVIDER' => mb_strtolower($provider),
'VALUE' => $item->getEntityId(),
],
]);
while ($document = $documents->fetch())
{
$values = $document['VALUES'];
if ($paymentId > 0)
{
if (!isset($values[static::VALUE_PAYMENT_ID]) || (int)$values[static::VALUE_PAYMENT_ID] !== $paymentId)
{
continue;
}
}
$withStamps = $values[\Bitrix\DocumentGenerator\Document::STAMPS_ENABLED_PLACEHOLDER] ?? false;
$result[] =
(new DocumentGenerator\Document)
->setId($document['ID'])
->setTitle($document['TITLE'])
->setDetailUrl($this->getDocumentDetailUrl(
$item->getEntityTypeId(),
$item->getEntityId(),
$document['ID']
))
->setIsWithStamps($withStamps)
;
}
return $result;
}