Имя: Пароль:
1C
1C 7.7
v7: Запрос выдает пустой результат в 7.7
0 konovl
 
11.12.13
09:44
Делаю достаточно простой запрос к регистру в ТиС 7.7. Но запрос выдает пустой результат. Может я чего-то не досмотрел. Или чего-то не понимаю. Приведу код

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать4)
    |Период с ВыбНачПериода по НачДата;  
    |Без итогов;
    |КредДокумент = Регистр.Покупатели.КредДокумент;
    |Фирма = Регистр.Покупатели.Фирма;
    |СуммаРуб = Регистр.Покупатели.СуммаРуб;
    |СуммаУпр = Регистр.Покупатели.СуммаУпр;
    |СуммаВал = Регистр.Покупатели.СуммаВал;
    |КодОперации = Регистр.Покупатели.КодОперации;
    |ДокументОплаты = Регистр.Покупатели.ДокументОплаты;
    |ТекущийДокумент = Регистр.Покупатели.ТекущийДокумент;
    |Группировка КредДокумент без групп;
    |Группировка ДокументОплаты без групп;
    |Группировка ТекущийДокумент без групп;
    |"//}}ЗАПРОС
    ;
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать4");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей КредДокумент
        Таб.ВывестиСекцию("КредДокумент");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей ДокументОплаты
            Таб.ВывестиСекцию("ДокументОплаты");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ТекущийДокумент
                Таб.ВывестиСекцию("ТекущийДокумент");
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;

Подскажите в чем может быть причина.
1 Ёпрст
 
11.12.13
09:45
Нет функций при обращении к регистру запроса.
2 Ёпрст
 
11.12.13
09:45
считать нечего - результат пустой.
3 konovl
 
11.12.13
09:49
Спасибо. Сейчас попробую.
4 konovl
 
11.12.13
09:53
Не работает всё равно. Исправленный текст запроса приведу.

    ВыбНачПериода='01.01.2005';
    
    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать4)
    |Период с ВыбНачПериода по НачДата;
    |Без итогов;
    |КредДокумент = Регистр.Покупатели.КредДокумент;
    |Фирма = Регистр.Покупатели.Фирма;
    |СуммаРуб = Регистр.Покупатели.СуммаРуб;
    |СуммаУпр = Регистр.Покупатели.СуммаУпр;
    |СуммаВал = Регистр.Покупатели.СуммаВал;
    |КодОперации = Регистр.Покупатели.КодОперации;
    |ДокументОплаты = Регистр.Покупатели.ДокументОплаты;
    |ТекущийДокумент = Регистр.Покупатели.ТекущийДокумент;
    |Функция СуммаРубПриход = Приход(СуммаРуб);
    |Функция СуммаУпрПриход = Приход(СуммаУпр);
    |Функция СуммаВалПриход = Приход(СуммаВал);
    |Группировка КредДокумент без групп;
    |Группировка ДокументОплаты без групп;
    |Группировка ТекущийДокумент без групп;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать4");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей КредДокумент
        Таб.ВывестиСекцию("КредДокумент");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей ДокументОплаты
            Таб.ВывестиСекцию("ДокументОплаты");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ТекущийДокумент
                Таб.ВывестиСекцию("ТекущийДокумент");
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
5 aka AMIGO
 
11.12.13
09:53
что у тебя в датах?
Период с ВыбНачПериода по НачДата;
6 Ёпрст
 
11.12.13
09:53
(0) выкини БезИтогов.
7 Ёпрст
 
11.12.13
09:54
либо обходи группировку как положено, в таком случае (она одна будет, если что и писать надо без параметра, читай СП )
8 ДенисЧ
 
11.12.13
09:56
Без итогов и обход по конкретным группировкам как-то слабо совместимы....
9 Builder
 
11.12.13
10:00
ВыбНачПериода=Дата("01.01.2005");
10 Builder
 
11.12.13
10:02
Ну и "без групп" для документов - лишнее, откуда там группы?
11 konovl
 
11.12.13
10:06
1, 6 Спасибо. Помогло. Выкинул БезИтогов и добавил функции.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.