Оптимизация нахождения строк или индексация таблицы значения формы

1. Maddream 24.03.23 17:04 Сейчас в теме
Всем ку.
Вводные данные такие, есть форма, где при ее закрытии выполняется поиск через найти строки. Есть вариант как то проиндексировать ТЗ на форме? Или как еще можно ускорить поиск.

НайденныеСтроки = Форма.ТаблицаСоответствияЭлементовУправленияСсылкам.НайтиСтроки(Новый Структура("Имя", ИмяЭлемента));
	Если НайденныеСтроки.Количество() = 0 Тогда
		Возврат Неопределено;
	Иначе
		Возврат НайденныеСтроки[0].Ссылка;
	КонецЕсли;


По замеру производительности этот поиск занимает 36% и выполняется 29 раз. (сам код вроде типовой)
Найденные решения
3. Sashares 34 24.03.23 17:37 Сейчас в теме
А вы готовы переписывать типовой код?
Так то обойти в цикле таблицу и заполнить соответствие именем элемента и ссылкой.
И вместо поиска в таблице получать значение из соответствия по ключу.
Maddream; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Sashares 34 24.03.23 17:37 Сейчас в теме
А вы готовы переписывать типовой код?
Так то обойти в цикле таблицу и заполнить соответствие именем элемента и ссылкой.
И вместо поиска в таблице получать значение из соответствия по ключу.
Maddream; +1 Ответить
4. Maddream 24.03.23 18:24 Сейчас в теме
(2) Строк там не много (29) и каждый раз вызывается этот поиск.
(3) Переписывать готов, нужно попробовать.
5. Maddream 24.03.23 20:19 Сейчас в теме
(1)
занимает 36%

Теперь с соответствием 0.04%
2. coollerinc 188 24.03.23 17:32 Сейчас в теме
Реквизит формы ДанныеФормыКоллекция это по сути массив структур. Так что вряд ли там будет индекс. А вот выгрузив в реальную таблицу значений, там можно добавить индексы. У вас, что там 10 тыс строк и больше? Если более детально опишите задачу, то больше шансов, что вам помогут.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот