На скрине элемент Таблица, отображающего Табличную часть.
Одна строка скрыта.
Как программно узнать что именно искали по кнопке Найти (Ctrl+F)?
Какое поле, какая строка поиска?
Тч = Объект.ИмяВашейТабличнойЧасти;
ЭлементТаблица = Элементы.ИмяВашейТаблицы;
КолОтобранныхСтрок = 0;
Для Каждого СтрокаТч из Тч Цикл
ФлагСтрокаОтображена = ЭлементТаблица.ПроверитьСтроку(СтрокаТч.ПолучитьИдентификатор());
Если ФлагСтрокаОтображена Тогда
КолОтобранныхСтрок = КолОтобранныхСтрок + 1;
КонецЕсли;
КонецЦикла;
Ожидаемый ответ. Однако, до 8.3.17 (а даже у многих свежих конфигураций - режим совместимости ниже выставлен), если строка была удалена из ТЧ, это вызовет исключение.
(51) Я, в итоге, сделал вместо ПроверитьСтроку, через функцию ДанныеСтроки - она не вызывает исключение в аналогичной ситуации, а просто возвращает неопределено.
Как программно узнать что именно искали по кнопке Найти (Ctrl+F)?
Какое поле, какая строка поиска?
Примитивно:
Если НЕ Элементы.Таблица.ОтборСтрок = Неопределено Тогда
Для Каждого Ст ИЗ Элементы.Таблица.ОтборСтрок Цикл
Сообщить( СтрШаблон( "Колонка: %1, значение: %2", Ст.Ключ, Ст.Знгачение ) );
КонецЦикла;
КонецЕсли;
Хе, интересный вопрос, оказывается можно!
раз: https://its.1c.ru/db/v8317doc#bookmark:dev:TI000001239 два: (из помощника):
ИсторияПоискаТаблицы (TableSearchHistory)
Описание:
Содержит настройки, в которых хранится история поиска в таблице формы клиентского приложения.
Доступность:
Сервер, толстый клиент.
Сериализуется.
Использование в версии:
Доступен, начиная с версии 8.3.5.
(24) Я почитал внимательно )
здесь под словами "что ввели" я имею ввиду последний введенный поиск, который скрыл строки.
Я попробовал ваш код, у меня внешняя обработка и функция Загрузить возвращает Неопределено.
(25)я тоже тестировал внешней обработкой, и использовал список заказов после выполнения расширенного поиска, если у вас неопределено, вероятно для неверно определён объект настройки (первый параметр).
(26) >> и использовал список заказов после выполнения расширенного поиска
под словами "у меня внешняя обработка" я имею ввиду, что элемент таблица (табличная часть) находится в самой внешней обработке, а не в списке документов, входящих в конфигурацию.
хорошо, попробую сначала список заказов.
это с "раз" если нет доступа к ИТС:
раздел "Системное хранилище"
Настройка: история поиска в таблице формы
● Ключ объекта ‑ Общее/ИсторияПоискаТаблицы/<Имя формы>.<Имя таблицы> (Common/TableSearchHistory/<Имя формы>.<Имя таблицы>).
Пример ключа объекта:
Общее/ИсторияПоискаТаблицы/Справочник.Товары.Форма.ФормаСписка.Список
● Ключ настройки ‑ пустая строка.
● Тип сохраняемого значения ‑ ИсторияПоискаТаблицы. Объект без свойств и методов.
(16) История поиска "Доступен, начиная с версии 8.3.5." долго не могут придумать )))
Есть еще "Общее/ПараметрыПоискаТаблиц" и "Общее/ИсторияГлобальногоПоиска" может там где-то и глобальный валяется
(28)ха, так а имя формы то не то, ты же говоришь что табличное поле на форме внешней обработки? Там должно быть что-то типа «ВнешняяОбработка.ИмяОбработки.Форма.ИмяФормы.ИмяТабличногоПоля»
(29) :) Естественно, я сначала попробовал для своей обработки. Возвращает Неопределено. Думаю, мало ли, может для внешних обработок оно не регистрирует.
Поэтому взял таблицу, как у тебя в коде (у тебя же работает). Поискал в списке заказов расширенный поиском. Но у меня и для этой таблицы возвращает Неопределено.
(33)А имя формы списка и имя табличного поля (списка документов) в заказах покупателя в твоей конфигурации такое же как и у меня? то есть все совпадает?
(36)(36) результат по самописке, сделал по справочнику ФизическиеЛица все четко
{"#",a92a9892-86ab-48d1-91c6-754a3c40bfa5,
{0,5,
{"ДатаРождения",2,
{"D",19940420000000},"20.04.1994 00:00:00"},
{"ДатаРождения",2,
{"D",19521112000000},"12.11.1952 00:00:00"},
{"Наименование",1,
{"S","гарбуз мар"},"гарбуз мар"},
{"ДатаРождения",2,
{"D",19950404000000},"04.04.1995 00:00:00"},
{"Наименование",1,
{"S","олександр арка"},"олександр арка"}
}
}
зато теперь понятны некоторые теги, если {"D",19521112000000} это первый параметр тип, второй значение типа, а в там где поле ссылка:
{"#",b692a3bc-f9d8-4bec-836e-67bb38767199,123:94b15bb72b78a86947bdca8253e31a5d} 1 параметр типа ссылка, второй идентификатор ссылки, третий идентификатор объекта метаданных, о как
вот этот элемент вообще просто, если выполнить ЗначениИзСтрокиВнутр("{""#"",b692a3bc-f9d8-4bec-836e-67bb38767199,123:94b15bb72b78a86947bdca8253e31a5d}") получишь ссылку на конкретный объект базы который был в поиске по полю ссылочного типа )
И еще один нюанс, он сохраняет только 5 последних, расположены в порядке убывания, то есть последний в начале, и сохранение только при закрытии всего приложения, а не формы в которой был поиск, то есть пока пользователь не закроет приложение ты не получишь свежих данных о его поиске (