Как спозиционировать курсор на определенную строку табличного поля #528304


#0 by askharlov
Как спозиционировать курсор на определенную строку табличного поля зная, например, номер этой строки? ПРИМЕР ВОСТРЕБОВАНИЯ ЗАДАЧИ: 1. Есть документ с одной табличной частью с реквизитами: Подразделение, Контрагент, Счет-фактура, Сумма оплаты 2. В форме документа создаю 2 табличного поля: - первое содержит поля (колонки):  Подразделение, Сумма оплаты - второе: Подразделение, Контрагент, Счет-фактура, Сумма оплаты 3. В первом табл.поле рассчитывается итоговая Сумма оплаты по соответствующему подразделению 4. Когда становлюсь на определенное подразделение и нажимаю самописную кнопку "Развернуть", то активируется второе табличной поле с установленным отбором по этому подразделению и детализации оплат по нему до контрагентов и счетов-фактур 5. Находясь во втором табличном поле нажимаю на самописную кнопку "Свернуть". 6. Активируется первое табличное поле. НО!: курсор стоит на первой строке, а не на той для которой я делал разворот. Пытался решить: Вариант 1: При разворачивании: мТекущаяСтрока = ТаблПоле1.ТекущаяСтрока; Присваивание происходит, но позиционирование нет (все равно стоит на первой строке). Вариант 2: Можно при разворачивании запомнить номер строки, но вопрос, как зная этот номер спозиционировать курсор на соответствующей строке табличной части?
#1 by mikecool
текущую строку присваивать через ЭлементыФормы и далее по контексту
#2 by askharlov
Вроде так и делаю. Вот конкретный код: При разворачивании: мТекущаяСтрокаРеестрВсего = ЭлементыФормы.РеестрВсего.ТекущаяСтрока; При сворачивании: В отладчике вижу, что на втором шаге для ЭлементыФормы.РеестрВсего.ТекущаяСтрока  присваивается правильное значение, но курсор все равно позиционируется на первую строку. В чем ошибка?
#3 by askharlov
Поправка: в отладчике вижу, что при выполнении оператора ЭлементыФормы.РеестрВсего.ТекущаяСтрока = мТекущаяСтрокаРеестрВсего; Значение ЭлементыФормы.РеестрВсего.ТекущаяСтрока не меняется. Вопрос открыт...
#4 by askharlov
Запоминая ТекущуюСтроку и восстанавливая ее значение спозиционироваться получилось. Оказывается у меня не позиционировалось из-за обновления исходной таблицы-источника данных Но! Этот метод не подходит, так между уходом с табличного поля и возвратом на него присутствует обновление исходной таблицы значений. Необходимо позиционироваться на определенной строке табличного поля зная ее порядковый номер (или индекс) или значения некоторых колонок. Но у табличного поля нет индексов у строк и нет метода "Найти" или "НайтиСтроки". Что делать?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С