Каталог решений - Итоговая сумма в динамических списках (список документов, список справочников)

Итоговая сумма в динамических списках (список документов, список справочников)

Итоговая сумма в динамических списках (список документов, список справочников)

В наличии

Итоговая сумма в динамических списках (список документов, список справочников) с учетом текущего отбора.

Категория:

Описание

Данный запрос актуальный для динамических списков!

Столкнулся с тем что нужно было показать итоговую сумму в списке документов с учетом текущего отбора, а возможности у платформы нет (в динамич. списках), пришлось наваять запрос и передать ему отбор.

Этот компактный запрос позволит рассчитать сумму проведенных документов в списке документов с учетом текущего отбора и показать его как текст подвала колонки.

Для начала нужно поставить галочку «Подвал» в свойствах списка. И в предопределенной процедуре ОбновлениеОтображения(), формы списка, написать следующее:

    ПостроительЗапроса = Новый ПостроительЗапроса;
   
    ТекстПостроителя = "ВЫБРАТЬ
    |    ЗаявкаНаКассовыйРасход.Номер Как Номер,
    |    ЗаявкаНаКассовыйРасход.ПометкаУдаления Как ПометкаУдаления,
    |    ЗаявкаНаКассовыйРасход.Проведен КАК Проведен, ";
    РеквизитыЗКР = Метаданные.Документы.ЗаявкаНаКассовыйРасход.Реквизиты;
    Для Индекс = 0 По РеквизитыЗКР.Количество()-1 Цикл
        ТекстПостроителя = ТекстПостроителя + "    ЗаявкаНаКассовыйРасход." + СокрЛП(РеквизитыЗКР[Индекс].Имя) + " КАК " + СокрЛП(РеквизитыЗКР[Индекс].Имя) + " ";
        Если РеквизитыЗКР.Количество()-1 <> Индекс Тогда
            ТекстПостроителя = ТекстПостроителя + ",";
        КонецЕсли;
    КонецЦикла;
    ТекстПостроителя = ТекстПостроителя + "
    |    ИЗ Документ.ЗаявкаНаКассовыйРасход КАК ЗаявкаНаКассовыйРасход
    |    ГДЕ Проведен = Истина";
    ПостроительЗапроса.Текст = ТекстПостроителя;
    ОписаниеИсточникаДанных= Новый ОписаниеИсточникаДанных(ДокументСписок);
    ПостроительЗапроса.ИсточникДанных = ОписаниеИсточникаДанных;
   
    ПостроительЗапроса.Выполнить();
    тз = ПостроительЗапроса.Результат.Выгрузить();
    СуммаПоТЗ = Формат(тз.Итог("СуммаДокумента"), "ЧЦ=14; ЧДЦ=2");
    ЭлементыФормы.ДокументСписок.Колонки.СуммаДокумента.ТекстПодвала = СокрЛП(СуммаПоТЗ);


 

ЗаявкаНаКассовыйРасход — заменить на документ в котором делаеться.

 

Если большой список документов, можно повесить этот код на кнопку «рассчитать» и при нажатии будет рассчитывать сумму.

Надеюсь пригодится этот скромный труд.

has been added to your cart:
Оформление заказа