Имя: Пароль:
1C
1С v8
Подскажите, пожалуйста, как написать запрос
0 Анна_84
 
26.03.13
13:16
Есть некоторый самописный документ в БП2.0, с табличной частью, в которой несколько однотипных реквизитов: Реквизит1, Реквизит2, Реквизит3 (все одного типа). Подскажите, пожалуйста, как написать запрос, чтобы его результат был вида:
МойДокумент.Контрагент
        МойДокумент.Реквизит1
        МойДокумент.Реквизит2
        МойДокумент.Реквизит3

Единственное, что в голову приходит, это примерно так:
ВЫБРАТЬ
   МойДокумент.Контрагент,
   МойДокумент.Реквизит1
ИЗ
   Документ.МойДокумент.ТабЧасть КАК МойДокумент

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   МойДокумент.Контрагент,
   МойДокумент.Реквизит2
ИЗ
   Документ.МойДокумент.ТабЧасть КАК МойДокумент

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   МойДокумент.Контрагент,
   МойДокумент.Реквизит3
ИЗ
   Документ.МойДокумент.ТабЧасть КАК МойДокумент
ГДЕ
   МойДокумент.Ссылка = &Ссылка

ИТОГИ ПО
   Контрагент
1 GROOVY
 
26.03.13
13:18
ВЫБРАТЬ
Контрагент,
Реквизит1, Реквизит2, Реквизит3
ИЗ
Документ.МойДокумент.ТабЧасть
ГДЕ
Ссылка = &Ссылка
ИТОГИ ПО Контрагент
2 H A D G E H O G s
 
26.03.13
13:19
(1) Ей 1 столбец нужен, она неможет настолько тупить, что 3 столбца.
3 Анна_84
 
26.03.13
13:25
(1) мне надо потом его обработать примерно так:
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() цикл
 //тут получим контрагента
  ВыборкаДетали = Выборка.Выбрать();
  Пока ВыборкаДетали.Следующий() цикл
      //а тут по очереди (проходя цикл 3 раза) Реквизит1, Реквизит2, Реквизит3
  КонецЦикла;
КонецЦикла;
4 GROOVY
 
26.03.13
13:30
(3) А что мешает в цикле обращаться к реквизитам?

  ВыборкаДетали = Выборка.Выбрать();
  Пока ВыборкаДетали.Следующий() цикл

ВыборкаДетали.реквизит1;
ВыборкаДетали.реквизит2;
ВыборкаДетали.реквизит3;

  КонецЦикла;


Ну или цикл сделать?

  Пока ВыборкаДетали.Следующий() цикл

Для х=1 по 3 Цикл
Значение = ВыборкаДетали["Реквизит"+Х];

  КонецЦикла;
5 MaxisUssr
 
26.03.13
13:30
(0), (3) Все равно не ясна цель. Что, если в документе будет 12 строк в этой ТЧ, тогда как будете проходить по ним в (3)?
6 3V
 
26.03.13
13:34
а циклы зачем? если группировка по контрагенту будет, в запросе как в (0) нормально выберется все, чего не устраивает-то ?
7 Анна_84
 
26.03.13
13:34
(4) хм.. да в общем-то, ничего не мешает )
это я туплю просто. спасибо
8 GROOVY
 
26.03.13
13:34
(6) Где твой хрустальный шар?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.