|
|
|
Обращение к полям запроса в самом запросе. | ☑ | ||
|---|---|---|---|---|
|
0
Diesellogin
09.10.12
✎
22:20
|
В запросах 1с7.7 можно было обратиться в тексте запроса к полю запроса как ЗАПРОС.Поле.
В 8.2 такое не получается. Вопрос: как можно обратиться к уже рассчитанному полю в запросе, чтобы обработать его при получении следующих полей? Пример: Рассмотри шаблон запрос: ВЫБРАТЬ Ресурс.Рекв1, Ресурс.Рекв2, ......... ВЫБОР КОГДА Ресурс.Рекв10=1 ТОГДА "А" КОГДА Ресурс.Рекв10=2 ТОГДА "B" КОГДА Ресурс.Рекв10=3 ТОГДА "С" ИНАЧЕ "" КОНЕЦ КАК Рекв10, ВЫБОР КОГДА ЗАПРОС.Рекв10="A" Тогда "выаыв" КОГДА ЗАПРОС.Рекв10="B" Тогда "авпвап" КОГДА ЗАПРОС.Рекв10="C" Тогда "апрапру" ИНАЧЕ "" КОНЕЦ КАК Рекв10_2 ИЗ Ресурс Здесь не прокатывает ЗАПРОС.Рекв10 Как можно получить в процессе формирования строк результат запроса уже расчитанное значение поля Рекв10? Спасибо. |
|||
|
1
Фокусник
09.10.12
✎
22:24
|
(0) можно сделать вложенный запрос и обратиться к его полям
|
|||
|
2
rs_trade
09.10.12
✎
22:30
|
(0) в семерке тоже такое не прокатывало, не обманывай.
|
|||
|
3
Diesellogin
09.10.12
✎
23:15
|
(1) это запасной варинат, хотелось бы не раздувать запрос )
(2) вот фрагмент из 7.7 Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса=" |Период с ДатаНачала по ДатаКонца; |ОбрабатыватьДокументы "+?((ВклПроведенные=1) и (Макс(ВклТекущие, ВклУдаленные)=0), "Проведенные", ?((ВклПроведенные=0) и (Макс(ВклТекущие, ВклУдаленные)=1), "Непроведенные", ?((ВклПроведенные=0) и (Макс(ВклТекущие, ВклУдаленные)=0), "Непроведенные", "Все")))+"; |Обрабатывать "+?((ВклПроведенные+ВклТекущие>=1) и (ВклУдаленные=1), "Все", ?((ВклПроведенные+ВклТекущие>=1) и (ВклУдаленные=0), "НеПомеченныеНаУдаление", ?((ВклПроведенные+ВклТекущие=0) и (ВклУдаленные=1), "ПомеченныеНаУдаление", "Все")))+"; |Док = Документ.ПоступлениеТМЦ.ТекущийДокумент; |Фирма = Документ.ПоступлениеТМЦ.Фирма; |УпрАналитика = Документ.ПоступлениеТМЦ.Фирма.УпрАналитика; |ЮрЛицо = Документ.ПоступлениеТМЦ.Фирма.ЮрЛицо; |СкладПолучатель = Документ.ПоступлениеТМЦ.Склад; |Поставщик = Документ.ПоступлениеТМЦ.Контрагент; |Договор = Документ.ПоступлениеТМЦ.Договор; |ТК = Документ.ПоступлениеТМЦ.ТК; |ВхСчет_Дата = Документ.ПоступлениеТМЦ.ВхСчет_Дата; |ВхСчет_Номер = Документ.ПоступлениеТМЦ.ВхСчет_Номер; |Счет = Документ.ПоступлениеТМЦ.ВхСчет; |Номенклатура = Документ.ПоступлениеТМЦ.Номенклатура; |Цена = Документ.ПоступлениеТМЦ.Цена; |КодОперации = Документ.ПоступлениеТМЦ.КодОперации; |ГруппаТоваров=Документ.ПоступлениеТМЦ.ГруппаТоваров_Удобная; |ВхСчет_Сумма_врм = Документ.ПоступлениеТМЦ.ВхСчет_Сумма; |Объем_врм=Документ.ПоступлениеТМЦ.Объем; |Места_врм=Документ.ПоступлениеТМЦ.Места; |Масса_врм=Документ.ПоступлениеТМЦ.Масса; |"; ТекстЗапроса=ТекстЗапроса+" |ДатаОтгрузкиОтПоставщика = Документ.ПоступлениеТМЦ.ДатаОтгрузкиОтПоставщика; |ДатаПогрузкиВТК = Документ.ПоступлениеТМЦ.ДатаПогрузкиВТК; |ДатаОтправкиИзТК = Документ.ПоступлениеТМЦ.ДатаОтправкиИзТК; |ДатаПоступленияВТК = Документ.ПоступлениеТМЦ.ДатаПоступленияВТК; |ДатаПриходованияНаСклад = Документ.ПоступлениеТМЦ.ДатаДок; |Функция сч=Счётчик(Номенклатура); |Функция ВхСчет_Сумма=Сумма(ВхСчет_Сумма_врм) Когда (Запрос.сч=1); |Функция Объем=Сумма(Объем_врм) Когда (Запрос.сч=1); |Функция Места=Сумма(Места_врм) Когда (Запрос.сч=1); |Функция Масса=Сумма(Масса_врм) Когда (Запрос.сч=1); последние строчки... |
|||
|
4
Diesellogin
09.10.12
✎
23:16
|
правда здесь применяется к функциям.
|
|||
|
5
rs_trade
09.10.12
✎
23:24
|
(3) не путай язык запросов 1с8, который производный от SQL и плод наркотической галюцинации в 1с7.7, которая совсем не SQL.
|
|||
|
6
Diesellogin
09.10.12
✎
23:39
|
(5) Согласен ))
остановимся на варианте вложенного запроса (1) |
|||
|
7
vmv
09.10.12
✎
23:52
|
(6) пакетный с вт оптимальнее, вложенные для тюфяков
|
|||
|
8
mikecool
10.10.12
✎
00:22
|
мляха муха...
КОГДА Ресурс.Рекв10=1 ТОГДА "А" КОГДА Ресурс.Рекв10=2 ТОГДА "B" КОГДА Ресурс.Рекв10=3 ТОГДА "С" ИНАЧЕ "" КОНЕЦ КАК Рекв10, ВЫБОР КОГДА Ресурс.Рекв10=1 Тогда "выаыв" КОГДА Ресурс.Рекв10=2 Тогда "авпвап" КОГДА Ресурс.Рекв10=3 Тогда "апрапру" ИНАЧЕ "" |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |