Имя: Пароль:
1C
 
(Запрос) Как выгрузить данные из запроса в массив
0 Grumax
 
18.06.10
11:42
ТекстЗапроса        = "ВЫБРАТЬ РАЗЛИЧНЫЕ
|    табМассив.СтолбецНаименование КАК Столбец
|ИЗ
|    табМассив КАК табМассив
|ГДЕ
|    табМассив.СтолбецБулево" ;
Запрос            = Новый Запрос ;
Запрос.Текст        = ТекстЗапроса ;
РезультатЗапроса    = Запрос.Выполнить() ;
Кол-во записей, для определения размерности массива
КоличествоЗаписей    = РезультатЗапроса.Выбрать().Количество() ;
// Создаём массив для вычисления составляющих формулы
// в массив кол-во строк = кол-ву составляющих,
// в первом столбце наименование столбца, во втором значение
масВычисляемыеСоставляющие    = Новый Массив(КоличествоЗаписей, 2) ;
Выборка                = РезультатЗапроса.Выбрать() ;
чисСчетчик            = 0 ;
Пока Выборка.Следующий() Цикл
       
  стрСтрока    = Выборка[Столбец] ;
  масВычисляемыеСоставляющие[чисСчетчик][0]= Выборка.[Столбец] ;
  масВычисляемыеСоставляющие[чисСчетчик][1]= 0 ;
  чисСчетчик = чисСчетчик + 1 ;
       
КонецЦикла ;

В справке написано ВыборкаИзРезультатаЗапроса: "Возможно обращение к полям выборки посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) или имя поля выборки.", не могу допетрить как? Спасибо.
1 AndOne
 
18.06.10
11:44
Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Столбец")
2 zbv
 
18.06.10
11:44
кавычки добавь, а во втором случае еще точку убери.
3 73
 
18.06.10
11:45
(0) Тебе обязательно 2мерный массив нужен? Может ТЗ из 2х колонок получше будет?
Сразу из запроса выгрузил и ок.
4 73
 
18.06.10
11:47
(2)+ или Выборка["Столбец"] или Выборка.Столбец
5 Grumax
 
18.06.10
12:01
С кавычками:
{Документ.НормКарта.Форма.ФормаДокумента(254,55)}: Ожидается идентификатор
  масВычисляемыеСоставляющие[чисСчетчик][0]    = Выборка.<<?>>["Столбец"] ;
{Документ.НормКарта.Форма.ФормаДокумента(254,56)}: Неопознанный оператор
  масВычисляемыеСоставляющие[чисСчетчик][0]    = Выборка.[<<?>>"Столбец"] ;
Таблица значений не подходит, т.к. я переодически буду обращаться на одну и ту же функцию, причем из неё же самой, а как я понимаю "ТЗ" будет видима во всех функциях, а мне нужны локальные данные. Ща попробую Выборка.Столбец, но не понятно о чём в справке написано
6 Kashemir
 
18.06.10
12:03
МассивНужныхКолонки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("НужнаяКолонка");
7 Grumax
 
18.06.10
12:13
Тьфу-ты ... забыл точку убрать перед [...]. Спасибо!
8 zbv
 
18.06.10
12:13
(5) смотри (4) внимательно.