• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/integration/ui/entityselector/templateprovider.php
  • Класс: BitrixBizprocIntegrationUIEntitySelectorTemplateProvider
  • Вызов: TemplateProvider::openTemplateTree
protected function openTemplateTree(Dialog $dialog, Tpl $template): void
{
	$currentUserId = $this->getCurrentUserId();

	$moduleItem = $dialog->getItemCollection()->get(
		static::ENTITY_ID,
		$this->createModuleId($template->getModuleId())
	);
	if ($moduleItem)
	{
		$moduleItem
			->setNodeOptions(['open' => true, 'dynamic' => false, 'itemOrder' => ['sort' => 'asc nulls last']])
			->setSort(1)
		;

		$documentItem = $moduleItem->getChildren()->get(
			static::ENTITY_ID,
			$this->createDocumentId($template->getModuleId(), $template->getDocumentType())
		);
		if (!$documentItem)
		{
			$this->fillModuleItem($dialog, $moduleItem, $currentUserId);
			$documentItem = $moduleItem->getChildren()->get(
				static::ENTITY_ID,
				$this->createDocumentId($template->getModuleId(), $template->getDocumentType())
			);
		}
		$documentItem
			->setNodeOptions(['open' => true, 'dynamic' => false, 'itemOrder' => ['sort' => 'asc nulls last']]) // dynamic => true
			->setSort(1)
		;

		$templateItem = $documentItem->getChildren()->get(static::ENTITY_ID, $template->getId());
		if (!$templateItem)
		{
			$this->fillDocumentItem($dialog, $documentItem, $currentUserId);
			$templateItem = $documentItem->getChildren()->get(static::ENTITY_ID, $template->getId());
		}
		$templateItem->setSort(1);
	}
}