Имя: Пароль:
1C
1С v8
Позиционирование в форме списка РС с отбором. 1с 8.3
0 Darhon
 
17.07.15
12:54
Добрый день! Прошу помощи уважаемых знатоков 1С :) 1C 8.3 Управляемые формы. Форма списка регистра сведений с отбором. При обновлении позиционируется на верхней строке списка. Как сделать, чтобы при обновлении сохранялась текущая позиция. Заранее спасибо.
1 asady
 
17.07.15
12:55
(0) а если текущая не попадет в отбор?
2 OnCheck
 
17.07.15
12:58
реквизит формы ИдентификаторТекущейСтроки устанавливать при выборе строки, при обновлении позиционироваться через реквизит списка ТекущаяСтрока.
3 Darhon
 
17.07.15
13:10
(2) спасибо.
4 Darhon
 
17.07.15
13:11
(1) нет. Будет попадать всегда.
5 Darhon
 
17.07.15
13:58
(2) не работает, все равно после обновления на первой строке.
6 Живой Ископаемый
 
17.07.15
14:04
2(5) дык устанавливай
7 Darhon
 
17.07.15
14:11
На форме динамический список. В текущую строку передаются " значения ссылок на объекты, которые содержит главная таблица динамического списка". Но у меня регистр сведений, как можно получить ссылку записи регистра сведений?
8 Живой Ископаемый
 
17.07.15
14:12
ах, ну да...
9 oslokot
 
17.07.15
14:13
(7) Нужно получить ключ записи
10 Darhon
 
17.07.15
14:14
(9)РегистрыСведений.РС.СоздатьКлючЗаписи....??
11 oslokot
 
17.07.15
14:15
(10) да
12 oslokot
 
17.07.15
14:16
и засунуть его в параметр ТекущаяСтрока в открытии формы списка
13 Darhon
 
17.07.15
14:17
(11) А почему ИдентификаторТекСтроки=Элементы.Список.ТекущаяСтрока; не работает. Он же тоже передает в епременную КлючЗаписи
14 oslokot
 
17.07.15
14:19
(13) хз, у списка РС своя особенность
15 Lama12
 
17.07.15
14:22
(0)Никак. Допустим у тебя в ДС выводится 20 строк. При этом под отбор попадают около 150 строк. Вопрос - сколько строк будет считано из базы данных?
Даже если тебе удастся как-то идентифицировать текущую строку (в чем я не сильно уверен), то после обновления ДС на клиенте будут только те строки которые выводятся на экран плюс небольшое количество х.з. как рассчитывается.
Поэтому может быть ситуация когда строка предварительно бывшая выбранной, после обновления станет какой ни будь 120. И все... на этом рассуждения кончаются.
16 Darhon
 
17.07.15
14:36
Сделал через
ПозицияВТаблицеПриОбновлении=РегистрыСведений.Заказы.СоздатьКлючЗаписи(Новый Структура("ИДЗаказа", ИДЗаказа));

Все работает нормально. Всем спасибо.
(15) Мой способ по идее не противоречит твоей логике )