Имя: Пароль:
1C
1С v8
Активировать строку табличной части динамического списка
0 Sergio447
 
17.02.25
10:22
Пытаюсь после обновления запроса динамического списка сделать, чтобы строка табличной части внешней обработки была активной, но почему-то этого не происходит. Основную таблицу не использую, поле ключа также не подходит.
В команде прописал так, но ничего не происходит:
ТекСтр = Элементы.МойСписок.ТекущиеДанные;
Элементы.МойСписок.ТекущаяСтрока = ТекСтр.Документ;
1 Ёпрст
 
16.02.25
20:41
(0)

Элементы.МойСписок.ТекущаяСтрока = Объект.МойСписок.Найти("Вася","Колонка").ПолучитьИдентификатор()
2 Ёпрст
 
16.02.25
20:43
+1 поправочка, у ДанныеФормыКоллекция  надо НайтиСтроки + взять,н например у первого элемента массива идентификатор
3 Fedor-1971
 
17.02.25
10:13
(0) Если просто любую строку, то Элементы.МойСписок.ТекущаяСтрока = 0 (индекс первой строки)
Если конкретный документ, то как в (1), сначала получили индекс и присвоили оный
4 Sergio447
 
17.02.25
20:17
(3) так не срабатывает, после обновления списка никаких активаций строк не происходит.
5 Guk
 
17.02.25
21:15
(1) (2) это для ТЗ на форме работает, а у него ДС
(0) ключевое слово "Основную таблицу не использую"...
6 Sergio447
 
17.02.25
22:29
(5) не использую таблицу, потому что запрос динамического списка состоит из нескольких таблиц
7 Ёпрст
 
18.02.25
02:50
(5) ааа, семён семеныч.

Автор, задай основную таблицу, можно программно. Тогда полетит.
8 Sergio447
 
18.02.25
10:07
(7) не полетит. Ошибку выдает при открытии обработки после заполнения основной таблицы: "Основная таблица динамического списка задана неверно".
9 Garykom
 
гуру
18.02.25
10:33
(8) И не полетит
10 Garykom
 
гуру
18.02.25
10:37
(0) Советую отказаться от ДС на форме и перейти на ТЗ
Заполнять/обновлять их вручную можно как кодом/запросами так и через СКД

С ДС (произвольным запросом без основной таблицы) есть фатальная проблема, точнее даже две:
1. Установить текущую строку можно по идентификатору. Но как его узнать?
2. Почти любое хождение на сервер вызывает "ПриАктивизацииСтроки" для ДС