Цитата(iksteram @ 30.08.22, 15:40)
что бы после стандартного поиска происходило позиционирование на список (первую строку списка)?
Я "подозреваю" что это события "ПриОчистке" и "ПриИзменении" когда "пусто"...
А позиционирование
&НаКлиенте
Процедура КомандаПерваяСтрока(Команда)
Элементы.ДокументСписок.ТекущаяСтрока = ПолучитьСсылкуПервогоЭлемента();
КонецПроцедуры
&НаСервере
Функция ПолучитьСсылкуПервогоЭлемента()
лкСхема = Элементы.ДокументСписок.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
лкНастройки = Элементы.ДокументСписок.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
//почему-то по умолчанию, в динамических списках нет поля Ссылка, добавляем
лкПоля = лкНастройки.Структура[0].Выбор.Элементы;
лкПоле = лкПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
лкПоле.Поле = Новый ПолеКомпоновкиДанных("Ссылка");
лкКомпоновщик = Новый КомпоновщикМакетаКомпоновкиДанных();
лкМакетКомпоновки = лкКомпоновщик.Выполнить(лкСхема, лкНастройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
лкПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
лкПроцессорКомпоновки.Инициализировать(лкМакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
лкРезультат = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(лкРезультат);
ПроцессорВывода.Вывести(лкПроцессорКомпоновки);
Если лкРезультат.Количество() > 0 Тогда
лкСсылка = лкРезультат[0].Ссылка;
Иначе
лкСсылка = Неопределено;
КонецЕсли;
Возврат лкСсылка;
КонецФункции
Хотя если документов очень много, будет не реально тормозить.
можно по кнопке Home - должно быстрее
&НаКлиенте
Процедура КомандаПерваяСтрока(Команда)
//устанавливаем фокус на таблицу списка
ЭтаФорма.ТекущийЭлемент = Элементы.ДокументСписок;
мГенераторКлавиш = Новый COMОбъект("Wscript.shell");
мГенераторКлавиш.SendKeys("{Home}");
КонецПроцедуры