|
Выполнить запрос в цикле | ☑ | ||
---|---|---|---|---|
0
BUMBUM
05.11.12
✎
15:33
|
прошу помощи, т.к. уже 3 день и !?!?
Есть запрос ВЫБРАТЬ ВЫБОР КОГДА ДокУЛ2.Номенклатура ЕСТЬ NULL ТОГДА ЗаказДокУЛ1.Номенклатура ИНАЧЕ ДокУЛ2.Номенклатура КОНЕЦ КАК Номенклатура, ЗаказДокУЛ1.КоличествоЗаказ, ЗаказДокУЛ1.КоличествоУЛ1, ДокУЛ2.КоличествоУЛ2 ИЗ ЗаказДокУЛ1 КАК ЗаказДокУЛ1 ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ AV_УпаковочныйЛистОборудование.Номенклатура КАК Номенклатура, СУММА(AV_УпаковочныйЛистОборудование.КоличествоУЛ) КАК КоличествоУЛ2 ИЗ Документ.AV_УпаковочныйЛист.Оборудование КАК AV_УпаковочныйЛистОборудование ГДЕ AV_УпаковочныйЛистОборудование.Ссылка = &СсылкаУЛ2 СГРУППИРОВАТЬ ПО AV_УпаковочныйЛистОборудование.Номенклатура) КАК ДокУЛ2 ПО ЗаказДокУЛ1.Номенклатура = ДокУЛ2.Номенклатура |
|||
1
Feanorko
05.11.12
✎
15:34
|
Выдыхай
|
|||
2
Feanorko
05.11.12
✎
15:35
|
Все выходные мучаться с запросом - это жестоко
|
|||
3
shuhard
05.11.12
✎
15:35
|
(0)[ т.к. уже 3 день]
женщины 9 месяцев вынаживают и ни чего |
|||
4
BUMBUM
05.11.12
✎
15:35
|
Это совет не дослушав вопрос(((
|
|||
5
BUMBUM
05.11.12
✎
15:35
|
))
|
|||
6
BUMBUM
05.11.12
✎
15:36
|
Да дело не в запросе не получается это все в цикл запихнуть
|
|||
7
GROOVY
модератор
05.11.12
✎
15:36
|
Попробуй сформулировать вопрос лучше.
|
|||
8
GROOVY
модератор
05.11.12
✎
15:36
|
Запрос в цикле это жесть.
|
|||
9
BUMBUM
05.11.12
✎
15:36
|
К = 1;
КоличествоУЛ = ВыборкаКолУЛ.Количество(); Пока ВыборкаКолУЛ.Следующий() Цикл ИмяТабл = "Табл"+Строка(К); Если К = КоличествоУЛ Тогда УсловиеПомешения = " "; Иначе УсловиеПомешения = "ПОМЕСТИТЬ "+ИмяТабл; КонецЕсли; Текст = "ВЫБРАТЬ |КОГДА ДокУЛ.Номенклатура Есть NULL |ТОГДА Табл" + Строка(К-1)+ ".Номенклатура |ИНАЧЕ ДокУЛ.Номенклатура КОНЕЦ КАК Номенклатура, |Табл" + Строка(К-1)+".КоличествоЗаказ"; М = 1; Пока М <= К-1 Цикл Текст1 = Текст1+", Табл"+ Строка(К-1)+".КоличествоУЛ"+Строка(М); КонецЦикла; Текст1 = Текст1 + ", ДокУЛ.КоличествоУЛ" + Строка(К)+УсловиеПомешения+ Текст1 = ", ДокУЛ.КоличествоУЛ" + Строка(К)+УсловиеПомешения+ "ИЗ Табл" + Строка(К-1)+" КАК Табл" +Строка(К-1)+ " ПОЛНОЕ СОЕДИНЕНИЕ |ВЫБРАТЬ AV_УпаковочныйЛистОборудование.Номенклатура КАК Номенклатура, |СУММА(AV_УпаковочныйЛистОборудование.КоличествоУЛ) КАК КоличествоУЛ3 |ИЗ | Документ.AV_УпаковочныйЛист.Оборудование КАК AV_УпаковочныйЛистОборудование |ГДЕ |AV_УпаковочныйЛистОборудование.Ссылка = &Ссылка"+ К +" | СГРУППИРОВАТЬ ПО | AV_УпаковочныйЛистОборудование.Номенклатура) КАК ДокУЛ | Табл"+Строка(К-1)+".Номенклатура = ДокУЛ.Номенклатура"; С = 1; ВыборкаКолУЛ.Сбросить(); Пока ВыборкаКолУЛ.Следующий() Цикл Запрос.УстановитьПараметр("Ссылка" + С, ВыборкаКолУЛ.УпаковочныйЛист); С = С + 1; КонецЦикла; К = К + 1; M = М + 1; Результат = Запрос.Выполнить(); |
|||
10
BUMBUM
05.11.12
✎
15:37
|
Пытаюсь )), но уже столько ответов ))
|
|||
11
GROOVY
05.11.12
✎
15:40
|
Я боюсь представить что происходит с этим кодом... Запрос в цикле по результату другого запроса...
Тут можно посоветовать переосмыслить задачу, подучить запросы и переписать все нафиг. |
|||
12
AET
05.11.12
✎
15:42
|
(9) страшно..., заодно к (11) добавлю про ИменаПеременных и СтрЗаменить()
|
|||
13
BUMBUM
05.11.12
✎
15:48
|
Хорощо есть док. «Заказ поставщику», ссылка на Заказ есть в документе «ДокУЛ»
Задача. Пока выбери все документы где есть ЗАКАЗ(Ссылка) ЗаказПоставщику.Номеклатура ЗаказПоставщикуКол.Количество И ДокУЛ.Количество1 ДокУЛ.Количество2 ДокУЛ.Количество3 …… ДокУЛ.КоличествоN |
|||
14
BUMBUM
05.11.12
✎
15:50
|
Ребят хорошо, Вы все Гениальны (сразу такими и родились).
|
|||
15
Feanorko
05.11.12
✎
15:51
|
(13) ты толком обясни, чего хочешь. Выбрать все ДокУЛ со ссылкой на определенный заказ поставщику?
|
|||
16
BUMBUM
05.11.12
✎
15:51
|
БЛА БЛА БЛА на отлично умеете!
|
|||
17
zladenuw
05.11.12
✎
15:51
|
(13) в документе УЛ это реквизит документа или реквизит ТЧ ?
|
|||
18
kiruha
05.11.12
✎
15:51
|
(11)
Я не вижу цикла Вижу Пока ВыборкаКолУЛ.Следующий() потом запрос потом ВыборкаКолУЛ.Сбросить() |
|||
19
Feanorko
05.11.12
✎
15:51
|
(16) не только "БЛА БЛА БЛА" :)
|
|||
20
AET
05.11.12
✎
15:52
|
(13) такую задачу я не могу решить, честно
|
|||
21
BUMBUM
05.11.12
✎
15:52
|
ТЧ
|
|||
22
zladenuw
05.11.12
✎
15:56
|
ВЫБРАТЬ
Документ1ТабличнаяЧасть1.Ссылка ИЗ Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1 ЛЕВОЕ СОЕДИНЕНИЕ Документ.Документ2 КАК Документ2 ПО Документ1ТабличнаяЧасть1.Реквизит1 = Документ2.Ссылка ГДЕ Документ2.Ссылка = &Ссылка как то так. |
|||
23
GROOVY
05.11.12
✎
15:56
|
(13) 5 раз перечитал, так и не понял что нужно выбрать.
Все заказы которые встречаются в ДокУЛ или все ДокУЛ в которых встречается Заказ? |
|||
24
BUMBUM
05.11.12
✎
15:57
|
Есть
ДокументУЛ1(реквизит «Заказ» -Заказ№1) ТЧ (Реквизит Номен; Реквизит КоличествоУЛ) ДокументУЛ2(реквизит «Заказ» -Заказ№1) (Реквизит Номен; Реквизит КоличествоУЛ) ДокументУЛ3(реквизит «Заказ» - Заказ№1) (Реквизит Номен; Реквизит КоличествоУЛ) … Есть Документ Заказ№1 ТЧ(Реквизит Номен; Реквизит Количество)) Так вот нужно получить табл Номенклатура/КоличествоЗаказ/ КоличествоУЛ/ КоличествоУЛ/ ………. |
|||
25
zladenuw
05.11.12
✎
15:59
|
(24) смотри (22) получаешь. документ1 УЛ, документ2 заказ. ну а дальше сам.
|
|||
26
GROOVY
05.11.12
✎
15:59
|
ДокументУл1 2 3 - это разные виды документов? Или просто разные экземпляры одного и того-же вида (номер разный).
|
|||
27
КУНГ ФУ 1С
05.11.12
✎
16:01
|
(24) по каждому виду документа сделай вложенный запрос затем все нафин объеденением зафигарь и все.
|
|||
28
BUMBUM
05.11.12
✎
16:05
|
разные экземпляры одного и того-же вида (номер разный).
|
|||
29
GROOVY
05.11.12
✎
16:06
|
(28) Тогда см (25)
|
|||
30
BUMBUM
05.11.12
✎
16:11
|
спс
|
|||
31
Feanorko
05.11.12
✎
16:13
|
(30) спс в кружке не булькает :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |