|
Передача параметров во внешний отчет через ПостроительОтчета | ☑ | ||
---|---|---|---|---|
0
SprayTM
15.10.19
✎
07:18
|
Есть два внешних отчета. В ОбработкеРасшифровки прописан код, в котором должен открываться другой внешний отчет с некоторыми параметрами из первого(Номенклатура и ТипЦен, которые передаются в отбор на втором отчете). Передавать параметры нужно через ПостроительОтчета. Но с ним возникают трудности - выдает ошибку о нехватке фактических параметров. Куда решать, а то уже второй день с этим борюсь.
8.3, УТ 2.1 ИначеЕсли ВнешняяРасшифровкаАнализЦенКонтрагентов Тогда Если НЕ Расшифровка.Свойство("Номенклатура") Тогда Возврат; КонецЕсли; ВнешнийОтчет = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Анализ цен"); Если ВнешнийОтчет.Пустая() Тогда Предупреждение("В справочнике ""Внешние отчеты"" не найден отчет с наименованием ""Анализ цен"""); Иначе ДвоичныеДанные = ВнешнийОтчет.ХранилищеВнешнейОбработки.Получить(); ИмяФайла = ПолучитьИмяВременногоФайла("epf"); ДвоичныеДанные.Записать(ИмяФайла); ОтчетАнализЦенКонтрагентов = ВнешниеОтчеты.Создать(ИмяФайла, Ложь); ОтчетАнализЦенКонтрагентов.ДатаОтчета = КонецДня(ТекущаяДата()); Форма = ОтчетАнализЦенКонтрагентов.ПолучитьФорму(); Если КонецПериода <> Неопределено Тогда Если ТипЗнч(КонецПериода.Значение) = Тип("СтандартнаяДатаНачала") Тогда КонецПериода.Значение.Дата = КонецДня(ТекущаяДата()); КонецПериода.Использование = Истина; КонецЕсли; КонецЕсли; ОтчетАнализЦенКонтрагентов.ПостроительОтчета.Параметры.Вставить("Номенклатура", Расшифровка.Значение("Номенклатура")); ОтчетАнализЦенКонтрагентов.ПостроительОтчета.Параметры.Вставить("ТипЦен", "Аптечная"); АнализЦенКонтрагентовДокументРезультат = Форма.ЭлементыФормы.Найти("ДокументРезультат"); Форма.СформироватьОтчет(АнализЦенКонтрагентовДокументРезультат); Форма.Открыть(); УдалитьФайлы(ИмяФайла); Возврат; КонецЕсли; КонецЕсли; |
|||
1
ДенисЧ
15.10.19
✎
07:22
|
500 рублей и я не стану угадывать строку, в которой возникает ошибка!
|
|||
2
SprayTM
15.10.19
✎
07:24
|
(1) неужто весь геморрой в одной строке кроется?
|
|||
3
ДенисЧ
15.10.19
✎
07:26
|
(2) Ну, я же не знаю, сколько ошибок у тебя в ДНК, явно больше одной.
Поскольку ты даже не сообразил, что если 1с даёт ошибку, то она же и показывает строку, в которой эта ошибка возникает. |
|||
4
SprayTM
15.10.19
✎
07:29
|
(3) ошибку она выдает здесь
Форма.СформироватьОтчет(АнализЦенКонтрагентовДокументРезультат); |
|||
5
Irbis
15.10.19
✎
07:32
|
(4) А отладчик как всегда спёрли, и по обычаю вкупе с СП.
|
|||
6
SprayTM
15.10.19
✎
07:35
|
(5)СП обшарил по построителю, ничего не нашёл нужного.
Отладчик в параметры построителя заносил пустое значение в номенклатуру и "Аптечная" в ТипЦен |
|||
7
Kol Pecivanovich
15.10.19
✎
07:36
|
(4)
посмотрите в форме процедуру СформироватьОтчет, сколько там параметров стоит в скобках, столько же и при вызове нужно передавать |
|||
8
Irbis
15.10.19
✎
07:39
|
(6) Построитель вообще пока не при делах. Да и требовать от формы выполнения отчета... скорее это должен быть метод объекта.
|
|||
9
SprayTM
15.10.19
✎
07:46
|
(7) Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок, ТолькоЗаголовок = Ложь) Экспорт
вы про эту процедуру? (8) СформироватьОтчет - это экспортная процедура, вызываемая из АнализЦен |
|||
10
Kol Pecivanovich
15.10.19
✎
07:47
|
(9) да
|
|||
11
Irbis
15.10.19
✎
08:08
|
(9) Экспортная процедура чего? Отчет или 153 его формы. Вызов экспортной процедуры объекта можно вообще без формы делать.
|
|||
12
SprayTM
15.10.19
✎
08:23
|
(11) Дело в том, что в первом отчете есть такая же экспортная процедура СформироватьОтчет, и если делать не через форму, то он просто копирует всю таблицу во второй отчет
|
|||
13
ДенисЧ
15.10.19
✎
08:45
|
ОтчетАнализЦенКонтрагентов.СформироватьОтчет(...)
|
|||
14
SprayTM
15.10.19
✎
09:06
|
(13) Благодарю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |