|
Внешний отчет 8.3 не вызывается макет на экран. | ☑ | ||
---|---|---|---|---|
0
lirt82
30.07.15
✎
13:14
|
Нужно вывести макет внешнего отчета на экран с последующей распечаткой.
Внешний отчет, без СКД, данные не нужны, в форме внешнего отчета только кнопка "Печать" при нажатии появляется макет его и нужно распечатать. Создал внешний отчет, создал макет, в форме кнопку "Печать" при нажатии появляется ошибка {Форма.Форма.Форма(3)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение) ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); по причине: Недопустимое значение параметра (параметр номер '1') код из модуля формы внешнего отчета &НаСервере Функция ПолучитьМакетНаСервере() ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); Возврат Макет; КонецФункции &НаКлиенте Процедура Сформировать(Команда) Макет=ПолучитьМакетНаСервере(); КонецПроцедуры подскажите как исправить. |
|||
1
Лефмихалыч
30.07.15
✎
13:15
|
нету реквизита формы с именем "Отчет"
|
|||
2
lirt82
30.07.15
✎
13:31
|
(1) создал реквизит с именем Отчет....тип ВнешнийОтчет.ВнешнийОтчет1
теперь в форме при нажатии ничего не происходит |
|||
3
Kupogun
30.07.15
✎
13:42
|
табдок
|
|||
4
ДенисЧ
30.07.15
✎
13:44
|
а показывать кто будет сформированный документ?
|
|||
5
lirt82
30.07.15
✎
13:53
|
создал реквизит с именем Отчет тип ТабличныйДокумент,
теперь ошибка опять появилась Ошибка при вызове метода контекста (РеквизитФормыВЗначение) ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); по причине: Недопустимое значение параметра (параметр номер '1') добавил строки в код &НаСервере Функция ПолучитьМакетНаСервере() ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); Возврат Макет; КонецФункции &НаКлиенте Процедура Сформировать(Команда) ТабДок = Новый ТабличныйДокумент; ТабДок.Показать(); Макет=ПолучитьМакетНаСервере(); КонецПроцедуры теперь при нажатии опять ошибка {Форма.Форма.Форма(3)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение) ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); по причине: Недопустимое значение параметра (параметр номер '1') но открывается одновременно пустая таблица, мне нужен макет а не таблица. |
|||
6
UFO
30.07.15
✎
14:06
|
Макет=ПолучитьМакетНаСервере();
ТабДок = Новый ТабличныйДокумент; ТабДок.Вывести(Макет); ТабДок.Показать(); |
|||
7
UFO
30.07.15
✎
14:10
|
Лучше ЭтотОбъект поменяй имя на другое.. можно вообще написать
Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("РаботаОборудования"); |
|||
8
lirt82
30.07.15
✎
14:19
|
{Форма.Форма.Форма(12)}: Ошибка при вызове метода контекста (Вывести)
ТабДок.Вывести(Макет); по причине: Метод недоступен на тонком клиенте |
|||
9
lirt82
30.07.15
✎
14:26
|
(7) ругается
вот такой код пока выводит только таблицу не макет &НаСервере Функция ПолучитьМакетНаСервере() // Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); ТабДок = Новый ТабличныйДокумент; ТабДок.Вывести(Макет); ТабДок.Показать(); Возврат Макет; КонецФункции &НаКлиенте Процедура Сформировать(Команда) Макет=ПолучитьМакетНаСервере(); ТабДок = Новый ТабличныйДокумент; //ТабДок.Вывести(Макет); ТабДок.Показать(); КонецПроцедуры капец запутался |
|||
10
lirt82
30.07.15
✎
14:30
|
вот подправил, выдает пустую таблицу нужен макет
если строку раскомментирую то выдает ТабДок.Вывести(Макет); по причине: Метод недоступен на тонком клиенте &НаСервере Функция ПолучитьМакетНаСервере() ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); Возврат Макет; КонецФункции &НаКлиенте Процедура Сформировать(Команда) Макет=ПолучитьМакетНаСервере(); ТабДок = Новый ТабличныйДокумент; //ТабДок.Вывести(Макет); ТабДок.Показать(); КонецПроцедуры |
|||
11
UFO
30.07.15
✎
14:36
|
Создавай на сервере
|
|||
12
UFO
30.07.15
✎
14:37
|
Функция ПолучитьМакетНаСервере()
Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); ТабДок = Новый ТабличныйДокумент; ТабДок.Вывести(Макет); Возврат ТабДок; КонецФункции А в клиенте ТабДок.Показать(); |
|||
13
ЛисИзЛеса
30.07.15
✎
14:38
|
Вывести на сервер вынеси и Макет там же заполняй.
На клиент ты передаешь только ТабДок. То есть типа вот так: &НаСервере Функция ПолучитьМакетНаСервере() Табдок = новый ТабличныйДокумент; ЭтотОбъект=РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОбъект.ПолучитьМакет("Макет"); ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(ОбластьЗаголовок); Возврат ТабДок; КонецФункции &НаКлиенте Процедура Сформировать(Команда) ТабДок=ПолучитьМакетНаСервере(); ТабДок.Показать(); КонецПроцедуры |
|||
14
UFO
30.07.15
✎
14:40
|
&НаСервере
Функция ПолучитьМакетНаСервере() Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); ТабДок = Новый ТабличныйДокумент; ТабДок.Вывести(Макет); ТабДок.Показать(); Возврат Макет; КонецФункции &НаКлиенте Процедура Сформировать(Команда) ТабДок=ПолучитьМакетНаСервере(); ТабДок.Показать(); КонецПроцедуры |
|||
15
UFO
30.07.15
✎
14:40
|
Ой.. в первой функции Возврат ТабДок, а не макет
|
|||
16
UFO
30.07.15
✎
14:42
|
И показать убери в первой функции
|
|||
17
ЛисИзЛеса
30.07.15
✎
14:42
|
Тока ЭтотОбъект Замени на что-то другое типа НашОбъект...иначе попа...
...может тебе внешний отчет прислать? |
|||
18
UFO
30.07.15
✎
14:43
|
ТабДок = Новый ТабличныйДокумент;
ТабДок.Вывести(Макет); Возврат ТабДок; |
|||
19
UFO
30.07.15
✎
14:44
|
ЭтоОбъект зарезервированное слово
|
|||
20
UFO
30.07.15
✎
14:44
|
ЭтотОбъект, лучше его не использовать
|
|||
21
lirt82
30.07.15
✎
14:50
|
(14) (15) Все получилось, тема закрыта. Огромное спасибо UFO!
|
|||
22
UFO
30.07.15
✎
14:53
|
Зато я тут уяснил что с макетами на клиентской функции не поработаешь, а я надеялся, что можно.
|
|||
23
UFO
30.07.15
✎
14:53
|
Тоже спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |