Имя: Пароль:
1C
1С v8
Установить курсор на нужную строку в ТЧ обработки (УФ)
, ,
0 mua thu
 
05.09.16
11:50
Добрый день!
Пожалуйста подскажите: в обработке есть 2 ТЧ. 1-я Контрагенты и 2-я ДанныеПоКонтрагентам. Идея такая: при перемещении курсором по первой ТЧ во второй изменяется состав ТЧ в зависимости от выбранного контрагента. Это реализовано. При первом заполнении таблиц в 1-й курсор (удачно) ставлю на первую строку: Элементы.Контрагенты.ТекущаяСтрока = 0;

Необходимо при перемещении курсора по 1-й ТЧ контролировать правильность введенных данных во 2- ТЧ и если не все данные введены - переходить например на первую строку ТЧ. Пытаюсь реализовать это в событии 1-й ТЧ - ПриАктивизацииСтроки(Элемент)  
Если НЕ Проверка Тогда
Элементы.Контрагенты.ТекущаяСтрока = 0;
КонецЕсли;

Вроде отрабатывает код, но курсор переходит на следующую строку а не на ту которую требуется.

Заранее благодарю!
1 oslokot
 
05.09.16
11:51
ТекущаяСтрока это не просто число
2 mua thu
 
05.09.16
11:57
(1) Вроде просто номер строки,  т.е. число. При первом заполнении ТЧ курсор устанавливается правильно)
3 oslokot
 
05.09.16
12:02
(2) это не номер строки
4 oslokot
 
05.09.16
12:07
кури идентификатор строки
5 mua thu
 
05.09.16
12:07
(3) Я не против, но прошу подсказки) Делаю так - тоже не помогает: Элементы.Контрагенты.ТекущаяСтрока = Объект.Контрагенты[0].ПолучитьИдентификатор();
6 mua thu
 
05.09.16
12:10
Думаю дело в событии ПриАктивизацииСтроки, но как добиться желаемого пока не знаю) Получается типа я перехожу на новую строку - выполняется это событие и внутри него не получается установить курсор на произвольную строку.
7 mua thu
 
05.09.16
12:12
Прощу прощения если у кого вызываю раздражение глупым вопросом, но правда не пойму пока как это сделать)
8 Buster007
 
05.09.16
12:14
Если НЕ Проверка Тогда
Элементы.Контрагенты.ТекущаяСтрока = 0;
КонецЕсли;
вот сюда, вместо нуля, тебе надо написать идентификатор строки, которая была до переключения.
9 mua thu
 
05.09.16
12:29
(8) То есть если я хочу ставить курсор на первую строку то этот код по идее должен отрабатывать, но не активируется первая строка:
Если НЕ Проверка Тогда
Элементы.Контрагенты.ТекущаяСтрока = Объект.Контрагенты[0].ПолучитьИдентификатор();
КонецЕсли;
10 FIXXXL
 
05.09.16
12:32
(9) вставь проверку на случай, если ты уже там где надо
Закон Брукера: Даже маленькая практика стоит большой теории.