![]() |
![]() |
![]() |
|
Помогите разобраться с остатками в запросе | ☑ | ||
---|---|---|---|---|
0
blin
19.10.04
✎
00:00
|
Есть регистр накопления ОстаткиНоменклатурыЯчейкиОжидание с измерением Номенклатура и ресурсом ОстатокМинус. Делаю к нему следующий запрос.
ВЫБРАТЬ Остатки.Номенклатура.Код, Номенклатура КАК Номенклатура, Регистратор КАК Регистратор, Сумма(Остатки.ОстатокМинусНачальныйОстаток) КАК НачОстОжидание, Сумма(Остатки.ОстатокМинусПриход) как ПриходОжидание, Сумма(Остатки.ОстатокМинусРасход) как РасходОжидание, Сумма(Остатки.ОстатокМинусКонечныйОстаток) как КонОстОжидание, Остатки.Регистратор.Дата ИЗ РегистрНакопления.ОстаткиНоменклатурыЯчейкиОжидание.ОстаткиИОбороты(&ДатаНач,&ДатаКон,Регистратор) КАК Остатки ГДЕ Остатки.Номенклатура В Иерархии(&Номенклатура) СГРУППИРОВАТЬ ПО Номенклатура,Регистратор УПОРЯДОЧИТЬ ПО Номенклатура.Код ,Остатки.Регистратор.Дата ИТОГИ Сумма(НачОстОжидание), Сумма(ПриходОжидание), Сумма(ПриходОжидание), Сумма(КонОстОжидание) ПО Общие, Номенклатура Иерархия, Регистратор Если формирую запрос за период, в котором не было движений, то начальные и конечные остатки берутся не известно откуда (сильно завышены), а если запрос формируется за период, где движения были, то все ОК. В чем может быть проблема? |
|||
1
blin
19.10.04
✎
00:08
|
Забыл сказать релиз 8.0.8.7
|
|||
2
blin
19.10.04
✎
09:12
|
Под утро осенило.
Наверное Сгруппировать здесь лишнее. Ведь он суммирует данные по группировкам, ну и НачОст и КонОст суммирует из двух строчек, которые всегда есть по пустым регистраторам (я так понимаю, что это какие-то итоги). Убрал Сгруппировать. Получился текст запроса. ВЫБРАТЬ Остатки.Номенклатура.Код, Номенклатура КАК Номенклатура, Регистратор КАК Регистратор, Остатки.ОстатокМинусНачальныйОстаток КАК НачОстОжидание, Остатки.ОстатокМинусПриход как ПриходОжидание, Остатки.ОстатокМинусРасход как РасходОжидание, Остатки.ОстатокМинусКонечныйОстаток как КонОстОжидание, Остатки.Регистратор.Дата ИЗ РегистрНакопления.ОстаткиНоменклатурыЯчейкиОжидание.ОстаткиИОбороты(&ДатаНач,&ДатаКон,Регистратор) КАК Остатки ГДЕ Остатки.Номенклатура В Иерархии(&Номенклатура) УПОРЯДОЧИТЬ ПО Номенклатура.Код ,Остатки.Регистратор.Дата ИТОГИ Сумма(НачОстОжидание), Сумма(ПриходОжидание), Сумма(ПриходОжидание), Сумма(КонОстОжидание) ПО Общие, Номенклатура Иерархия, Регистратор Формирую, действительно с остатками все ОК в любом периоде,но... Задача стоит так. Есть два регистра накопления ОстаткиНоменклатурыЯчейки и ОстаткиНоменклатурыЯчейкиОжидание с одинаковыми Измерениями Номенклатура и Ресурсом Остаток. В итоговой таблице нужно выводить различные арифметические комбинации Остатков, Приходов и Расходов по этим регистрам. Соответсвтенно составляю текст запроса. ВЫБРАТЬ Остатки.Номенклатура.Код, Номенклатура КАК Номенклатура, Регистратор КАК Регистратор, 0 КАК НачОст, 0 КАК Приход, 0 КАК Расход, 0 КАК КонОст, Остатки.ОстатокМинусНачальныйОстаток КАК НачОстОжидание, Остатки.ОстатокМинусПриход как ПриходОжидание, Остатки.ОстатокМинусРасход как РасходОжидание, Остатки.ОстатокМинусКонечныйОстаток как КонОстОжидание, Остатки.Регистратор.Дата ИЗ РегистрНакопления.ОстаткиНоменклатурыЯчейкиОжидание.ОстаткиИОбороты(&ДатаНач,&ДатаКон,Регистратор) КАК Остатки ОБЪЕДИНИТЬ ВЫБРАТЬ Остатки.Номенклатура.Код, Номенклатура КАК Номенклатура, Регистратор КАК Регистратор, Остатки.ОстатокМинусНачальныйОстаток КАК НачОст, Остатки.ОстатокМинусПриход как Приход, Остатки.ОстатокМинусРасход как Расход, Остатки.ОстатокМинусКонечныйОстаток как КонОст, 0 КАК НачОстОжидание, 0 КАК ПриходОжидание, 0 КАК РасходОжидание, 0 КАК КонОстОжидание, Остатки.Регистратор.Дата ИЗ РегистрНакопления.ОстаткиНоменклатурыЯчейки.ОстаткиИОбороты(&ДатаНач,&ДатаКон,Регистратор) КАК Остатки ГДЕ Остатки.Номенклатура В Иерархии(&Номенклатура) УПОРЯДОЧИТЬ ПО Номенклатура.Код ,Остатки.Регистратор.Дата ИТОГИ Сумма(НачОст), Сумма(Приход), Сумма(Расход), Сумма(КонОст), Сумма(НачОстОжидание), Сумма(ПриходОжидание), Сумма(ПриходОжидание), Сумма(КонОстОжидание) ПО Общие, Номенклатура Иерархия, Регистратор Если в периоде нет движений по какому -либо регистру, то выводит В итогах по номенклатуре НачОст=0, есть движения есть, то все ОК. Почему так? Я так понимаю, что Итоги как раз должны вставлять в итоговую таблицу на уровне номенклатуры сумму, указанную в предложении Итоги в запросе. Или я не прав? Результаты запроса смотрю в консоле запросов от 1С с выводом в дерево. |
|||
3
имхо
19.10.04
✎
10:34
|
итоги они в строке итогов, а в детальных строках детальные записи
|
|||
4
blin
19.10.04
✎
10:37
|
(3) Так я и говорю про строку итогов. В том-то и дело, что в детальных записях НачОст<>0, а в итоговой строке 0. Ну как такое может быть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |