Версия для печати темы (https://pro1c.org.ua/index.php?s=2523f3e27fef377a6838da8581dcd019&showtopic=50208)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Запрос к нескольким документам возвращает данные только по последнему документу

Автор: Anna77 31.01.19, 10:39

Добрый день!
Помогите разобраться что не так.
Есть запрос к нескольким документам с одинаковыми реквизитами, но результаты запроса получаю только по последнему документу. если поменять местами документы в строке, то и данные получаю другие. в чем проблема??

Код

Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "
    |Период с Дата1 по Дата2;
    |ОбрабатыватьДокументы Проведенные;  
    |Фио = Документ.ДоговорТерапия.ПациентСпр,Документ.ДоговорТерапия1.ПациентСпр,
Документ.ДоговорХирургия.ПациентСпр,Документ.ДоговорХирургия1.ПациентСпр,Документ.НаправлениеТерапия.ПациентСпр,Документ.НаправлениеХирургия.ПациентСпр;  
    |ДатаР = Документ.ДоговорТерапия.ДатаРождения,Документ.ДоговорТерапия1.ДатаРождения,Документ.ДоговорХирургия.ДатаРождения, Документ.ДоговорХирургия1.ДатаРождения,Документ.НаправлениеТерапия.ДатаРождения,Документ.НаправлениеХирургия.ДатаРождения;
    |КодКарточки = Документ.ДоговорТерапия.КодКарточки,Документ.ДоговорТерапия1.КодКарточки,Документ.ДоговорХирургия.КодКарточки, Документ.ДоговорХирургия1.КодКарточки,Документ.НаправлениеТерапия.КодКарточки,Документ.НаправлениеХирургия.КодКарточки;
    |ДатаДок = Документ.ДоговорТерапия.ДатаДок,Документ.ДоговорТерапия1.ДатаДок,Документ.ДоговорХирургия.ДатаДок,Документ.ДоговорХирургия1.ДатаДок, Документ.НаправлениеТерапия.ДатаДок,Документ.НаправлениеХирургия.ДатаДок;  
    |Док = Документ.ДоговорТерапия.ТекущийДокумент,Документ.ДоговорТерапия1.ТекущийДокумент,
Документ.ДоговорХирургия.ТекущийДокумент,Документ.ДоговорХирургия1.ТекущийДокумент,Документ.НаправлениеТерапия.ТекущийДокумент,Документ.НаправлениеХирургия.ТекущийДокумент;
    |Группировка ДатаДок;  
    |";

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Сообщить("Ошибка в запросе!");
        Возврат;
    КонецЕсли;      
    
    Таб = СоздатьОбъект("Таблица");                                        
    Таб.ИсходнаяТаблица("Реестр");    
    Таб.ВывестиСекцию("шапка");

    Пока Запрос.Группировка(1)=1 Цикл        
        ДатаДок = Запрос.ДатаДок;
        НомКарты = СокрЛП(Запрос.КодКарточки);
        ФИО = СокрЛП(Запрос.Фио);
        Возраст = СокрЛП(Формат((ТекущаяДата()-Запрос.ДатаР)/365, "Ч10"));
        Оплата = Запрос.Док;          
        Таб.ВывестиСекцию("строка");
    КонецЦикла;    
    
    Таб.Опции(0, 0, 4, 0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Реестр по стационарам", "");

Автор: Alegzander 31.01.19, 11:41

|Группировка ДатаДок;


поміняти на

|Группировка Док;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua