Как отследить выделение всех строк?

1. coollerinc 196 11.04.23 14:03 Сейчас в теме
Я так понимаю, что в 1с, нет события в момент выделения всех строк.
Алгоритм такой: пользователь открывает форму списка. Срабатывает событие "СписокПриАктивизацииСтроки", потом пользователь нажимает CTR+A выделяются все строки. Хотелось бы отследить выделение, всех строк. Я так понимаю 1с из коробки, без внешних компонент этого не позволяет сделать. Правильно? Или я чего то не знаю?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. Akuji 22 11.04.23 17:11 Сейчас в теме
(1) а для чего это нужно?
12. coollerinc 196 11.04.23 17:15 Сейчас в теме
(11) Это нужно что бы при выделении в одном списке, устанавливать отбор на другом списке
2. user1826630 11.04.23 14:26 Сейчас в теме
Правильно. Никто не знает.
3. gybson 11.04.23 14:37 Сейчас в теме
В обработке ожидания проверяйте массив выделенных строк. Иначе никак.
4. alexey123perm 23 11.04.23 14:38 Сейчас в теме
В теории:
1. Вы знаете, сколько строк выведено (выполнив запрос отображения строк)
2. По "ВыделенныеСтроки" посчитать, сколько выделено.
3. Посчитать разность. Если равна нулю, то все выделены
5. user1826630 11.04.23 15:04 Сейчас в теме
(4) В динамическом списке? Ну-ну...
14. tusv 212 13.04.23 10:29 Сейчас в теме
(5)
В динамическом списке? Ну-ну...

А если так?
&НаСервере
Функция ВсеСтрокиВыделены()
	Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
	Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
	
	ТабЗначений = Новый ТаблицаЗначений;
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	ПроцессорВывода.УстановитьОбъект(ТабЗначений);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
	
	Возврат ТабЗначений.Количество() = Элементы.Список.ВыделенныеСтроки.Количество();
КонецФункции
Показать
6. Sashares 33 11.04.23 15:10 Сейчас в теме
(4)Пользователи вас проклянут за постоянное обращение к серверу ради попытки посчитать это.
7. coollerinc 196 11.04.23 15:33 Сейчас в теме
8. Zevzm 11.04.23 15:45 Сейчас в теме
(7)Не пробовали создать команду формы и назначить ей сочетание клавиш "CTRL+A", и в ней уже сделать проверку?
9. coollerinc 196 11.04.23 16:21 Сейчас в теме
(8)Пробовал, но команда эта не отслеживается. Причем пробовал на разных языках
10. Zevzm 11.04.23 16:26 Сейчас в теме
(9) Проверил тоже. Срабатывает нажатие кнопки по сочетанию клавиш команды при активной кнопке - тупик.
13. Slypower 3 12.04.23 12:39 Сейчас в теме
(7) какое решение помогло? В процедуре при активации строки отслеживать выделенные строки?
15. coollerinc 196 13.04.23 10:47 Сейчас в теме
(13) Я просто отказался это отслеживать. Просто нет нормального решения. Только костылями с бесконечным обработчиком ожидания, что то можно сделать. При активизации строки не катит. Т.к. при выделении всех строк не возникает события.
Оставьте свое сообщение

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