Как сделать отчёт такого рода?
Вводная
Регистр с измерениями:
Контрагент
Договор
и с ресурсом:
Сумма
Надо построить отчёт вида:
Входящий остаток Приход Расход Конечный остаток
и выдать детализацию по документам определённого вида (только их список).
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ВзаиморасчётыОстаткиИОбороты.Контрагент КАК Контрагент, ВзаиморасчётыОстаткиИОбороты.Договор КАК Договор, ВзаиморасчётыОстаткиИОбороты.СуммаНачальныйОстаток ВзаиморасчётыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, ВзаиморасчётыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, ВзаиморасчётыОстаткиИОбороты.СуммаКонечныйОстаток, // Отдельной колонкой дату поступления денег ВЫБОР КОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор ССЫЛКА Документ.Выписка ТОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор.Дата ИНАЧЕ """" КОНЕЦ КАК ДатаПоступленияДенег, // И отдельной колонкой сам документ поступления денег ВЫБОР КОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор ССЫЛКА Документ.Выписка ТОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор ИНАЧЕ """" КОНЕЦ КАК Выписка ИЗ РегистрНакопления.ВзаиморасчётыОстаткиИОбороты.ОстаткиИОбороты(, , Запись, Движения, ) КАК ВзаиморасчётыОстаткиИОбороты ГДЕ ВзаиморасчётыОстаткиИОбороты.Контрагент = &Контрагент И ВзаиморасчётыОстаткиИОбороты.Договор = &Договор" |
И получаю таблицу вида:
Иванов, договор Иванова, НачОст = 1000, Приход = 0, Расход = 100, КонОст = 900, Выписка = 01.02.2011
Иванов, договор Иванова, НачОст = 900, Приход = 0, Расход = 100, КонОст = 800, Выписка = 02.02.2011
Проблема в том, что в СКД общие итоги будут такими: НачОст = 1900 и КонОст = 1700.
Почему так происходит – понятно. Но как избавиться от “неправильно” (с точки зрения пользователя) посчитанных остатков в этой ситуации?
Судя по приведенным цифрам у вас получается, что начальный остаток и конечный остаток это ресурс типа Сумма и в группировке вы видите сумму всех записей, которую возвращает запрос.
Надо составной запрос делать. Когда-то подсмотрел на инфостарте, первоисточника не нашел. Выгруженный отчет из моей конфигурации можете посмотреть тут: http://dl.dropbox.com/u/2261213/demo/SKD_Demo.erf
Помогло не помогло ?
Увы, пока мучаюсь. Но точного списка проблем пока не готов представить – погряз в разбирательствах с этой системой. Вообще, я представляю как сделать такой отчёт “ручками”. Но интересно ведь с помощью СКД. Говорят, что такие вещи на ней делаются легко и непринуждённо. Теперь я в этом не уверен.
Сделать без СКД можно примерно так:
Делаем выборку по оборотам. Отдельно, если сумма расход не равна нулю, значит получаем выписки и выводим их отдельным блоком. Всё ясно и просто