helpf.pro
Регистрация

ОстаткиИОбороты - как правильно получить остатки?

IKSparrow
15.04.2011 15:49Прочитано: 17636
Вводная:
Регистр с измерениями:
Контрагент
Договор
и с ресурсом:
Сумма

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

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



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


Проблема в том, что в СКД общие итоги будут такими: НачОст = 1900 и КонОст = 1700.
Почему так происходит - понятно. Но как избавиться от неправильно посчитанных остатков в этой ситуации?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
15.04.2011 16:20Ответ № 1
(0) IKSparrow, не совсем понятно в чем ошибка расчета остатка?
Ведь она тебе выдает реальный остаток на каждую дату! А на общие итоги нет смысла смотреть -здесь их нужно отключить *13
IKSparrow
15.04.2011 16:29Ответ № 2
Нет, ошибки то как раз нет. Логику расчёта остатков я понимаю. Но хочется всё-таки в итогах иметь "корректные" остатки с точки зрения пользователя. На вышеозначенном примере - это будет начальный остаток = 1000 и конечный = 800. Вот в том-то и закавыка - не догоняю как сделать.
E_Migachev
20.04.2011 12:46Ответ № 3
(2) IKSparrow, алгоритм получения остатков очень подробно описан в книге "Профессиональная разработка в системе 1С:Предприятие 8", стр. 223, раздел "Расчет итогов по полям остатков при использовании виртуальной таблицы остатков и оборотов"
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.