Как открыть окно выбора компании в Битрикс24 с использованием метода BX.UI.EntitySelector.Dialog?

Как можно улучшить данную скриптовую попытку для более эффективного выбора представителя организации из заданного списка?
  • 13 июня 2024 г. 11:31
Ответы на вопрос 2
Для открытия окна выбора компании в Битрикс24 с использованием метода BX.UI.EntitySelector.Dialog можно использовать следующий код:

```javascript
BX.UI.EntitySelector.Dialog.open({
    entityType: "company",
    options: {
        multiple: false,
        allowSearch: true,
        allowCreate: false,
        events: {
            "onSelect": function(entityList) {
                // Обработка выбранной компании
                console.log(entityList[0]);
            }
        }
    }
});
```

Для более эффективного выбора представителя организации из заданного списка можно добавить фильтрацию результатов по ключевым словам или другим параметрам. Например, можно использовать параметр 'searchOptions' для настройки поиска:

```javascript
BX.UI.EntitySelector.Dialog.open({
    entityType: "employee",
    options: {
        multiple: false,
        allowSearch: true,
        allowCreate: false,
        searchOptions: {
            filter: { 'POSITION': 'Director' },
            useClientDatabase: false
        },
        events: {
            "onSelect": function(entityList) {
                // Обработка выбранного сотрудника
                console.log(entityList[0]);
            }
        }
    }
});
```

Таким образом, можно улучшить скриптовую попытку для более эффективного выбора представителя организации из заданного списка, добавив необходимые опции и фильтры для поиска.
<button id='companySelectButtonNode'>Select company</button>

<script type="text/javascript">
BX.ready(function(){
	const button = document.getElementById('companySelectButtonNode');

	let dialog = new BX.UI.EntitySelector.Dialog({
		targetNode: button,
		context: 'MY_PAGE_CONTEXT',
		enableSearch: true,
		searchOptions: {
				allowCreateItem: false
		}, 
		multiple: false,
		entities: [
			{
				id: 'company',
				dynamicLoad: true,
				dynamicSearch: true
			},
		],
	});

	button.addEventListener('click', () => {
		dialog.show();
	});
});
</script>


Похожие вопросы