Имеется возможность привязать AjaxAutocomplete к AjaxLookup. Т.е. при выборе значения в контроле с поддержкой AjaxAutocomplete будет автоматически проставляться значение лукапа, если значение заданного свойства будет найдено в мастеровых объектах, иначе лукапу проставится пустое значение. Внимание: Не стоит путать это с поддержкой автодополнения в AjaxLookup.

Внимание: Если требуется использовать вычислимое свойство, то обязательно должно быть указано представление!

Возможная ситуация

Например, на форме редактирования Организация отображаются лукап для мастера Адрес и собственное свойство АдресСтрокой. Вам нужно добавить автодополнение для АдресСтрокой, значения которые будут браться из Адрес.АдресПолностью. При совпадении введенного значения и значения мастера в свойстве Адрес.АдресПолностью проставится значение лукапа(ссылка на объект). Если вы ввели значение, которого нет в мастеровых значениях, то АдресСтрокой просто сохранится, а ссылка на мастера не будет проставлена.

Пример

AjaxAutocomplete.AddLinkedAutocomplete(ctrlАдрес, ctrlАдресСтрокой, typeof(Адрес), "АдресПолностью");

Также, имеется настройка связи между лукапом и полем для ввода. Например, если нужно изменять значение в поле для ввода, если меняется значение в лукапе.

Пример

bool changeValueWithLookup = true;
AjaxAutocomplete.AddLinkedAutocomplete(ctrlАдрес, ctrlАдресСтрокой, typeof(Адрес), "АдресПолностью", changeValueWithLookup);

Пример явного задания ограничения для автодополнения

Внимание: Если задано ограничение ajax-лукапу и он связан с текстовым полем, при этом явно не задано ограничение на автодополнение, то ограничение на автодополнение возьмется из лукапа.

Function licenceFunc = FunctionBuilder.BuildSQL("(select count(*) from ЛицензияОрганизации where STORMMainObjectKey = Организация) > 0");
AjaxAutocomplete.AddLinkedAutocomplete(ctrlСоздательГеопункта, ctrlСоздательГеопунктаСтрокой, typeof(Организация), "ОрганизацияПроп",  true, true, licenceFunc);