Имя: Пароль:
1C
1С v8
Как обработать результат запроса?
,
0 Darhon
 
27.05.13
15:31
Добрый день. Есть 1с 8.2 в ней есть такая вот функция:

   Запрос=Новый запрос;
   Запрос.Текст="ВЫБРАТЬ
                |    ЗаявкаНаОткрытиеСчетов.РаботникиОрганизации.(
                |        НомерЛицевогоСчета КАК НомерКарты,
                |        ФизЛицо.Ссылка
                |    ) КАК НомерКарты
                |ИЗ
                |    Документ.ЗаявкаНаОткрытиеСчетов КАК ЗаявкаНаОткрытиеСчетов
                |ГДЕ
                |    ЗаявкаНаОткрытиеСчетов.РаботникиОрганизации.ФизЛицо.Ссылка = &Ссылка";
                Запрос.УстановитьПараметр("Ссылка",Ссылка);
                Выборка=Запрос.Выполнить().Выбрать();
                Пока Выборка.Следующий() Цикл
                    НомерКарты = Выборка.НомерКарты;
                    Возврат    НомерКарты;
                КонецЦикла;
               



По выполнении запроса Выборка.НомерКарты имеет вид "КолекцияКолонокРезультатаЗапроса". Разъясните что это такое  :) И Как оттуда вытащить конкретное значение номера карты. Заранее спасибо :)
1 zak555
 
27.05.13
15:32
почему ты сразу не обращаешься к табличной части, а делаешь вложенный запрос ?
2 Maxus43
 
27.05.13
15:32
|ИЗ
                |    Документ.ЗаявкаНаОткрытиеСчетовРаботникиОрганизации
3 Ёпрст
 
27.05.13
15:33
ну дык перебирай в цикле НомерКарты.. и привет.
ИЛи, в тексте запроса сразу получи всё что  надо в удобном виде.
4 zak555
 
27.05.13
15:34
вложенный запрос -- две группировки
5 Darhon
 
27.05.13
15:39
(4) А можно в данном случае уйти от вложенного запроса?
6 1Сергей
 
27.05.13
15:40
(5) даже нужно
7 viktor_vv
 
27.05.13
15:41
Пока Выборка.Следующий() Цикл
                    ВыборкаКарт = Выборка.НомерКарты.Выбрать();
Пока ВыборкаКарт.Следующий() Цикл
                    Возврат    ВыборкаКарт.НомерКарты;
КонецЦикла ;
                КонецЦикла;
8 1Сергей
 
27.05.13
15:41
(7) ты не из Индии?
9 viktor_vv
 
27.05.13
15:43
(8) Неа :), из хохляндии.
Я таки за то чтобы в запросе все сделать, но это самый простой вариант исправления :).
10 viktor_vv
 
27.05.13
15:44
Хотя опять же, в типовой полно таких обработок запросов с табличными частями.
11 Darhon
 
27.05.13
15:44
(8)(9) А что можно исправить в запросе. Он уже упрощен по максимуму. Без физлица не обойтись, оно сравнивается с параметром. Данные уже и так из ТЧ вытягиваются...Или я не прав?
12 1Сергей
 
27.05.13
15:45
Запрос=Новый запрос;
   Запрос.Текст="ВЫБРАТЬ
                |        ЗаявкаНаОткрытиеСчетовРаботникиОрганизации.НомерЛицевогоСчета КАК НомерКарты
                |ИЗ
                |    Документ.ЗаявкаНаОткрытиеСчетов.РаботникиОрганизации КАК ЗаявкаНаОткрытиеСчетовРаботникиОрганизации
                |ГДЕ
                |    ЗаявкаНаОткрытиеСчетовРаботникиОрганизации.ФизЛицо.Ссылка = &Ссылка";
                Запрос.УстановитьПараметр("Ссылка",Ссылка);
                Выборка=Запрос.Выполнить().Выбрать();
                Если Выборка.Следующий() Тогда
                    Возврат    Выборка.НомерКарты;
                КонецЦикла;
AdBlock убивает бесплатный контент. 1Сергей