|
Подскажите, пожалуйста, как написать запрос |
☑ |
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) Где твой хрустальный шар?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший