Как программно установить текущую строку в табличной части #370819


#0 by Sheezo
ТекСтр - найденная строка этой табличной части такой вариант не катит - все равно позиционируется на первую строку табличной части. Что не так?
#1 by Черный всадник
Посмотри внимательно свойства формы
#2 by Sheezo
Что именно?
#3 by Черный всадник
Переменная Док - ?
#4 by Sheezo
нет Форм
#5 by 1Cv8exe
Использование: Чтение и запись. Описание: Содержит текущую строку табличного поля. Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Примечание: Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов. См. также: ТабличноеПоле, свойство ТекущаяКолонка
#6 by Sheezo
*Форм.ТекущийЭлемент=Форм.ЭлементыФормы.Работы;
#7 by Sheezo
Хэлп я читал)
#8 by tsr
Тип какой ТекСтр?
#9 by kosts
Значит была найдена первая строка или возможно совсем ничего не найдено
#10 by Черный всадник
В таком случае должно работатаь. Либо происходит повторная инициализация, либо отбор накладывается. Посмотри в отладчике.
#11 by Sheezo
смотрел в отладчике. ТекущаяСтрока - Неопределено как до присвоения так и после присвоения ТекСтр (ДокументТабличнаяЧастьСтрока). Но и не ругается
#12 by kosts
Сделай поиск по таблице после Форм.Открыть;
#13 by Черный всадник
Либо не совпадает тип, либо строка не найдена
#14 by 1Cv8exe
Все работает: В таком варианте перескакивает на ту строку, которую "запомнил"
#15 by Sheezo
не сработало (
#16 by Sheezo
Все работает с уже существующей формой. Речь идет о "перескакивании" в программно созданной форме.
#17 by Sheezo
Вернее, в программно открытой
#18 by Черный всадник
Это не имеет значения.
#19 by kosts
И так и не работает?
#20 by Sheezo
Как раз имеет. Тот же самый кусок кода прекрасно встает на нужную строку:
#21 by 1Cv8exe
Как это может быть программно созданная форма если ты получаешь реальную форму: "Форм=ТекДок.ПолучитьФорму("ФормаДокумента");" ? Нужно чтобы ТекущаяСтрока  и ТекСтр имели одинаковый тип. А у тебя скорее всего ТекСтр это Строка Табличной части. А Текущая строка - это строка табличного поля.
#22 by Sheezo
У элемента формы "Табличное поле" вообще нет такого метода как "Найти"
#23 by Sheezo
верно. Как, имея строку табличной части, получить строку табличного поля? Может, и глупый вопрос :)
#24 by Черный всадник
Внимательно читаем синтаксис помошник. Кстати, ты в курсе что у тебя и не будет работать, Т.к. ты тек строку из другого объекта выдергиваешь, не из объекта формы.
#25 by Черный всадник
Он тебя морочит
#26 by Черный всадник
+ Т.е. ТекДок <> Форма.ДокументОбъект
#27 by kosts
В табличной части есть Найти.
#28 by 1Cv8exe
на сколько внимательно читать надо? А точнее на что обратить внимание? Может на это: ТекущаяСтрока (CurrentRow) Описание: Содержит текущую строку табличного поля.?
#29 by Черный всадник
Например, на это: "Расширение табличного поля табличной части Свойства: Описание: Дополнительные свойства элемента управления ТабличноеПоле, предназначеные для интерактивной работы с табличной частью. Для данного расширения свойства ТекущаяСтрока и ТекущиеДанные имеют значения типа Строка табличной части Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. "
#30 by 1Cv8exe
Пока не знаю как это можно сделать... А понял ) перебором (если строк не много) Запускаешь цикл по табличному полю и встречая необходимое значение делаешь эту строку текущей :)
#31 by Черный всадник
+ И еще тут: "Примечание: Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов. "
#32 by Sheezo
Есть, находится нужная строка в табличной части, но как сделать текущей строкой табличного поля эту "найденную" строку табличной части?
#33 by Черный всадник
Форм.ЭлементыФормы.Работы.ТекущаяСтрока=ТекСтр
#34 by IceSer1
по индексу не пробовал?
#35 by DancingShadow
Никак. Изменить текущую строку вроде можно только интерактивно. Сам сталкивался  с сабжем, в итоге бросил эту затею
#36 by DancingShadow
у строки ТП нет не индекса ни номера
#37 by Черный всадник
Врешь!
#38 by DancingShadow
возможно. я же написал, что вроде бы
#39 by zag2art
Есть еще вариант передать твою строку в объект, а текущей делать ПриОткрытии формы
#41 by Sheezo
Короче, получилось: Фишка была в поиске через Форм.ДокументОбъект
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям