|   |   | 
| 
 | v7: Запрос в отчете 1С 7.7 | ☑ | ||
|---|---|---|---|---|
| 0
    
        lirt82 06.04.15✎ 05:32 | 
        в отчете есть запрос по двум документам, но в одном доке нужно взять из его таб части 2 реквизита (ВыигрышиТираж и Выигрыши), код ниже но возникает ошибка. Подскажите как исправить.
 Запрос3 = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать7) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Документ.ОтчетРеализатораТиражМомент.ТМЦ, Документ.ОтчетАгентов.Лотерея; |Выигрыши1 = Документ.ОтчетРеализатораТиражМомент.ВыигрышиТираж, Документ.ОтчетАгентов.Выигрыши; |Выгрыши2 = Документ.ОтчетРеализатораТиражМомент.Выигрыши; |ЧьяИгра = Документ.ОтчетРеализатораТиражМомент.ТМЦ.ЧьяИгра, Документ.ОтчетАгентов.Лотерея.ЧьяИгра; |Функция Выигрыши1Сумма = Сумма(Выигрыши1); |Функция Выгрыши2Сумма = Сумма(Выгрыши2); |Группировка ТМЦ без групп; |Условие(ЧьяИгра = ВыбЧьяИгра); |Условие(ТМЦ в ТирМомент); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос3.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос3.Группировка(1) = 1 Цикл Сумма3 = Сумма3 + Запрос3.Выигрыши1Сумма + Запрос3.Выигрыши2Сумма ; КонецЦикла; Сумма3 = Сумма3 + Запрос3.Выигрыши1Сумма + Запрос3.Выигрыши2Сумма ; {C:\USERS\ Поле агрегатного объекта не обнаружено (Выигрыши2Сумма) | |||
| 1
    
        Wobland 06.04.15✎ 05:34 | 
        Выгрыши2Сумма     | |||
| 2
    
        Wobland 06.04.15✎ 05:34 | 
        (1) в тексте запрроса     | |||
| 3
    
        lirt82 06.04.15✎ 05:39 | 
        (2) в какую строку запроса?     | |||
| 4
    
        Wobland 06.04.15✎ 05:42 | 
        (3) ну надо как-то внимательней относиться к текстам запросов...     | |||
| 5
    
        lirt82 06.04.15✎ 05:45 | 
        если в одну строку построить напрм.
 |Выигрыши = Документ.ОтчетРеализатораТиражМомент.ВыигрышиТираж, Документ.ОтчетАгентов.Выигрыши, Документ.ОтчетРеализатораТиражМомент.Выигрыши; тогда 2-ой реквизит не видит (т.е. не считает) | |||
| 6
    
        VladZ 06.04.15✎ 05:45 | 
        (0) Сам читаешь, что пишешь? 
 "Функция Выгрыши2Сумма = Сумма(Выгрыши2);" Прочитай эту строку три раза... Для просветления. | |||
| 7
    
        lirt82 06.04.15✎ 06:10 | 
        окей, сделал так
 Запрос3 = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать7) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Документ.ОтчетРеализатораТиражМомент.ТМЦ, Документ.ОтчетАгентов.Лотерея; |Выигрыши1 = Документ.ОтчетРеализатораТиражМомент.ВыигрышиТираж, Документ.ОтчетАгентов.Выигрыши, Документ.ОтчетРеализатораТиражМомент.Выигрыши; |ЧьяИгра = Документ.ОтчетРеализатораТиражМомент.ТМЦ.ЧьяИгра, Документ.ОтчетАгентов.Лотерея.ЧьяИгра; |Функция Выигрыши1Сумма = Сумма(Выигрыши1); |Группировка ТМЦ без групп; |Условие(ЧьяИгра = ВыбЧьяИгра); |Условие(ТМЦ в ТирМомент); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос3.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос3.Группировка(1) = 1 Цикл Сумма3 = Сумма3 + Запрос3.Выигрыши1Сумма; КонецЦикла; теперь считает реквизит (ВыигрышиТираж), а (Выигрыши) - нет. | |||
| 8
    
        lirt82 06.04.15✎ 06:13 | 
        (6) Конструктор запросов так сделал, не я:-)     | |||
| 9
    
        VladZ 06.04.15✎ 06:18 | 
        (8)  Конструктор в 7.7 убогий. Пиши руками. Это во-первых. А во-вторых, "Выгрыши2" руками задается в запросе. Разве нет?  :)     | |||
| 10
    
        ЧеловекДуши 06.04.15✎ 06:18 | 
        (0) В черных запросах, "На языке 1С", забудь про вложенность. Чем проще запрос, тем лучше. Остальное допинаешь в Цикле. 
 Все ровно 1С 7.7 подтянет всю таблицу к тебе на ПК ;) | |||
| 11
    
        ЧеловекДуши 06.04.15✎ 06:19 | 
        (9) Ха... Лучше писать на прямых запросах, через 1С++ :)     | |||
| 12
    
        lirt82 06.04.15✎ 06:19 | 
        (9) да     | |||
| 13
    
        ЧеловекДуши 06.04.15✎ 06:19 | 
        (7) Да не липи ты все в одном запросе. 7.7 так не умеет.
 Все в разных двух. Это тебе не 8.ххх, в скоросте не выйграешь :) | |||
| 14
    
        lirt82 06.04.15✎ 06:58 | 
        (13) СПАСИБО, сделал 2 разных, сработала:-)
 тему можно закрывать | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |