Имя: Пароль:
1C
1С v8
Как объединить в цикле результаты двух запросов? БП 2.0
0 King-SD
 
06.06.16
05:33
Добрый день! Такое дело - Есть запросы (Запрос1 и Запрос2). После Запроса1 идет цикл -

Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл

Строка.Параметры.Товар = ВыборкаСтрокТовары.Товар  
Строка.Добавить()

Конец цикла;

\\Создается количество строк, равное количеству наименований товаров.

Далее нужно чтобы в эти строки построчно добавился результат запроса2 (Количество товаров)

Ка можно это сделать?
1 Mankubus
 
06.06.16
05:35
(0) в запросе 1 получи количество товаров
2 PuhUfa
 
06.06.16
05:37
Сделать это сразу в одном запросе
3 King-SD
 
06.06.16
05:39
(1) Результат 1го запроса берется из другого документа. Для второго запроса был создан дополнительные реквизит в другом документе.. нужно чтобы, допустим по циклу было создано 2 строки -

Синий
Красный

- Потом выполняется второй запрос, результаты которого 2, 3. нужно чтобы он так же по порядку добавил результаты второго запроса в уже созданные строки -

Синий 2
Красный 3
4 King-SD
 
06.06.16
05:40
Количество строк всегда одинаковое в двух запросах
5 Mankubus
 
06.06.16
05:44
(3) это все можно сделать в 1 запросе
6 King-SD
 
06.06.16
05:47
Запрос.Текст =
    "ВЫБРАТЬ
    |    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |    ВложенныйЗапрос.Номенклатура.Код КАК Код,
    |    ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
    |    ВложенныйЗапрос.Количество,
    |    ВложенныйЗапрос.ЕдиницаИзмерения,
    |    ВложенныйЗапрос.Цена,
    |    ВложенныйЗапрос.Сумма,
    |    ВложенныйЗапрос.СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
    |    1 КАК ID
    |ИЗ
    |    (ВЫБРАТЬ
    |        ЗаказПокупателя.Номенклатура КАК Номенклатура,
    |        ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
    |        ЗаказПокупателя.Цена КАК Цена,
    |        СУММА(ЗаказПокупателя.Количество) КАК Количество,
    |        СУММА(ЗаказПокупателя.Сумма) КАК Сумма,
    |        СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС,
    |        МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки
    |    ИЗ
    |        Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя
    |    
    |    ГДЕ
    |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |    
    |    СГРУППИРОВАТЬ ПО
    |        ЗаказПокупателя.Номенклатура,
    |        ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |        ЗаказПокупателя.Цена) КАК ВложенныйЗапрос
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    ЗаказПокупателя.Номенклатура.Код КАК Код,
    |    ЗаказПокупателя.Номенклатура.Артикул КАК Артикул,
    |    ЗаказПокупателя.Количество,
    |    ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |    ЗаказПокупателя.Цена,
    |    ЗаказПокупателя.Сумма,
    |    ЗаказПокупателя.СуммаНДС,
    |    ЗаказПокупателя.НомерСтроки,
    |    2
    |ИЗ
    |    Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя
    |
    |ГДЕ
    |    ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    ID,
    |    НомерСтроки";


Как в этот запрос засунуть второй? -

ВЫБРАТЬ
    |    СчетНаОплатуПокупателюУслуги.КолНомеров КАК КолНомеров,
    |    СчетНаОплатуПокупателю.Ссылка
    |ИЗ
    |    Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
    |        ПО СчетНаОплатуПокупателюУслуги.Ссылка = СчетНаОплатуПокупателю.Ссылка
    |ГДЕ
    |    СчетНаОплатуПокупателю.Ссылка = &Ссылка


Первый запрос конструктором не открывается.
7 PuhUfa
 
06.06.16
06:13
(6) Смысл 2го запроса?
Как &ТекущийДокумент из первого связан с &Ссылка второго?
8 King-SD
 
06.06.16
06:29
(7) Да они вот именно что никак не связаны. мне нужно объединить данные, чтобы нужным образом формировались строки
9 Mankubus
 
06.06.16
06:35
Сч = 0;

Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл

Строка.Параметры.Товар = ВыборкаСтрокТовары.Товар
Строка.Параметры.Количество = ВыборкаЗапрос2[Сч].КолНомеров;  
Строка.Добавить()
Сч = Сч+1;
Конец цикла;
10 King-SD
 
06.06.16
06:46
(9) А можно поподробней, что это сделали? - [сч]  

Просто программа при формировании ругается, что - Значение не является значением объектного типа (КолНомеров)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn