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

Но в режиме предприятия выскакивает ошибка :

Документ.ТребованиеНакладная.Форма.ФормаСписка.Форма(112)}: Ошибка при вызове метода контекста (Итог)
     СуммаПоТЗ = Формат(тз.Итог("Всего") );
по причине:
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)

что может быть неправильно, подскажите, пожалуйста.
1 zladenuw
 
14.02.14
15:37
так Всего это колонка формы. а не ТЧ данных документа
2 ДенисЧ
 
14.02.14
15:37
В запросе нет поля Итого... Ваш К.О.
3 sergey1982
 
14.02.14
15:38
Я уже  совсем запутался, что мне надо ввести?
4 ИС-2
 
naïve
14.02.14
15:47
посмотри как реализовано в документе реализации "сумма документа"
5 sergey1982
 
14.02.14
15:48
там же сумма в форме документа ,мне надо сумму на форме списка документов
6 Господин ПЖ
 
14.02.14
16:07
автор укурен...
7 Джинн
 
14.02.14
16:14
Кагбэ сумма в требовании-накладной штука расчетная. И плавающая.
8 v4442
 
14.02.14
16:24
неделю назад делал эту хрень.
Что журнал не тормозил добавил поле суммадок.
a форме документа
Процедура ПриЗакрытии()
            
    ОбщегоНазначения.ОткрытьЖурналДокумента(ЭтаФорма);
    //Вычисляем сумму проводки и заносим в реквизит
    
        //TolaGr
    ТаблицаСуммСписания = БухгалтерскийУчет.ПолучитьСуммуСписанияАктивов(ЭтотОБъект);
    СуммаПров=0;
    Для Каждого СтрокаТЧ Из ТаблицаСуммСписания Цикл
         СуммаПров = СуммаПров +СтрокаТЧ.Сумма;
    КонецЦикла;
    ЭтотОбъект.СуммаДок= СуммаПров;
    ЭтотОбъект.Записать(РежимЗаписиДокумента.Запись);
    
КонецПроцедуры
9 v4442
 
14.02.14
16:25
+ при отмене проведениея обнуляю сумму
10 Джинн
 
14.02.14
16:30
(8) Быдлокод
11 v4442
 
14.02.14
16:32
(10) не всем же быть гениями
12 v4442
 
14.02.14
16:35
(10) похоже все кто узнает  как формируется ндс в упп  становятся гениями 1с ))))
13 Джинн
 
14.02.14
16:39
(12) Гений 1С у нас только один. И он давно отсутствует на форуме.

А быдлокод - он и в Африке быдлокод. Восстановили последовательность - получили лажу. Пересчитали среднескользящую на средневзвешенную - получили лажу.
14 kasazanov
 
14.02.14
16:41
Тебе нужно сумму каждой накладной или сумму всех накладных одним числом?
15 v4442
 
14.02.14
16:42
(13) это поле не очень важное, юзверям он нужен для удобства.
16 Джинн
 
14.02.14
16:43
(15) Тогда генерируйте туда случайное число. Удобство не пострадает.
17 v4442
 
14.02.14
16:47
(16) а вычисляемое поле в журнале еще более быдлокод
18 v4442
 
14.02.14
16:51
Кто покажет свои 22 см ?
Основная теорема систематики: Новые системы плодят новые проблемы.