Имя: Пароль:
1C
1С v8
Ошибка в запросе - Измерение не найдено "Период"
, ,
0 shavkat
 
19.01.12
20:01
Всем привет.

При выборке результата запроса выскакивает вот такая ошибка - Измерение не найдено "Период", хотя в запросе измерение период есть.

подскажите пожалуйста, где я ошибся? что исправить?

вот код

   Запрос = Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
                |    КассаОстаткиИОбороты.Период КАК Период,
                |    СУММА(ВложенныйЗапрос.ПриходТопливо) КАК ПриходНП,
                |    СУММА(ЕСТЬNULL(ВложенныйЗапрос1.ПриходСТ, 0)) КАК ПриходСТ,
                |    СУММА(ЕСТЬNULL(КассаОстаткиИОбороты.СуммаПриход, 0)) КАК ВсегоПриход,
                |    СУММА(ЕСТЬNULL(КассаОстаткиИОбороты.СуммаРасход, 0)) КАК СуммаРасход,
                |    СУММА(ЕСТЬNULL(КассаОстаткиИОбороты.СуммаКонечныйОстаток, 0)) КАК СуммаКонечныйОстаток
                |ИЗ
                |    РегистрНакопления.Касса.ОстаткиИОбороты(&Дата1, &Дата2, День, , ) КАК КассаОстаткиИОбороты
                |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                |            КассаОбороты.СуммаПриход КАК ПриходСТ,
                |            КассаОбороты.Период КАК Период
                |        ИЗ
                |            РегистрНакопления.Касса.Обороты(&Дата1, &Дата2, День, ) КАК КассаОбороты
                |        ГДЕ
                |            КассаОбороты.ВидыПрихода = &ПриходСТ) КАК ВложенныйЗапрос1
                |        ПО КассаОстаткиИОбороты.Период = ВложенныйЗапрос1.Период
                |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                |            КассаОбороты.СуммаПриход КАК ПриходТопливо,
                |            КассаОбороты.Период КАК Период
                |        ИЗ
                |            РегистрНакопления.Касса.Обороты(&Дата1, &Дата2, День, ) КАК КассаОбороты
                |        ГДЕ
                |            КассаОбороты.ВидыПрихода = &ПриходТоплива) КАК ВложенныйЗапрос
                |        ПО КассаОстаткиИОбороты.Период = ВложенныйЗапрос.Период
                |
                |СГРУППИРОВАТЬ ПО
                |    КассаОстаткиИОбороты.Период
                |
                |УПОРЯДОЧИТЬ ПО
                |    Период
                |ИТОГИ ПО
                |    ОБЩИЕ";
   Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
   Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
   Запрос.УстановитьПараметр("ПриходСТ", Перечисления.ВидыПриходовСТ.Сопутка);
   Запрос.УстановитьПараметр("ПриходТоплива", Перечисления.ВидыПриходовСТ.Топливо);
   
   Результат = Запрос.Выполнить();
   Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока Выборка.Следующий() Цикл
       Подвал.Параметры.Заполнить(Выборка);
       ВыборкаПериод=Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
       Пока ВыборкаПериод.Следующий() Цикл
           Стр.Параметры.Заполнить(ВыборкаПериод);
           ТабДок.Вывести(Стр);
       КонецЦикла;
   КонецЦикла;


заранее благодарю
1 PR
 
19.01.12
20:02
Периодичность укажи
2 shavkat
 
19.01.12
20:24
Указал же, периодичность = день

РегистрНакопления.Касса.ОстаткиИОбороты(&Дата1, &Дата2, День, , ) КАК КассаОстаткиИОбороты
3 shavkat
 
20.01.12
08:07
Может я неправильно указал периодичность?
4 Рэйв
 
20.01.12
08:10
е- латинская?
5 shavkat
 
20.01.12
08:20
нет, русская
6 Рэйв
 
20.01.12
08:23
(5)Убери период и группировку по нему, зайди в конструктор и сделай все там
7 andrewks
 
20.01.12
08:26
интересно ты выбираешь.
сделай один цикл по

Результат = Запрос.Выполнить();
   Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока Выборка.Следующий() Цикл

и анализируй ТипЗаписи()
8 shavkat
 
20.01.12
09:04
Анилизировал ТипЗаписи()

Результат = Запрос.Выполнить();
Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
     // здесь ТипЗаписи() ОбщийИтог


ВыборкаПериод=Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все"); // а здесь выбрать не получается, отладчиком смотрел поле "Период" равен Null
9 andrewks
 
20.01.12
09:12
намекаю ещё раз: у тебя ОДНА группировка
10 shavkat
 
20.01.12
09:37
(9) понял, первый цикл у меня итоговый, а второй цикл сделал по прямой,
ВыборкаПериод=ВыборкаГруппы.Выбрать(ОбходРезультатаЗапроса.Прямой ,"Период","Все");

все равно эта ошибка выскакивает - Измерение не найдено "Период"
11 Dmitrii
 
гуру
20.01.12
09:42
(10) Ты нормальный? У тебя в запросе в разделе ИТОГИ разве есть "ПО Период"?
У тебя только "ПО ОБЩИЕ".
12 shavkat
 
20.01.12
10:47
(11) Спасибо за теплые слова))

Вот теперь то уж точно понял))

сделал итоги По Период, получилось

Вопрос закрыт, всем спасибо!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший