Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 11:50

Как вывести развернутые итоги по задолженности клиентов (покупателей/контраген.)

Автор DenPlus, 12 дек 2010, 23:05

0 Пользователей и 1 гость просматривают эту тему.

DenPlus

Необходимо вывести  развернутые итоги (сумма долга/сумма предоплаты) в итоге по всем клиентам (контрагентам).

Ниже приведенный текст запроса их выводит свернуто (по всем клиентам), а как эти итоги развернуть?



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

progmikon

А можно по подробнее. Что нужно развернуть? Что-то я посмотрел в скрин, и не понял :)

DenPlus

Самая нижняя строка в скрине 3900 (колонка остатки на начало долг/предоплата) - не могу развернуть на: долг - 4100, предоплата - 200 (при запросе по регистру накопления).

Есть (как мне кажется) неправильные варианты решения этой проблемы:

1 вариант - накапливать итоги при обработке результата запроса,

2 вариант - "двигать" не регистр накопления, а регистр бухгалтерии.

p.s. Конфигурация самописная, по этому без разницы, какие объекты использовать.

progmikon

Теперь ясно :).

Ну на самом деле Владимир, Вы уже сами все возможные варианты озвучили. Наверное, с точки зрения "фундаментальности" нужно использовать регистр бухгалтерии, но для конкретного отчета, конкретного отображения в макете, лично я бы банально выгрузил в ТЗ, а далее Итог("")...
:)

DenPlus

Фух. Гора с плеч. Спасибо Константин.

В семерке для таких дел, я использовал конструкцию:

   ТекстЗапроса = ТекстЗапроса +
   "
   |Функция НачСальдоДт= НачОст(Сумма) Когда (Сумма > 0);
   |Функция НачСальдоКт= НачОст(Сумма) Когда (Сумма < 0);
   |Функция Приход      = Приход(Сумма);
   |Функция Расход      = Расход(Сумма);
   |Функция КонСальдоДт= КонОст(Сумма) Когда (Сумма > 0);
   |Функция КонСальдоКт= КонОст(Сумма) Когда (Сумма < 0);
.......

При одной группировке в запросе - прокатывало.

p.s запрос по регистру оперативного учета (пусть не смущают бухгалтерские термины в функциях  :) просто долго работал главбухом, поэтому мне так более привычно).

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск