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

v8: Не выводится заголовок и поле

MaxVL
03.07.2012 02:48Прочитано: 5449
Здравствуйте! Помогите, пожалуйста, что не так. Выдает ошибку:

{Отчет.ПКО.Форма.ФормаОтчета.Форма(41)}: Ошибка при вызове метода контекста (Вывести)
ТабДок.Вывести(Заголовок);
по причине:
Несоответствие типов (параметр номер '1')

Код 1C v 8.2 УП
 Процедура Сформировать(ТабДок) Экспорт
ЭлементыФормы.Таб.Очистить();
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| НД_ПКО.Контрагент КАК Контрагент,
| НД_ПКО.Подразделение КАК Подразделение,
| НД_ПКО.СуммаДокумента КАК СуммаДокумента
| ИЗ
| Документ.НД_ПКО КАК НД_ПКО
| ГДЕ НД_ПКО.Ссылка.Проведен
| УПОРЯДОЧИТЬ ПО Подразделение,СуммаДокумента
| ИТОГИ СУММА(СуммаДокумента) ПО Подразделение";
Результат = Запрос.Выполнить().Выгрузить();
выборка = Запрос.Выполнить().Выбрать();
Таб = Новый ТабличныйДокумент;
ТекМакет = ПолучитьМакет("Макет");
Заголовок = ТекМакет.ПолучитьОбласть("Заголовок");
Шапка = ТекМакет.ПолучитьОбласть("Шапка");
Строки = ТекМакет.ПолучитьОбласть("Строки");
Итого = ТекМакет.ПолучитьОбласть ("Итого");
СуммаДокументаИтого = 0;
выборка.следующий();
ТабДок.Вывести(Заголовок);
ТабДок.Вывести(Шапка);

Для Каждого Строка Из Результат Цикл
Строки.Параметры.Заполнить(Строка);
Если ЗначениеЗаполнено(Строка.СуммаДокумента) Тогда
СуммаДокументаИтого = Строка.СуммаДокумента + СуммаДокументаИтого;
КонецЕсли;

Строки.Параметры.Контрагент = Строка.Контрагент;
Строки.Параметры.Подразделение = Строка.Подразделение;
Строки.Параметры.СуммаДокумента = СуммаДокумента;
ТабДок.Вывести(Строки);
КонецЦикла;


Итого.Параметры.СуммаДокументаИтого = СуммаДокументаИтого;
ТабДок.Вывести(Итого);

Процедура КнопкаСформироватьНажатие(Кнопка) Экспорт
Сформировать(ЭлементыФормы.Таб);
КонецПроцедуры


Макет отчета:
title

Еще вылезает одна ошибка:

{Отчет.ПКО.Форма.ФормаОтчета.Форма(50)}: Поле объекта не обнаружено (Контрагент)
Строки.Параметры.Контрагент = Строки.Контрагент;
Изменено 03.07.12 08:26:39
Yandex
Возможно, вас также заинтересует
Реклама на портале
theelectric
03.07.2012 12:53Ответ № 1
(0) MaxVL, смотри... Ты пытаешься создать переменные для областей с аналогичными именами. Попробуй все-таки их назвать "ОбластьЗаголовок", чтобы это выглядело примерно так...
Код 1C v 8.2 УП
 ТекМакет = ПолучитьМакет("Макет");
ОблЗаголовок = ТекМакет.ПолучитьОбласть("Заголовок");
ОблШапка = ТекМакет.ПолучитьОбласть("Шапка");
ОблСтроки = ТекМакет.ПолучитьОбласть("Строки");
ОблИтого = ТекМакет.ПолучитьОбласть ("Итого");
СуммаДокументаИтого = 0;
выборка.следующий();
ТабДок.Вывести(ОблЗаголовок);
ТабДок.Вывести(ОблШапка);
MaxVL
04.07.2012 02:34Ответ № 2
theelectric, спасибо!
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.