Имя: Пароль:
1C
1С v8
Использование метода Установить(<Индекс>, <Значение>) объекта СтрокаТаблицыЗнач
0 DmSk
 
24.08.11
15:08
Как использовать (пример) метод Установить(<Индекс>, <Значение>)  объекта СтрокаТаблицыЗнач ?
код такой
Знач = 10;
НоваяСтрока = ТаблицаН2.Добавить();
НоваяСтрока.Установить(6,Знач);
где 6 - это номер колонки
ошибка
Форма.ФормаОтчета.Форма(708)}:
Метод объекта не обнаружен (Установить)
НоваяСтрока.Установить(....
1 mikecool
 
24.08.11
15:12
ТипЗнч(НоваяСтрока) <> Тип("СтрокаТаблицыЗначений")
2 Axel2009
 
24.08.11
15:13
ТаблицаН2 наверна табличная часть
3 only82
 
24.08.11
15:14
НоваяСтрока =Объект.ТаблицаН2.Добавить();
СтрокаТЧ[1].ТвойРеквизит= Знач;
4 only82
 
24.08.11
15:15
(3) * НоваяСтрока[1].ТвойРеквизит= Знач;
5 mikecool
 
24.08.11
15:15
(4) [] прохляют с индексом?
6 DmSk
 
24.08.11
15:16
(2) да таблица на форме
7 only82
 
24.08.11
15:16
не, неправильно написал. тут индекс не нужен
просто:  НоваяСтрока.ТвойРеквизит= Знач;
8 mikecool
 
24.08.11
15:17
(6) ответь на (1)
9 DmSk
 
24.08.11
15:18
(7) мне нужно сделать сейчас именно через индекс
10 DmSk
 
24.08.11
15:20
(8) ХЗ 8-ку незнаю,
НоваяСтрока - создается НоваяСтрока = ТаблицаН2.Добавить();
где ТаблицаН2 - таблица значений на форме
11 Reset
 
24.08.11
15:22
(10) >>таблица значений на форме
Таблица значений не может быть на форме.
На форме может быть табличное поле, данными к которому может быть а) таблица значений б) табличная часть в) что-то еще

Что такое ТаблицаН2? :)
12 Axel2009
 
24.08.11
15:22
(10) тогда откуда знаешь что 6?
13 mikecool
 
24.08.11
15:23
(10) вот после НоваяСтрока = ТаблицаН2.Добавить();
в отладчике вычисли ТипЗнч(НоваяСтрока)
14 only82
 
24.08.11
15:24
(9) Так в чем проблема? Делай так: Строка[Индекс].ТвойРеквизит= Знач;
15 mikecool
 
24.08.11
15:25
(14) точно угадал?
все, телепат больше не работает
16 only82
 
24.08.11
15:25
(14) где Строка = Объект.ТвояТабЧасть
17 Reset
 
24.08.11
15:26
(14) (16)
в (0) написано "где 6 - это номер колонки" т.е. индекс - номер колонки, а не номер строки
18 only82
 
24.08.11
15:26
(15) Не понял что ты хотел сказать?
19 only82
 
24.08.11
15:28
(17) Колонка - это реквизит таб. части. к нему удобнее обращаться не по номуру, а по наименовнию
20 Reset
 
24.08.11
15:29
(19) Буду знать :)
21 DmSk
 
24.08.11
15:30
(14) в том то и прикол мне нужно к колонке обратиться по индексу (по номеру), можно было бы написать просто
Знач = 10;
НоваяСтрока = ТаблицаН2.Добавить();
НоваяСтрока.Количество1 = Знач;
и всё,
но в табличном поле у меня есть колонки "Количество1","Количество2"...
вот чтобы не писать их, я их циклом хочу заполнить, потому мне нужно обратиться к колонкам через индекс/имя
22 DmSk
 
24.08.11
15:31
(12) посчитал по порядку колонки табличного поля
23 DmSk
 
24.08.11
15:32
(11) ТаблицаН2 - это Табличное поле на форме
24 Reset
 
24.08.11
15:32
(22) Ты вопросы в (1),(11),(13) целенаправленно игнорируешь?
25 DmSk
 
24.08.11
15:34
(24) ответ (23) подойдет ?
26 Reset
 
24.08.11
15:34
(23) Где-то темнишь.

Если (23), то
НоваяСтрока = ТаблицаН2.Добавить();
Будет давать ошибку "Метод не найден"
27 Axel2009
 
24.08.11
15:34
(25) а если пользователь изменил настройку списка, как считать будешь?
28 Reset
 
24.08.11
15:36
(25) не подойдет.
Напиши хотя бы
Сообщить(типЗнч(ТаблицаН2 ))
и скопируй что напишет....
29 Reset
 
24.08.11
15:40
Походу автору нужнен ответ типа

НоваяСтрока["Количество"+ПорядковыйНомерКоличества]=Знач
30 DmSk
 
24.08.11
15:45
скопировал

Внешний отчет табличная часть: Таблица н2
31 DmSk
 
24.08.11
15:46
(29) точно, так прям можно написать ?
32 Reset
 
24.08.11
15:48
(30) Ну видишь, табличная часть, а не таблица значений.

(31) Разрешаю, можно.
(без шуток)
33 DmSk
 
24.08.11
15:50
(32) после 7-ки таблица значений от табличного поля мало отличимы :)
34 Reset
 
24.08.11
15:56
В порядке бреда, если маниакально озадачиться обращением к реквизиту строки табличной части по индексу колонки, можно написать так:
Колонки=ТЧ.ВыгрузитьКолонки().Колонки;
///...
НоваяСтрока[Колонки[Индекс].Имя]=Знач; // Индекс - порядковый номер колонки, по порядку в конфигураторе в метаданных

Но я НЕ рекомендую так делать)
35 DmSk
 
24.08.11
15:59
вот так работает
НоваяСтрока["Количество"+ПорядковыйНомерКоличества]=Знач
Спасибо.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн