Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Помогите с запросом 1с8.2 (объединение трех таблиц не получается группировка)

Помогите с запросом 1с8.2 (объединение трех таблиц не получается группировка)
Я
   Genych76
 
09.11.18 - 11:46
Помогите отладить запрос с объединением трех таблиц (документ счет на оплату, реализация товаров(документ создан на основе счета на оплату), поступление на расчетный счет (документ создан на основе счета на оплату))- не получается группировка по счету на оплату. Поле комментарий нужно..  

Заранее признателен за ответ.

Ниже привожу текст запроса.

    НовыйЗапрос1 = Новый Запрос;
        НовыйЗапрос1.УстановитьПараметр("НачалоПериода", ЭлементыФормы.НачПериода.Значение);
        НовыйЗапрос1.УстановитьПараметр("КонецПериода", ЭлементыФормы.КонПериода.Значение);
        НовыйЗапрос1.УстановитьПараметр("Контрагент", ЭлементыФормы.Контрагент.Значение);


        НовыйЗапрос1.Текст = "ВЫБРАТЬ 
    |    СчетНаОплатуПокупателю.Ссылка,
    |    СчетНаОплатуПокупателю.Номер,
    |    СчетНаОплатуПокупателю.Дата,
    |    СчетНаОплатуПокупателю.Контрагент,
    |    СчетНаОплатуПокупателю.СуммаДокумента,
    |    СчетНаОплатуПокупателю.Комментарий,
    |    СчетНаОплатуПокупателю.ДоговорКонтрагента
    |    ПОМЕСТИТЬ СчетаВТ
    |    ИЗ
    |    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
    |;
    |    ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Ссылка,
    |    РеализацияТоваровУслуг.Дата,
    |    РеализацияТоваровУслуг.Контрагент,
    |    РеализацияТоваровУслуг.СчетНаОплатуПокупателю,
    |    РеализацияТоваровУслуг.СуммаДокумента,
    |    РеализацияТоваровУслуг.СчетНаОплатуПокупателю.ДоговорКонтрагента,
    |    РеализацияТоваровУслуг.СчетНаОплатуПокупателю.Комментарий
    |    ПОМЕСТИТЬ РеализацииВТ
    |    ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |    ГДЕ
    |    РеализацияТоваровУслуг.СчетНаОплатуПокупателю В
    |        (ВЫБРАТЬ
    |            А.Ссылка
    |        ИЗ
    |            СчетаВТ КАК А)
    |;
    |      ВЫБРАТЬ
    |    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаВзаиморасчетов,
    |    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка,
    |    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату
    |    ПОМЕСТИТЬ ПоступлениеВТ
    |    ИЗ
    |    Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа
    |    ГДЕ
    |    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату В
    |            (ВЫБРАТЬ
    |                б.Ссылка
    |            ИЗ
    |                СчетаВТ КАК б)
    |;
    |    ВЫБРАТЬ
    |    СчетаВТ.Контрагент КАК КонтрагентСчета,
    |    СчетаВТ.Номер КАК НомерСчетаНаОплату,
    |    СчетаВТ.Дата КАК ДатаСчетаНаОплату,
    |    СчетаВТ.СуммаДокумента КАК СуммаСчетаНаОплату,
    |    СчетаВТ.ДоговорКонтрагента КАК Договор1,
    |    СчетаВТ.Комментарий как комментарий1,
    |    РеализацииВТ.Дата КАК ДатаРеализации,
    |    РеализацииВТ.СуммаДокумента КАК СуммаРеализации,
    |    ПоступлениеВТ.Ссылка как ПоступлениеДок,
    |    ПоступлениеВТ.СуммаВзаиморасчетов как СуммаОплаты
    |    ИЗ
    |    СчетаВТ КАК СчетаВТ
    |    ЛЕВОЕ СОЕДИНЕНИЕ РеализацииВТ КАК РеализацииВТ
    |    ПО СчетаВТ.Ссылка = РеализацииВТ.СчетНаОплатуПокупателю
    |    ЛЕВОЕ СОЕДИНЕНИЕ ПоступлениеВТ КАК ПоступлениеВТ
    |        ПО СчетаВТ.Ссылка = ПоступлениеВТ.СчетНаОплату
    |    где СчетаВТ.Контрагент=&Контрагент и СчетаВТ.Дата<=&КонецПериода и СчетаВТ.Дата>=&НачалоПериода
    |    упорядочить по ДатаСчетаНаОплату, ДатаРеализации";
        Выборка=НовыйЗапрос1.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
 
 
   ДенисЧ
 
1 - 09.11.18 - 11:47
Поставь ИТОГИ
   Timon1405
 
2 - 09.11.18 - 11:48
у вас соединение а не объединение
   VladZ
 
3 - 09.11.18 - 11:54
(0) Замечание: отбирай нужные счета сразу - быстрее будет.

СчетНаОплатуПокупателю.Ссылка,
    |    СчетНаОплатуПокупателю.Номер,
    |    СчетНаОплатуПокупателю.Дата,
    |    СчетНаОплатуПокупателю.Контрагент,
    |    СчетНаОплатуПокупателю.СуммаДокумента,
    |    СчетНаОплатуПокупателю.Комментарий,
    |    СчетНаОплатуПокупателю.ДоговорКонтрагента
    |    ПОМЕСТИТЬ СчетаВТ
    |    ИЗ
    |    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
где где СчетаВТ.Контрагент=&Контрагент и СчетаВТ.Дата между &НачалоПериода и &КонецПериода
   1Сергей
 
4 - 09.11.18 - 11:54
Я один не понял каким боком тут поступления?
   1Сергей
 
5 - 09.11.18 - 11:54
а, всё, догнал
   VladZ
 
6 - 09.11.18 - 12:28
"не получается группировка по счету на оплату." - не вижу в коде, что ты пытаешься сделать группировку по счету на оплату.

ДатаСчетаНаОплату - это не то. Дата содержит время.
Еще один момент: хочешь группировать по счету, а в выборке у тебя счета нет. Отсутствует СчетаВТ.Ссылка
   Genych76
 
7 - 09.11.18 - 13:09
(6) по поводу ссылки правильное замечание, дата счет на оплату - эта информация нужна. Я с нее потом данные в  таблице вывожу.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует