Имя: Пароль:
1C
1С v8
v8: Разное выполнение запросов в консоли и в модуле
0 ANikV
 
19.04.12
21:07
Здравствуйте.
Может что-то не вижу, но подскажите пожалуйста, почему следующий запрос в типовой консоле запроса отображает все месяцы за интервал дат, а в модуле если выполнить его, то только часть - все параметры запроса проверил - совпадают.

УПП 1.3.23.1 (тестирую на демке)
Платформа 8.2.15.301

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

//НачПериода = 01.01.2011
//КонПериода = 31.03.2012

Получается следующее:
Если в консоле получаем все по порядку месяца начиная с января 2011 и заканчивая  мартом 2012
Если этот запрос выполнить в конфигураторе, в коде то получаем январь, февраль, март 2011 и март 2012.

В чем может быть дело - ума не приложу. Подскажите пожалуйста.
1 ANikV
 
19.04.12
21:09
Извиняюсь, ошибся в названии темы: Не "в коде и модуле", а "в консоле и модуле"
2 Fragster
 
гуру
19.04.12
21:12
(1) почитай про методДополненияПериода
3 ANikV
 
19.04.12
21:22
(2) Спасибо, разобрался. Как и предполагал - все очень просто. При выборки данных добавляем 3й параметр "Все".

ВыборкаПериоды = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период", "ВСЕ")
Программист всегда исправляет последнюю ошибку.