Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как сделать перебор значений, в таблице, но по номеру ? (http://forums.kuban.ru/f1040/kak_sdelat-_perebor_znachenij_v_tablice_no_po_nomeru-3226751.html)

med 26.10.2012 10:23

Как сделать перебор значений, в таблице, но по номеру ?
 
УПП
Делается отчетик
получается некая информация с нескольких источников
часть информациия я благополучно запихиваю в массив
и оттуда ее благополучно извлекаю через цикл
Столб = Новый Массив();
Столб[0]=...;
Столб[1]=...;
Столб[2]=...;
Столб[3]=...;
............
Ну это упрощенно
Для сч = 0 по Столб.Количество() – 1 Цикл
....... Столб[сч] ...........;
КонецЦикла;
А вот такую же штуку мне надо проделать с таблицей
Как ?
Можно даже упростить
я завел таблицу
Отчет = Новый ТаблицаЗначений();
Отчет.Колонки.Добавить("Столб1");
Отчет.Колонки.Добавить("Столб2");
Отчет.Колонки.Добавить("Столб3");

И вот как мне в том же цикле получить
Значение , так сказать из
Отчет.Столб[сч] ?
Большая просьба голые слова типа
"Шаблон" "используй шаблон" не приводить - весь инет ими наполнен, но нигде нет даже мало мальски конкретного примера.
Или приводите вместе с примером.

roma n 26.10.2012 10:29

0-med > мало что понял...

Отчет[0].Столб1
Отчет[0].[Отчет.Колонки.Индекс(Отчет.Колонки.Найти(имяКолонки))]

med 26.10.2012 11:41

1-roma n >
Извиняюсь, неудачно названия подобдрал
Столб = Новый Массив();
Столб[0]=...;
Столб[1]=...;
и
Отчет = Новый ТаблицаЗначений();
Отчет.Колонки.Добавить("Столб1");
Отчет.Колонки.Добавить("Столб2");

Это два разных человека :-)
Вопрос как мне все столбцы таблицы перебрать в цикле
Для сч = 0 по Столб.Количество() – 1 Цикл
....... Столб[сч] ...........;
....... Отчет.Столб[сч] ...........;
КонецЦикла;
Как получить значение из таблицы перебором индексов.

roma n 26.10.2012 11:46

Для Каждого Колонка Из ТЗ.Колонки Цикл

roma n 26.10.2012 11:50

Как получить значение из таблицы перебором индексов я тебе выше сказал
[u]Сначала по индексу берёшь строку[/u]; в ней по индексу колонки - значение в этой колонке.
Для сч = 0 по Столб.Количество() – 1 Цикл
[u]// здесь кроме столбца нужно указать строку таблицы[/u] получить строку
....... Столб[сч] ...........;
....... Отчет[b][u][0][/u][/b].Столб[сч] ...........;
КонецЦикла;

roma n 26.10.2012 11:51

пардон, читай:
Отчет[0].[сч] ..

med 26.10.2012 11:53

3-roma n > Хм
т.е.
Отчет = Новый ТаблицаЗначений();
Для каждого Стр Из Отчет Цикл
Для Каждого Колонка Из Стр .Колонки Цикл

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

Сработает ?
Мне нужен перебор такой же как у массива, только перебирать я буду колонки стблицы

roma n 26.10.2012 11:55

Сработает.
Цикл по колонкам, в данном случае, удобнее организовывать по индексу. Чтоб по этому же индеку получать значение.
Порядок вложенности циклов роли не играет

med 26.10.2012 12:17

Хм Не взлетает
Для сч=0 по Отчет.Количество() Цикл
КодГр=Отчет[сч].[9];
ну и по приколу
КодГр=Отчет[0].[Сч];
{Форма.Форма.Форма()**: Ожидается идентификатор
КодГр=Отчет[0].<<?>>[Сч]; (Проверка: Толстый клиент (обычное приложение))
{Форма.Форма.Форма()**: Ожидается символ ';'
КодГр=Отчет[0].[<<?>>Сч]; (Проверка: Толстый клиент (обычное приложение))

med 26.10.2012 12:18

{Форма.Форма.Форма()**: Неопознанный оператор
КодГр=Отчет[0].[Сч<<?>>]; (Проверка: Толстый клиент (обычное приложение))

roma n 26.10.2012 12:37

9-med >ну убери лишний символ-то. Не обязательно один в один списывать...

med 26.10.2012 12:41

10-roma n >
так а где он лишний то - первый строка второй столбец, если я правильно понял.

qweqwe123123 26.10.2012 12:52

тчк убери

med 26.10.2012 13:23

аааааа ... Семён Семёныч ....

med 26.10.2012 13:23

Это я себе.


Текущее время: 05:19. Часовой пояс GMT +3.