Определение режима поиска при выводе динамического списка

19.08.25

Разработка - Механизмы платформы 1С

Динамический список при стандартном поиске (Ctrl+F) перестраивается в "простой список" со строками, содержащими только ключевое поле. И, если искать часто встречающийся фрагмент, то экран заполняется однообразными данными, включающими подстроку - непонятно, где что.

 

Хотелось бы как-то расшифровать, прокомментировать каждую строку.

Для расшифровки я использую вычисляемые поля в произвольном запросе списка.

ПриПолученииДанныхНаСервере смотрим выводимые строки и заполняем колонку комментарием. Все прекрасно, но вот незадача - если ничего не ищем, то дополнение излишне - как в &НаСервереБезКонтекста ПриПолученииДанныхНаСервере(...) определить, что список выводится в режиме поиска?

Было найдено вот такое решение:

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	
	ПроверитьРежимПоискаДляДинамическогоСписка();
	
КонецПроцедуры


&НаСервере
Процедура ПроверитьРежимПоискаДляДинамическогоСписка()
    
    НастройкиСписка = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
    СтрокаОтбора = Строка(НастройкиСписка.Отбор);
    Если СтрНайти(СтрокаОтбора, "Уточнение наименования Содержит") <> 0 Тогда
        Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("РежимПоиска", Истина);
    Иначе
        Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("РежимПоиска", Ложь);
    КонецЕсли;
    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
	
	Если Настройки.ДополнительныеСвойства.Свойство("РежимПоиска") Тогда
		РежимВыводаДинамическогоСписка = Настройки.ДополнительныеСвойства.РежимПоиска;
	КонецЕсли;

КонецПроцедуры

 

Когда на форме начинается поиск, платформа слегка модифицирует "исполняемые настройки компоновки данных". Там появляется модификация отбора "Уточнение наименования Содержит". Одновременно меняется текущая активная строка - срабатывает событие ПриАктивизацииСтроки(...). В обработчике этого события ищем подстроку и в структуру "компоновщик настроек настройки дополнительные свойства" вставляем флаг, "РежимПоиска - ИСТИНА", к примеру. Настройки компоновщика приходят в &НаСервереБезКонтекста ПриПолученииДанныхНаСервере(.., Настройки, ...) где их можно прочитать и принять к сведению.

Чтение компоновщика настроек при активизации строки существенно замедляет интерфейс, особенно если "стрелками" активно вниз-вверх бегать. Но опыт был интересным, может, и пригодится когда...

Вступайте в нашу телеграмм-группу Инфостарт

Динамический список Управляемые формы Режим поиска

См. также

Механизмы платформы 1С Программист Бесплатно (free)

Разберем 15 мифов о работе платформы «1С:Предприятие 8» – как распространенных, так и малоизвестных. Начнем с классики: «Код, написанный в одну строку, работает быстрее, чем многострочный». Так ли это на самом деле?

16.07.2025    15491    TitanLuchs    99    

124

Механизмы платформы 1С Работа с интерфейсом Программист Стажер 1С v8.3 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    9932    bayselonarrend    126    

63

Механизмы платформы 1С WEB-интеграция Программист 1С v8.3 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    15617    dsdred    77    

125

Механизмы платформы 1С Программист Стажер 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    17899    bayselonarrend    22    

168

Механизмы платформы 1С Программист Стажер 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    10138    dsdred    22    

84

Механизмы платформы 1С Программист Стажер 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    38165    YA_418728146    35    

75
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pbelsib 19.08.25 15:12 Сейчас в теме
интересные проблемы у меня были при общении с ПриПолученииДанных:
передать туда можно было только один раз. ( через КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить....)
модифицировать свойство уже не получится, и внутри события ничего не поменять, - всё теряется...
2. rnobody 19.08.25 15:22 Сейчас в теме
Предложенный код работал на платформе 1С:Предприятие 8.3 (8.3.25.1546) без нареканий, за исключением тормозов при скроллинге.
Оставьте свое сообщение