Имя: Пароль:
1C
 
Как программно активизировать строку в табличном поле?
0 gardendnepr
 
28.07.10
15:49
Нашел на Вашем проблему "один-к-одному" здесь - http://www.forum.mista.ru/topic.php?id=156648.
У автора все в итоге получилось, я перепробовал все возможные варианты - чего-то никак...
1 Jstunner
 
28.07.10
15:51
2 Mitriy
 
28.07.10
15:52
не знаю, чего по ссылке...
Элементы.ТабПоле.ТекущаяСтрока = СтрокаДанныхТабполя;
3 Mitriy
 
28.07.10
15:53
ну и ТекущийЭлемент = Элементы.ТабПоле; на случай всяк...
4 gardendnepr
 
28.07.10
15:57
(2) Не проходит, поскольку по Элементы.ТабПоле.ТекущаяСтрока = {не важно что}
1с выкидывает ошибку:
"Ошибка при установке значения атрибута контекста (ТекущаяСтрока): Отсутствует ключ строки ЭлементыФормы.СредстваИзмерения.ТекущаяСтрока = А
по причине: Отсутствует ключ строки"
5 73
 
28.07.10
15:59
Что в ТабПоле?
6 Jstunner
 
28.07.10
15:59
надо не "не важно что"
7 73
 
28.07.10
16:00
(5)+ {не важно что} - как раз важно что.
8 gardendnepr
 
28.07.10
16:00
(5) СправочникСписок
9 73
 
28.07.10
16:01
(8) Ссылку на элемент тогда туда надо пихать.
10 gardendnepr
 
28.07.10
16:02
Да я понимаю, что важно, но КАК "поймать" первую строку и сделать её текущей?
Я привел ссылку из архива, там проблема, как мне показалось, красиво не решена...
11 gardendnepr
 
28.07.10
16:03
(9) Пихал. "Отсутствует ключ строки"
12 Jstunner
 
28.07.10
16:04
(8) значит

Элементы.ТабПоле.ТекущаяСтрока = СправочникСсылка
13 Jstunner
 
28.07.10
16:05
(11) весь код давай
14 gardendnepr
 
28.07.10
16:11
(11) Код простой.
Ловлю событие КонтрагентПриИзменении(Элемент), при котором происходит отбор
Temp = Элемент.Значение;
ЭлементыФормы.СредстваИзмерения.Значение.Отбор.Владелец.Установить(Temp);
Все работает, но первая строка отбора не активизируется, пока на неё явно не встанешь.
15 73
 
28.07.10
16:12
(14) Это код отбора.
Тебя просят код, как текущую строку устанавливаешь.
16 gardendnepr
 
28.07.10
16:17
(14) Так в этом же и вопрос! :)
Далее по логике должно быть ЭлементыФормы.СредстваИзмерения.ТекущаяСтрока = {Ссылка на первую строку}, но не получается.
Даже если делаю ЭлементыФормы.СредстваИзмерения.ВыделенныеСтроки.Очистить(), все-равно ругается на "Отсутствует ключ строки".
17 Jstunner
 
28.07.10
16:20
(16) {Ссылка на первую строку} - что это?
18 ice777
 
28.07.10
16:20
(16) проверь, какого типа у тебя {Ссылка на строку}.
19 73
 
28.07.10
16:20
(16) {Ссылка на первую строку} - её найти надо.
20 Mitriy
 
28.07.10
16:22
Расширение формы списка справочника
ПараметрТекущаяСтрока (CurrentLineParameter)
Использование:
Чтение и запись.
Описание:
Тип: СправочникСсылка. Осуществляет позиционирование на строку содержащегося в форме списка, отображающую устанавливаемое значение. Позиционирование происходит при открытии или повторном открытии формы. Если форма используется для выбора или подбора, данная установка имеет более высокий приоритет, чем свойство формы НачальноеЗначениеВыбора.
21 gardendnepr
 
28.07.10
16:22
(17) В смысле СправочникСсылка
22 Jstunner
 
28.07.10
16:23
(21) покажи код, где ты ее получаешь
23 ice777
 
28.07.10
16:24
(21) а должна быть - строка таблицы

ТекущаяСтрока (CurrentRow)
Использование:
Чтение и запись.
Описание:
Содержит текущую строку табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов.
24 73
 
28.07.10
16:24
(16) Справочник иерархический?
25 73
 
28.07.10
16:26
(20) Ему при отборе надо.
26 73
 
28.07.10
16:26
(23) А теперь посмотри <в описаниях расширений табличного поля у соответствующих объектов>
27 Mitriy
 
28.07.10
16:28
(25) тогда, видать, он пихает туда ссылку, которая в отбор не попадает...
28 73
 
28.07.10
16:29
(27) Похоже он не знает, как её найти. А что туда пихает - не признается.
29 ice777
 
28.07.10
16:30
(27) похоже.
30 gardendnepr
 
28.07.10
16:32
(28) Да, все верно :) "Что пихать" - знаю, но КАК получить - не получается.
Доизвращался до ПостроителяОтчетов, откуда получаю отбор, но пока то же не получается
31 73
 
28.07.10
16:33
(16) Ответь на (24).
32 ice777
 
28.07.10
16:33
(26) все равно это ссылка должна быть на элемент коллекции. а автор похоже сует значение в колонке: см (21).
33 73
 
28.07.10
16:33
(31) -> (30)
34 gardendnepr
 
28.07.10
16:33
(31) Нет
35 ice777
 
28.07.10
16:35
(34) а че у тебя в (14) Владелец нарисован, цитирую:

ЭлементыФормы.СредстваИзмерения.Значение.Отбор.Владелец.Установить(Temp);
36 ice777
 
28.07.10
16:35
+(35) тфу, переклинило
37 73
 
28.07.10
16:35
(34)Попробуй:
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументСписок);
Результат = Построитель.Результат; //отобранные строки типа РезультатЗапроса
// тут бы на пустоту проверить ещё
ПерваяСсылка = Результат.Выгрузить()[0].Ссылка;
38 73
 
28.07.10
16:36
(37)+ ДокументСписок = СправочникСписок
39 gardendnepr
 
28.07.10
16:48
(37) Спасибо, сработало!

Где-то я так и делал:
ПостроительОтчетов = Новый ПостроительОтчета;
ПостроительОтчетов.ИсточникДанных = Новый ОписаниеИсточникаДанных(СредстваИзмерения);
ТЗ = ПостроительОтчетов.Результат.Выгрузить();
ЭлементыФормы.СредстваИзмерения.ТекущаяСтрока = ТЗ.Получить(0);

Но мне казалось это полным бредом, слишком сложным...
Оказывается не все так плохо :)

Всем спасибо за понимание :)