Задача: Реализовать предфильтрацию для переменной типа Приложение (Несколько) - чтобы при выборе в данной переменной - не отображались ранее выбранные в этой переменной элементы.
Реализация: Реализуем функцию предфильтрации переменной типа Приложение, используя метод setFilter()
	Код:
	
async function apps_on_change(): Promise<void> {
    if(ViewContext.data.apps)
    {
        let apps_all = await ViewContext.fields.apps.app.search()
            .where((f, g) => g.and (
            f.__deletedAt.eq(null)
            ))
            .size(1000)
            .all();
        let apps_select = await Promise.all(ViewContext.data.apps.map(x => x.fetch()));
        let apps_filter = apps_all.filter(app => apps_select.every(app_select=> app_select.data.__id != app.data.__id)); 
        if(apps_filter)
        {
            ViewContext.fields.apps.data.setFilter((appFields, context, globalFilters) => globalFilters.and(
                appFields.__id.in(apps_filter.map(x=>x.data.__id))
            ));
        }
    }
    else
    {
        ViewContext.fields.apps.data.clearFilter();
    }
}
 где:
ViewContext.data.apps - переменная типа Приложение (Несколько);
Подключим данную функцию на событие изменения значения переменной ViewContext.data.apps.
Так же данную функцию, можно вызвать в onInit, чтобы при загрузке формы применилась предфильтрация для переменной:
	Код:
	
async function onInit(): Promise<void> {
    await apps_on_change();
}