Имя: Пароль:
1C
 
Динамический список, как отловить вывод строк?
0 OldCondom
 
28.08.23
18:51
На форме есть элементы, которые надо скрывать, если динамический список пустой.
Кажется я застрял с этим делом, не пойму, где мне отловить количество строк? Все что накопал:
Вызывается на сервере после получения данных динамическим списком
ПриПолученииДанныхНаСервере, OnGetDataAtServer

Но она выполняется без контекста!
&НаСервереБезКонтекста
Процедура ИнвентаризацииОтборПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    // Вставить содержимое обработчика.
КонецПроцедуры

И ладно бы Строки можно было очистить, но нет, только читать.
1 Волшебник
 
28.08.23
20:21
Нужно сделать такой же запрос, как в динамическом списке, с приставкой ВЫБРАТЬ ПЕРВЫЕ 1. Если там пусто, то список пустой.
2 PR
 
28.08.23
20:25
(0) Затея дурная, потому что отловить событие обновления отображения в динамическом списке невозможно в принципе
И даже если бы ПриПолученииДанныхНаСервере было бы с контекстом, то это тебя бы не спасло, потому что оно вызывается только при условии, что список строк не пустой
3 Garykom
 
гуру
28.08.23
21:20
(2) Это в МП нельзя
В обычном тонком клиенте вполне можно
4 Garykom
 
гуру
28.08.23
21:21
(0) Поступи проще
Показывай элементы только если выбрана строка
5 PR
 
28.08.23
21:32
(3) Как?
6 PR
 
28.08.23
21:34
(4) И какое событие, при активизации строки?
Тогда вопрос, динамический список, в котором что-то отобрали набранным текстом так, что ничего не нашлось — это пустой динамический список или нет?
7 Звездец
 
28.08.23
21:41
(6) ну со строкой можно проверить текущую строку списка на неопределено например и показать/скрыть что нужно
8 OldCondom
 
28.08.23
21:44
Ковырялся, ковырялся, в итоге через СКД сделал. Мне отборы нужны были на форме, через динамический список хотел.
9 PR
 
28.08.23
21:52
(8) Ты вообще про что, нахрен?
Тебя вообще хоть кто-нибудь понял, интересно?
10 OldCondom
 
28.08.23
21:56
(9) Во-первых, прекращай быть гопником, взрослому мужчине не к лицу.
Во-вторых, динамический список намутил для того, чтобы использовать его удобные отборы. Но вот никак не отловить изменение "табличной части", а оно мне нужно, значит отборы списка в пролете. Сделал через отборы скд, КомпоновщикНастроекКомпоновкиДанных на форме и программный вывод в коллекцию значений, которую уже пихал в свою табличную часть.
11 PR
 
28.08.23
22:00
(10) Я по-прежнему нихрена не понял
Ты можешь описать задачу?
12 AlvlSpb
 
28.08.23
22:22
(10) https://курсы-по-1с.рф/news/2017-12-26-many-values-in-one-cell/ В видео не совсем по теме, но там как раз и по отборы и про стоки дин списка. С 3.50 по таймингу.
13 OldCondom
 
28.08.23
23:02
(12) интересно конечно, но я бы такой шизой не занимался) Да и пример странный весьма, прям запрос с выбор когда будет сильно медленней?
14 Garykom
 
гуру
29.08.23
05:43
(10) Хе.
Правильно можно повторить функционал ДС через СКД.
Это приходится делать в типовых когда ДС никак не заменить а кол-во видимых с учетом пользовательских отборов надо посчитать.
15 Garykom
 
гуру
29.08.23
05:46
16 Valdis2007
 
29.08.23
11:28
(0) все проще..преобразуешь дин.список в таблицу значений, проверяешь в ней наличие строк
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.