Имя: Пароль:
1C
1С v8
Программно перейти на следующую строку табличного поля
0 ХочуСпец
 
26.07.11
10:38
Табличное поле: "МоеТабличноеПоле", имеет тип значения СправочникСписок.МойСправочник (!!!)
Как в этом случае перейти на следующую строку (например при нажатии кнопки)
1 Defender aka LINN
 
26.07.11
10:39
Помедитировать над типом свойства "ТекущаяСтрока"
2 ХочуСпец
 
26.07.11
10:42
я думал реализовать через метод Индекс(). Но данный метода есть у Табличной части, у табличного поля нет
3 ХочуСпец
 
26.07.11
12:42
опа
4 Defender aka LINN
 
26.07.11
12:47
(3) Ты сделал (1)?
5 ХочуСпец
 
26.07.11
12:58
(4) я сделал через построитель
да может быть сложно, но работает

       Портфель = ЭлементыФормы.Портфель;
       ТекСсылка = Портфель.ТекущаяСтрока;
       
       Построитель = Новый ПостроительОтчета;
       Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Портфель.Значение);
           
       Результат = Построитель.Результат.Выгрузить();
       НайденнаяСтрока = Результат.Найти(ТекСсылка, "Ссылка");
       
       ИндексСтроки = Неопределено;
       
       Если Не НайденнаяСтрока = Неопределено Тогда
           ИндексСтроки = Результат.Индекс(НайденнаяСтрока);
       КонецЕсли;
       
       Если ИндексСтроки <> Неопределено тогда
           
           Если ИндексСтроки<Результат.Количество() - 1 тогда
           
               СледующаяСтрока = Результат[ИндексСтроки+1].Ссылка;
               
               Если Не СледующаяСтрока = Неопределено Тогда
                   ЭлементыФормы.Портфель.ТекущаяСтрока = СледующаяСтрока;
               КонецЕсли;    
           
           КонецЕсли;
           
       КонецЕсли;
6 Buster007
 
26.07.11
13:13
(5) ты явно не ищешь легких путей )) тебе видать платят за количество строк кода )
7 dimoff
 
26.07.11
13:16
(6) А какой легкий путь? Тебе видимо платят за пустые понты
8 rutony
 
26.07.11
13:18
(5) О май гад...
9 Buster007
 
26.07.11
14:10
(7) наверное...
мне почему-то кажется, что намного проще и быстрее будет создать 1 раз ком объект и посылать в него команду, чем каждый раз выполнять
Результат = Построитель.Результат.Выгрузить();
       НайденнаяСтрока = Результат.Найти(ТекСсылка, "Ссылка");
)
например как-нибудь так:
   Ком = новый COMОбъект("WScript.Shell"); //это можно написать например в ПриОткрытии
   Ком.SendKeys("{down}"); //жмем кнопку Вниз