Имя: Пароль:
 
1C
 
Таблица значений: получить/установить значение колонки по номеру строки
0 mirrr
 
13.09.10
09:32
Подскажите, какие методы использовать в 8.2, аналогичные методам в 7.7:

ТЗ.ПолучитьЗначение(НомерСтроки, НомерКолонки) - получить значение колонки по номеру строки.

ТЗ.УстановитьЗначение(НомерСтроки,НомерКолонки,Значение) -установить значение в колонке по номеру строки.
1 butterbean
 
13.09.10
09:35
ТЗ[НомерСтроки][НомерКолонки]
2 mirrr
 
13.09.10
09:39
(1) после "ТЗ" сразу "[" ?
3 luckyluke
 
13.09.10
09:41
(2) ну если не нравится, то поставь пробел после ТЗ, а потом СРАЗУ "["!
4 mirrr
 
13.09.10
09:43
так?
ТЗ(НомерСтроки, НомерКолонки)
5 butterbean
 
13.09.10
09:44
(4) издеваешься?
6 Ненавижу 1С
 
13.09.10
09:45
(4) ты скобки какие поставило?
7 Aprobator
 
13.09.10
09:45
(5) не все путем. Просто видно пробел + [ = (
8 Defender aka LINN
 
13.09.10
09:47
(1) Попробуй свой код на ТЗ из одной строки и/или колонки.
9 butterbean
 
13.09.10
09:48
(8) на нули намекаешь?
10 Aprobator
 
13.09.10
09:49
(9) намекает, что корректнее писать ИндексСтроки и ИндексКолонки.
11 Defender aka LINN
 
13.09.10
09:49
(9) Типа того
12 mirrr
 
13.09.10
10:01
подскажите ещё, как получить текущую строку в ТЗ (вместо ИндексСтроки должна быть текущая строка таблицы)
ТЗ[ИндексСтроки][ИндексКолонки]
13 luckyluke
 
13.09.10
10:03
(12) справку отобрали? или религия не позволяет читать синтаксис помощник?
ИндексТекСтроки = ТЗ.Индекс(ТекСтрокаТЗ)
14 Defender aka LINN
 
13.09.10
10:08
(12) У ТЗ не бывает текущей строки.
15 luckyluke
 
13.09.10
10:12
(14) настроение с утра плохое? Ну какая разница как он называет строку, которую он собирается обрабатывать? То ли текущя, то ли моястрока, то ли СтрокаТЗКоторуюЯСейчасОбработаю...
16 Ненавижу 1С
 
13.09.10
10:13
(15) не у ТЗ текущей строки, у табличного поля есть, но может быть два ТП к одной ТЗ
17 Aprobator
 
13.09.10
10:13
(15) нормальное у него настроение ). Просто кто-то не проснулся с утра. ТекущаяСтрока у ТабличногоПоля.
18 Defender aka LINN
 
13.09.10
10:14
(15) Ну, раз "какая разница", то давай ТЗ называть документом, документ - движением, а регистр - таблицей. Еще можно макет называть текстом. Какая разница?
19 mirrr
 
13.09.10
10:16
(13) переменную "ТекСтрокаТЗ" надо сначала определить. Вот я про это и спрашивал, как в нее получить текущую строку (добавляю в ТЗ строки, и текущая - последняя добавленная)
20 Aprobator
 
13.09.10
10:17
(19) мдя. Как получить номер последней строки в ТЗ? СП вооще читать не хотим?
21 luckyluke
 
13.09.10
10:17
(18) Т.е. вот так писать плохо: "Для ТекущаяСтрокаТЗ Из ТЗ Цикл"? Потому что у ТЗ не может быть текущей строки?
22 mirrr
 
13.09.10
10:19
(19) т.к. индекс начинается с нуля, то:
текиндексстроки=тз.Количество()-1; ?
23 Ненавижу 1С
 
13.09.10
10:21
надоело:

ТекущаяСтрока = ЭлементыФормы.ТЗ.ТекущаяСтрока;
24 Aprobator
 
13.09.10
10:22
(22) уже лучше.
25 73
 
13.09.10
10:24
(19) [(добавляю в ТЗ строки, и текущая - последняя добавленная)]

Посмотри что возвращает метод Добавить(). Зачем искать, то, что уже есть?
26 Defender aka LINN
 
13.09.10
10:25
(21) А вот такое тебе тогда как:

Для Каждого ТекущаяСтрока из ТЗ Цикл
   Для Каждого ЕщеБолееТекущаяСтрока из ТЗ Цикл

   КонецЦикла;
КонецЦикла;

Сколько текущих строк вы видите? :)
27 luckyluke
 
13.09.10
10:32
(26) одну текущую, и одну еще более текущую о.О
можно еще так:
Для Каждого строка из ТЗ Цикл
   Для Каждого строчка из ТЗ Цикл
        Для Каждого строчечка из ТЗ Цикл

        КонецЦикла;
   КонецЦикла;
КонецЦикла;

:)
28 mirrr
 
13.09.10
11:02
(20) как раз этого: "ТЗ[НомерСтроки][НомерКолонки]" в СП нет.

(13) можно как-то еще получить текстроку, кроме как обходом строк          
"Для ТекСтрокаТЗ Из ТЗ Цикл" , чтобы потом получить индекс этой строки?
29 73
 
13.09.10
11:04
(28) А метод Добавить() есть в СП?
30 kokamoonga
 
13.09.10
11:06
(28)

НоваяСтрокаТЗ = ТвояТЗ.Добавить(); //это и есть твоя текущая строка
31 73
 
13.09.10
11:07
(29)+ Как раз про [] есть. Только нужно из 2х мест собрать.

ТаблицаЗначений (ValueTable)
Элементы коллекции:
СтрокаТаблицыЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) строки.


..........

КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Элементы коллекции:
КолонкаТаблицыЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) элемента.
32 mirrr
 
13.09.10
11:10
(29) пишу:
новаястрока=тз.добавить();
новаястрока.колонка1=значение1;
новаястрока.колонка2=значение2;
так получилось:
тз[тз.Индекс(новаястрока)][ИмяКолонки]=значение3;
33 mirrr
 
13.09.10
11:11
подскажите, где скачать скомпилированный хтмл-файл с описанием встроенного языка 8.2 или хоть 8.1
34 73
 
13.09.10
11:11
(32) А почему не так? :

новаястрока[ИмяКолонки]=значение3
35 73
 
13.09.10
11:12
(33) В справку загляни.
36 mirrr
 
13.09.10
11:16
(31) "Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) элемента."
Если надо обратится не к элементу коллекции (строке таблице), а к ячейке (строка/столбец), то догадываться поставить 2 пары скобок для строки и колонки надо самому?
37 73
 
13.09.10
11:18
(36)
Можно не догадываться, а в 2 строки записать:

СтрокаТЗ = ТЗ[ИндексСтроки];
ЯчейкаТЗ = СтрокаТЗ[ИндексКолонки];
38 mirrr
 
13.09.10
11:24
у меня в СП: "Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0)."
Что можно передать туда еще индекс колонки, понять можно не сразу.
39 73
 
13.09.10
11:25
(38) Ну получил строку.
Дальше читай в СП про строку:

СтрокаТаблицыЗначений (ValueTableRow)
Элементы коллекции:
Произвольный
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения в колонке данной строки.
Возможно обращение к значению колонки данной строки посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) колонки.
40 mirrr
 
13.09.10
11:32
да, недосмотрел.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан