Как сделать отчёт такого рода?

Отзывов (3)FavoriteLoadingВ закладки


Вводная:
Регистр с измерениями:
Контрагент
Договор
и с ресурсом:
Сумма

Надо построить отчёт вида:
Входящий остаток Приход Расход Конечный остаток и выдать детализацию по документам определённого вида (только их список).

Нивапрос. Строю запрос вида:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВзаиморасчётыОстаткиИОбороты.Контрагент КАК Контрагент,
	ВзаиморасчётыОстаткиИОбороты.Договор КАК Договор,
	ВзаиморасчётыОстаткиИОбороты.СуммаНачальныйОстаток
	ВзаиморасчётыОстаткиИОбороты.СуммаПриход КАК СуммаПриход,
	ВзаиморасчётыОстаткиИОбороты.СуммаРасход КАК СуммаРасход,
	ВзаиморасчётыОстаткиИОбороты.СуммаКонечныйОстаток,
	// Отдельной колонкой дату поступления денег
	ВЫБОР
		КОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор ССЫЛКА Документ.Выписка
			ТОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор.Дата
		ИНАЧЕ ""
	КОНЕЦ КАК ДатаПоступленияДенег,
	// И отдельной колонкой сам документ поступления денег
	ВЫБОР
		КОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор ССЫЛКА Документ.Выписка
			ТОГДА ВзаиморасчётыОстаткиИОбороты.Регистратор
		ИНАЧЕ ""
	КОНЕЦ КАК Выписка
ИЗ
	РегистрНакопления.ВзаиморасчётыОстаткиИОбороты.ОстаткиИОбороты(, , Запись, Движения, ) КАК ВзаиморасчётыОстаткиИОбороты
ГДЕ
	ВзаиморасчётыОстаткиИОбороты.Контрагент = &Контрагент
	И ВзаиморасчётыОстаткиИОбороты.Договор = &Договор

И получаю таблицу вида:
Иванов, договор Иванова, НачОст = 1000, Приход = 0, Расход = 100, КонОст = 900, Выписка = 01.02.2011
Иванов, договор Иванова, НачОст = 900, Приход = 0, Расход = 100, КонОст = 800, Выписка = 02.02.2011
и .т.д. и т.п.

Проблема в том, что в СКД общие итоги будут такими: НачОст = 1900 и КонОст = 1700.
Почему так происходит – понятно. Но как избавиться от “неправильно” (с точки зрения пользователя) посчитанных остатков в этой ситуации?

 

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

3 Коммент.

  1. Судя по приведенным цифрам у вас получается, что начальный остаток и конечный остаток это ресурс типа Сумма и в группировке вы видите сумму всех записей, которую возвращает запрос.
    Надо составной запрос делать. Когда-то подсмотрел на инфостарте, первоисточника не нашел. Выгруженный отчет из моей конфигурации можете посмотреть тут: http://dl.dropbox.com/u/2261213/demo/SKD_Demo.erf

  2. Увы, пока мучаюсь. :) Но точного списка проблем пока не готов представить – погряз в разбирательствах с этой системой. Вообще, я представляю как сделать такой отчёт “ручками”. Но интересно ведь с помощью СКД. Говорят, что такие вещи на ней делаются легко и непринуждённо. Теперь я в этом не уверен.

    Сделать без СКД можно примерно так:
    Делаем выборку по оборотам. Отдельно, если сумма расход не равна нулю, значит получаем выписки и выводим их отдельным блоком. Всё ясно и просто :)

Оставить комментарий

RSSКомментарии в RSS

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.