Как позиционировать тек. строку на ТЧ

Дайнеко

Well-known member
19.11.2009
951
0
#1
Хочу, чтобы при открытии документа, курсор стал на определенную строку.
Код:
		Для Каждого СтрокаТов из Документ.Товары Цикл
Если ??? Тогда
НомСтр = СтрокаТов;
Прервать;
КонецЕсли;
КонецЦикла;

ДокФорма = Документ.ПолучитьФорму();
ДокФорма.Открыть();
Если ЗначениеЗаполнено(НомСтр) Тогда
ДокФорма.ЭлементыФормы.Товары.ТекущаяСтрока = НомСтр;
КонецЕсли;
Не пашет! ДокФорма.ЭлементыФормы.Товары.ТекущаяСтрока начальное значение Неопределено. Таким и остается.
В 7-ке делал по-другому - передавал в документ номер строки. А тот через Форма.Параметр получал и сам устанавливал строку.
Так бы и хотелось, но тогда может кто-то подскажет, как красиво передать параметры форме.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#3
Покопался в СП. Попробуйте сначала определить отладчиком, какой тип имеет ТекущаяСтрока. Скорее всего, это не число вовсе.
Можно попробовать присвоить Документ.Товары[НомСтр-1], или присвоить это ТекущимДанным.
 

Дайнеко

Well-known member
19.11.2009
951
0
#4
Фи, батенька, у Вас дурной скус. Это как через глобальные переменные.

unknown181538 сказал(а):
Попробуйте сначала определить отладчиком, какой тип имеет ТекущаяСтрока. Скорее всего, это не число вовсе.
1) Я об этом и написал, = Неопределено и до и после присвоения.
2) Обращаю внимание, что я пытаюсь записать в нее не числовой номер строки, а строку ТЧ, которую запомнил в ходе просмотра док-та.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#5
1) Я имел в виду, какой у нее тип, когда она определена.
2) Обращаю внимание, что я пытаюсь записать в нее не числовой номер строки, а строку ТЧ, которую запомнил в ходе просмотра док-та.
Да ваш скус тоже не восхищает) В переменной с названием НомСтр обычно ожидаю увидеть номер строки)
А вот присвоение текущим данным не проходит?
В УФ, сколько помню, ТекущаяСтрока - это некий идентификатор.
 

Allexei

Well-known member
02.05.2008
322
1
#6
Странно а у меня работает такая конструкция:

ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока = ТабличнаяЧасть1[2];

В результате при открытии активной становится 3- я строка.
Вызывается при открытии формы. Проверено в 8.1
 

Дайнеко

Well-known member
19.11.2009
951
0
#7
Давайте расставим понятия. ТекущаяСтрока имеет тип строка ТЗ. Я с успехом пользуюсь ей в рамках открытой формы. Сейчас же не получилось присвоить ей значение, полученное в ходе перебора строк ТЧ Для Каждого. Выходит разные типы данных.

ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока = ТабличнаяЧасть1[2];
Спасибо, теперь я смогу позиционироваться по номеру строки. Даже, назло критиканам, не буду менять имя переменной.

Вот только одна мысль гложет: ЭлементыФормы.ТабличнаяЧасть1 - объект формы, а ТабличнаяЧасть1, т.к. написана без указания объекта, значит реквизит источника данных. Здесь выходит, они совпадают по типу.
 

Darlock

Well-known member
04.01.2008
560
1
#8
пасибо, теперь я смогу позиционироваться по номеру строки. Даже, назло критиканам, не буду менять имя переменной.
Пусть буду критиканом, НО: не по номеру строки, а по индексу.

ЭлементыФормы.ТабличнаяЧасть1 - объект формы, а ТабличнаяЧасть1, т.к. написана без указания объекта, значит реквизит источника данных
не факт, первый вариант - имя элемента формы (можно и "ЗООПАРК" написать) видеть вы будете то, что указано в графе "Данные" (как правило имя ЭУ и реквизита объекта (табличной части объекта и т.п.) совпадает.