Платформа 8.1.14.72. Запрос к виртуальной таблице .

Новая тема
Здравствуйте.
Платформа 8.1.14.72. Релиз Бухгалтерия 1.6.16.6.

Задача. Нужно получить за конкретный период остатки по счету с заданной периодичностью, т е например за 1 квартал в разрезе месяца
сальдо на 01.01.09
сальдо на 01.02.09
сальдо на 01.03.09

Период,периодичность расчетов ( месяц, декада, квартал и т п) выбирает пользователь.

Созданный запрос

ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Период КАК Период,
ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Субконто2,
ХозрасчетныйОстаткиИОбороты.Субконто3 КАК Субконто3,
ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокДт КАК СуммаНачальныйРазвернутыйОстатокДт,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК СуммаКонечныйРазвернутыйОстатокДт,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокКт КАК СуммаНачальныйРазвернутыйОстатокКт,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт КАК СуммаКонечныйРазвернутыйОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Начпериода, &Конпериода, Месяц {(&Периодичность)}, ДвиженияИГраницыПериода, счет В ИЕРАРХИИ (&счет), , ) КАК ХозрасчетныйОстаткиИОбороты

выбирает остатки , но только если в периоде было движение. Т е если за февраль движения по субконто не было, то результат запроса по этому субконто
сальдо на 01.01.09
сальдо на 01.03.09.
Спасибо.
аналогичная проблема, только с УТ. Укажите вывод итогов.
Добавление итогов мне не помогло.
Ставила и Итоги по период Периодами(Месяц, Начпериода,КонПериода). Когда делаю выборку по запросу ,да итоговая запись с указанием периода появляется ( например 01.02.09), но самих остатков по этой записи нет.
"Запрос = Новый Запрос;

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

Запрос.УстановитьПараметр("НачДата", НачПериода);
Запрос.УстановитьПараметр("КонДата", КонПериода);
Запрос.УстановитьПараметр("СчетОстатков", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах);

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

Пока ВыборкаСубконто.Следующий() Цикл

Сообщить("- " + ВыборкаСубконто.Субконто1);

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

Пока ВыборкаПериодов.Следующий() Цикл

Сообщить("   " + ВыборкаПериодов.Период + " = " + ВыборкаПериодов.СуммаКонечныйОстаток, СтатусСообщения.Информация);

КонецЦикла;

КонецЦикла;"
"Спасибо. Я так тоже делала. Но значение остатка соответствует не остатку по конкретному субконто, а по всем всем субконто.

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

запрос.УстановитьПараметр("началопериода",началопериода);
запрос.УстановитьПараметр("конецпериода",конецпериода);
запрос.УстановитьПараметр("счет",планысчетов.Хозрасчетный.Товары);

выбор1=запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто1");
пока выбор1.Следующий() цикл
выбор2=запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто2");
пока выбор2.Следующий() цикл
выбор3=запрос.Выполнить().выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
пока выбор3.Следующий() цикл
сообщить(" "+выбор3.период+" "+выбор1.субконто1+" "+выбор3.НачальныйОстаток);
конеццикла;
конеццикла;
конеццикла;

"
"Эх сова, сова... :)

> запрос.Выполнить().выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");

Выбирать нужно из выборки

выбор2 = выбор1.Выбрать()

Выбор3 = выбор2.Выбрать()"
Точно. Что значит машинально копировать.
Денис, огромное СПАСИБО.
Читают тему
(гостей: 1)

Быстрый переход