Имя: Пароль:
1C
1С v8
Как вывести итоги по табличной части Количество
0 max805
 
18.06.13
19:56
Подскажите что делю не так:

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

   //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
   ОбластьТовары = Макет.ПолучитьОбласть("Товары");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока Выборка.Следующий() Цикл
       Если ВставлятьРазделительСтраниц Тогда
           ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
       КонецЕсли;

       //ТабДок.Вывести(ОбластьЗаголовок);

       Шапка.Параметры.Заполнить(Выборка);
       ТабДок.Вывести(Шапка, Выборка.Уровень());

       ТабДок.Вывести(ОбластьТоварыШапка);
       ВыборкаТовары = Выборка.Товары.Выбрать();
       Пока ВыборкаТовары.Следующий() Цикл
           ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
           ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
       КонецЦикла;
             Область = Макет.ПолучитьОбласть("Всего");
     Область.Параметры.ИтогоСумма = ТабДок.Итог("Количество");
ТабДок.Вывести(Область);
       ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
ОбластьЗаголовок = Макет.ПолучитьОбласть("Итог");

   //}}
КонецПроцедуры



Выдает ошибку
{Документ.ПретензияКлиента.МодульМенеджера(61)}: Метод объекта не обнаружен (Итог)
     Область.Параметры.ИтогоСумма = ТабДок.Итог("Количество");
1 jsmith82
 
18.06.13
20:01
Ссылка.Товары.Итог("Количество");
2 Mitriy
 
18.06.13
20:02
ты табличный документ с таблицей значений перепутал...
3 max805
 
18.06.13
20:12
Все равно ничего не получаеться
((
4 max805
 
18.06.13
20:12
Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.ПретензияКлиента.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПретензияКлиента.Дата,
   |    ПретензияКлиента.ДокОснование,
   |    ПретензияКлиента.ДопИнфо,
   |    ПретензияКлиента.Клиент,
   |    ПретензияКлиента.Менеджер,
   |    ПретензияКлиента.Номер,
   |    ПретензияКлиента.Товары.(
   |        НомерСтроки,
   |    Номенклатура.Артикул КАК Артикул,
   |        Номенклатура,
   |        Количество,
   |        ВидПретензии,
   |        Цена,
   |        Сумма
   |    )
   //|ИТОГИ
   //|    СУММА(Сумма),
   //|    СУММА(Количество),
   //|ПО
   //|    ОБЩИЕ"
   |ИЗ
   |    Документ.ПретензияКлиента КАК ПретензияКлиента
   |ГДЕ
   |    ПретензияКлиента.Ссылка В (&Ссылка)" ;
   
   
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

   //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
   ОбластьТовары = Макет.ПолучитьОбласть("Товары");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока Выборка.Следующий() Цикл
       Если ВставлятьРазделительСтраниц Тогда
           ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
       КонецЕсли;

       //ТабДок.Вывести(ОбластьЗаголовок);

       Шапка.Параметры.Заполнить(Выборка);
       ТабДок.Вывести(Шапка, Выборка.Уровень());

       ТабДок.Вывести(ОбластьТоварыШапка);
       ВыборкаТовары = Выборка.Товары.Выбрать();
       Пока ВыборкаТовары.Следующий() Цикл
           ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
           ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
           Область = Макет.ПолучитьОбласть("Всего");
     ТабДок.Товары.Итог("Количество");
ТабДок.Вывести(Область);
       КонецЦикла;
             
       ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
ОбластьЗаголовок = Макет.ПолучитьОбласть("Итог");

   //}}
КонецПроцедуры
5 jsmith82
 
18.06.13
20:13
нахрен в цикле?
6 jsmith82
 
18.06.13
20:13
первый код вне цикла, второй в цикле
ты напился?
7 jsmith82
 
18.06.13
20:13
и я тебе писал, юзать ссылку блеять, а не таб док
читай посты йопт
8 max805
 
18.06.13
20:20
Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.ПретензияКлиента.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПретензияКлиента.Дата,
   |    ПретензияКлиента.ДокОснование,
   |    ПретензияКлиента.ДопИнфо,
   |    ПретензияКлиента.Клиент,
   |    ПретензияКлиента.Менеджер,
   |    ПретензияКлиента.Номер,
   |    ПретензияКлиента.Товары.(
   |        НомерСтроки,
   |    Номенклатура.Артикул КАК Артикул,
   |        Номенклатура,
   |        Количество,
   |        ВидПретензии,
   |        Цена,
   |        Сумма
   |    )
   //|ИТОГИ
   //|    СУММА(Сумма),
   //|    СУММА(Количество),
   //|ПО
   //|    ОБЩИЕ"
   |ИЗ
   |    Документ.ПретензияКлиента КАК ПретензияКлиента
   |ГДЕ
   |    ПретензияКлиента.Ссылка В (&Ссылка)" ;
   
   
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

   //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
   ОбластьТовары = Макет.ПолучитьОбласть("Товары");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока Выборка.Следующий() Цикл
       Если ВставлятьРазделительСтраниц Тогда
           ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
       КонецЕсли;

       //ТабДок.Вывести(ОбластьЗаголовок);

       Шапка.Параметры.Заполнить(Выборка);
       ТабДок.Вывести(Шапка, Выборка.Уровень());

       ТабДок.Вывести(ОбластьТоварыШапка);
       ВыборкаТовары = Выборка.Товары.Выбрать();
       Пока ВыборкаТовары.Следующий() Цикл
           ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
           ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
                   КонецЦикла;
             
       ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
   Область = Макет.ПолучитьОбласть("Всего");
     Ссылка.Товары.Итог("Количество");
ТабДок.Вывести(Область);



   //}}
КонецПроцедуры







появляеться такая ошибка
{Документ.ПретензияКлиента.МодульМенеджера(64)}: Поле объекта не обнаружено (Товары)
     Ссылка.Товары.Итог("Количество");
9 jsmith82
 
18.06.13
20:23
скинь тим вью лучше, подсоединюсь, разберусь
10 ДенисЧ
 
18.06.13
20:27
убери к бибиням из запроса товары. Нефиг им там делать
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс