Как ПолучитьМакет(«Макет») в документе? |
Я |
03.09.13 — 10:53
При нажитии на кнопку в форме документа вылетает ошибка, —
{Документ.РасчетПремииМенеджера.Форма.ФормаДокумента(62)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = ПолучитьМакет(«Макет»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
У документа есть Макет, — «Макет» , почему ругается на него?
Процедура РасчетПремииНажатие(Элемент)
// Вставить содержимое обработчика.
Если НЕ ПолучитьДокументПланирования() тогда возврат; конецесли;
//ЭтаФорма.ЭлементыФормы.Инд.Видимость=Истина;
//Инд=0;
Состояние(«Идет расчет премии менеджера, подождите …»);
мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение;
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет(«Макет»);
1 — 03.09.13 — 10:54
попробуй полное имя указать
«Документы.ТвойДокумент.Макеты.ТвойМакет»
2 — 03.09.13 — 10:56
объ=РеквизитФормыВЗначение(«Объект»);
Макет=объ.ПолучитьМакет(«Макет»);
3 — 03.09.13 — 10:57
(0) УФ?
4 — 03.09.13 — 10:57
(1) ругается что нет поля объекта «Макет»
5 — 03.09.13 — 10:57
(2) только так??? спасибо, сейчас попробую, думал проще….
6 — 03.09.13 — 10:57
(3) Обычные формы
7 — 03.09.13 — 10:58
(6) нет макета
8 — 03.09.13 — 10:58
(6) Скопируй старый макет в новый. Попробуй изменить наименование.
9 — 03.09.13 — 11:00
(2) Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
10 — 03.09.13 — 11:01
(8) Хотите сказать что так должно работать
Макет = ПолучитьМакет(«Макет»);
это глюки?
11 — 03.09.13 — 11:01
(9) ну так откуда в обычных формах РеквизитФормыВЗначение??
12 — 03.09.13 — 11:01
(11) Понял!
(2) Значит это не подойдет!!!
Как в обычных формах это работает, получение доступа к макету документа.
13 — 03.09.13 — 11:03
(10) ЭтотОбъект?
14 — 03.09.13 — 11:03
Макет = ЭтотОбъект.ПолучитьМакет(«Накладная»);
15 — 03.09.13 — 11:07
(13) Это выполняется в форме документа
16 — 03.09.13 — 11:07
(15) Вот поэтому и ЭтотОбъект.
17 — 03.09.13 — 11:08
Если бы был в модуле объекта мог бы просто вызвать: ПолучитьМакет(«Накладная»)
18 — 03.09.13 — 11:08
в тестовой базе смотрю, на эту строку не ругается, стало ругаться в рабочей (((
19 — 03.09.13 — 11:09
Вот в тестовой базе в модуле формы документа, прошло и не сругалось!!!
Макет = ПолучитьМакет(«Макет»);
20 — 03.09.13 — 11:13
А это еще что за хр-нь ?
мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение;
Элемент формы связан по данным с реквизитом объекта/ТЧ объекта, либо с реквизитом формы. Так, что, надо сразу к ним и обращаться. А через ЭлементыФормы — это для несмышленых
21 — 03.09.13 — 11:14
(17) Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = ЭтотОбъект.ПолучитьМакет(«Макет»);
22 — 03.09.13 — 11:14
(21) назови его «77» уже
23 — 03.09.13 — 11:16
(21) Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально
Сейчас в тестовой базе работает, а в рабочей стал ругаться на макет
(22) А почему нужно его переименовывать, в тестовой работает все без изменений, а тут что случилось?
24 — 03.09.13 — 11:16
(20) Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально
25 — 03.09.13 — 11:16
(23) это называется «танцы с бубном». отсекаются проблемы разной раскладки
26 — 03.09.13 — 11:18
(25) Видимо действительно этот случай. И не более.
27 — 03.09.13 — 11:20
(24) в этом документе точно есть Макет «Макет»?
28 — 03.09.13 — 11:23
(24) я тебе еще в (8) предложил переименовать макет. Тяжело сделать?
29 — 03.09.13 — 11:23
(27) Да конечно, говорю в копии базы все работает, в рабочей что то слетело.
Изменил название макета на «РасчетПМ»
Макет = ЭтотОбъект.ПолучитьМакет(«РасчетПМ»);
стало работать…выполняется…Ошибки уже на макете не выдает!
30 — 03.09.13 — 11:23
(28) переименовал!
31 — 03.09.13 — 11:24
Спасибо всем!
32 — 03.09.13 — 13:13
То есть это к примеру залез админ в 1с, исправил букву в другой раскладке в названии макета «Макет» и сохранил? Или это реально глюк такой 1с есть???
33 — 03.09.13 — 13:24
SABOTAGE ??!
34 — 03.09.13 — 13:30
(32) наверно у формы слетело свойство «Данные». А потом кто-то кофе пил на твоем рабочем месте, махнул рукавом, зацепил клавиатуру, свойство и заполнилось как надо.
35 — 03.09.13 — 13:47
ОбработкаОбъект.ПолучитьМакет(
36 — 03.09.13 — 13:52
(34) Непонятно как это бы так было, саботаж если только говорю!!!
(35) Макет документа, при чем тут обработка???
пробовал и так:
Макет = ПолучитьМакет(«Мекет»);
и так
Макет = ЭтотОбъект.ПолучитьМакет(«Макет»);
не получалось….пока не изменил название макета…
МихаилМ
37 — 03.09.13 — 14:01
(36)
извиняюсь. этотОбъект
1C. «Недопустимое значение параметра» при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:
{ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Код, вызывающий ошибку:
Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
&НаСервере
Функция ПолучитьМакетЗаявленияИзРасширения()
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
Возврат Макет;
КонецФункции
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант — перенести макеты в общие и следующей командой вызвать (получить) макет из «Общие макеты»:
Макет = ПолучитьОбщийМакет («Расш1_МакетЗаявлениеПоступающего»);
——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то «заглушки» достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Доброго времени суток. Делаю внешнюю печатную форму для документа «Доверенность.» в коде синтаксических ошибок нет. но при печати выскакивает такое сообщение:
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ПолучитьМакет): Недопустимое значение параметра (параметр номер ‘1’)
В чем дело понять не могу???? Подскажите.
Конфигурация Бухгалтерия Для Казахстана 8.2
Функция Печать() Экспорт
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст =
"ВЫБРАТЬ
| Доверенность.Номер КАК НомерДокумента,
| Доверенность.Дата КАК ДатаДокумента,
| Доверенность.СтруктурнаяЕдиница КАК БанковскийСчет,
| Доверенность.Организация,
| Доверенность.СтруктурноеПодразделение,
| Доверенность.ФизЛицо,
| Доверенность.ФизЛицо.Наименование КАК ФамилияИмяОчествоДоверенного,
| Доверенность.Контрагент КАК Поставщик,
| ВЫРАЗИТЬ(Доверенность.НаПолучениеОт КАК СТРОКА(1000)) КАК ПоставщикПредставление,
| Доверенность.ДатаДействия КАК СрокДействия,
| ВЫРАЗИТЬ(Доверенность.ПоДокументу КАК СТРОКА(1000)) КАК РеквизитыДокументаНаПолучение
|ИЗ
| Документ.Доверенность КАК Доверенность
|ГДЕ
| Доверенность.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
//запрос по товарам
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст = "ВЫБРАТЬ
| Доверенность.НомерСтроки КАК Номер,
| Доверенность.НаименованиеТовара КАК Ценнности,
| Доверенность.НаименованиеТовара КАК ЦеннностиПредставление,
| Доверенность.ЕдиницаПоКлассификатору КАК ЕдиницаИзмерения,
| Доверенность.ЕдиницаПоКлассификатору.Представление КАК ЕдиницаИзмеренияПредставление,
| Доверенность.Количество
|ИЗ
| Документ.Доверенность.Товары КАК Доверенность
|ГДЕ
| Доверенность.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| Номер";
ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать();
СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_Д1";
Макет = ПолучитьМакет("Д1");
ДанныеОФизЛице = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.ФизЛицо, СсылкаНаОбъект.Дата);
ФамилияИмяОчествоДоверенного = ""+ДанныеОФизЛице.Фамилия +" "+ ДанныеОФизЛице.Имя +" "+ ДанныеОФизЛице.Отчество;
Должность = СокрЛП(ДанныеОФизЛице.Должность);
СтруктураФИО = Новый Структура();
СтруктураФИО.Вставить("Фамилия", ДанныеОФизЛице.Фамилия);
СтруктураФИО.Вставить("Имя", ДанныеОФизЛице.Имя);
СтруктураФИО.Вставить("Отчество", ДанныеОФизЛице.Отчество);
Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, СсылкаНаОбъект.Дата);
Руководитель = Руководители.Руководитель;
Бухгалтер = Руководители.ГлавныйБухгалтер;
СведенияОбОрганизации = ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.ДатаДокумента, , Шапка.БанковскийСчет);
ПредставлениеОрганизации = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
ОбластьМакета = Макет.ПолучитьОбласть("Отрез");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ФИОДоверенного = "" + ?(ПустаяСтрока(Должность), "", Должность + ", ") + (ФамилияИмяОчествоДоверенного);
//найдем документ, выполнящий поручение
СписокЗаполнения = ОбщегоНазначения.ПолучитьСписокВводимыхДокументовНаОсновании(ЭтотОбъект.Метаданные());
Для Каждого Элемент Из СписокЗаполнения Цикл
НайденыйДокумент = ОбщегоНазначения.НайтиПодчиненныйДокумент(СсылкаНаОбъект.Ссылка,Элемент.Значение);
Если НайденыйДокумент = Неопределено Тогда
Продолжить;
Иначе
ОбластьМакета.Параметры.ДокументИсполнения = НайденыйДокумент;
Прервать;
КонецЕсли;
КонецЦикла;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ПредставлениеОрганизации = ПредставлениеОрганизации;
ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект, глСписокПрефиксовУзлов);
ОбластьМакета.Параметры.СрокДействия = Формат(Шапка.СрокДействия,"Л=ru_RU; ДЛФ=DD");
ОбластьМакета.Параметры.ДатаВыдачи = Формат(Шапка.ДатаДокумента,"Л=ru_RU; ДЛФ=DD");
РеквизитыСчета = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "НомерСчета,Банк,БИК,");
Позиция = Найти(РеквизитыСчета, " в банке ");
НаименованиеБанка_ = Сред(РеквизитыСчета, Позиция + 9, СтрДлина(РеквизитыСчета));
ОбластьМакета.Параметры.НаименованиеБанка = НаименованиеБанка_;
НомерСчета_ = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "НомерСчета,");
ОбластьМакета.Параметры.НомерСчета = НомерСчета_;
ОбластьМакета.Параметры.ОрганизацияРНН_БИН = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "БИН_ИИН,", Ложь, Шапка.ДатаДокумента, "ru");
ОбластьМакета.Параметры.РеквизитыПотребителя = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,БИН_ИИН,ЮридическийАдрес,", , Шапка.ДатаДокумента, "ru");
ОбластьМакета.Параметры.РеквизитыПлательщика = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,БИН_ИИН,ЮридическийАдрес,", , Шапка.ДатаДокумента, "ru");
ОбластьМакета.Параметры.ПаспортСерия = ДанныеОФизЛице.ДокументСерия;
ОбластьМакета.Параметры.ПаспортНомер = ДанныеОФизЛице.ДокументНомер;
ОбластьМакета.Параметры.ПаспортВыдан = ДанныеОФизЛице.ДокументКемВыдан;
ОбластьМакета.Параметры.ПаспортДатаВыдачи = Формат(ДанныеОФизЛице.ДокументДатаВыдачи,"ДФ=dd.MM.yyyy") ;
ОбластьМакета.Параметры.РеквизитыДокументаНаПолучение = СокрЛП(Шапка.РеквизитыДокументаНаПолучение);
ОбластьМакета.Параметры.ПоставщикПредставление = СокрЛП(Шапка.ПоставщикПредставление);
Если Не СсылкаНаОбъект.ФИзЛицо.Пустая() Тогда
ОбластьМакета.Параметры.ФамилияИмяОчествоДоверенного = ОбщегоНазначения.ПреобразоватьФИОВДательныйПадеж(СтруктураФИО, ДанныеОФизЛице.НеСклонятьФамилию);
ОбластьМакета.Параметры.ДолжностьДоверенного = Должность;
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
Пока ВыборкаСтрокТовары.Следующий() Цикл
ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
Если ТипЗнч(ВыборкаСтрокТовары.ЦеннностиПредставление) = Тип("Строка") Тогда
ЦеннностиПредставление = ВыборкаСтрокТовары.ЦеннностиПредставление;
Иначе
ЦеннностиПредставление = ВыборкаСтрокТовары.ЦеннностиПредставление.НаименованиеПолное;
КонецЕсли;
ОбластьМакета.Параметры.ЦеннностиПредставление = ЦеннностиПредставление;
ОбластьМакета.Параметры.КоличествоПрописью = "";
Если ВыборкаСтрокТовары.Количество <> 0 Тогда
ОбластьМакета.Параметры.КоличествоПрописью = Строка(ВыборкаСтрокТовары.Количество) + " (" +
СокрЛП(КоличествоПрописью(ВыборкаСтрокТовары.Количество)) + ")";
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, СсылкаНаОбъект.Дата);
Руководитель = Руководители.Руководитель;
ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
ОбластьМакета.Параметры.Заполнить(Шапка);
Если ЗначениеЗаполнено(Руководитель) Или Руководитель <> Неопределено Тогда
ОбластьМакета.Параметры.Руководитель = СокрЛП(Руководитель);
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции
При нажитии на кнопку в форме документа вылетает ошибка, — {Документ.РасчетПремииМенеджера.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (ПолучитьМакет) Макет = ПолучитьМакет(«Макет»); по причине: Недопустимое значение параметра (параметр номер ‘1’) У документа есть Макет, — «Макет» , почему ругается на него? Процедура РасчетПремииНажатие(Элемент) // Вставить содержимое обработчика.
попробуй полное имя указать «Документы.ТвойДокумент.Макеты.ТвойМакет»
ругается что нет поля объекта «Макет»
только так??? спасибо, сейчас попробую, думал проще….
Скопируй старый макет в новый. Попробуй изменить наименование.
Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
Хотите сказать что так должно работать это глюки?
ну так откуда в обычных формах РеквизитФормыВЗначение??
Понял! Значит это не подойдет!!! Как в обычных формах это работает, получение доступа к макету документа.
Макет = ЭтотОбъект.ПолучитьМакет(«Накладная»);
Это выполняется в форме документа
Вот поэтому и ЭтотОбъект.
Если бы был в модуле объекта мог бы просто вызвать: ПолучитьМакет(«Накладная»)
в тестовой базе смотрю, на эту строку не ругается, стало ругаться в рабочей (((
Вот в тестовой базе в модуле формы документа, прошло и не сругалось!!!
А это еще что за хр-нь ? мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение; Элемент формы связан по данным с реквизитом объекта/ТЧ объекта, либо с реквизитом формы. Так, что, надо сразу к ним и обращаться. А через ЭлементыФормы — это для несмышленых
Ошибка при вызове метода контекста (ПолучитьМакет) Макет = ЭтотОбъект.ПолучитьМакет(«Макет»);
Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально Сейчас в тестовой базе работает, а в рабочей стал ругаться на макет А почему нужно его переименовывать, в тестовой работает все без изменений, а тут что случилось?
Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально
это называется «танцы с бубном». отсекаются проблемы разной раскладки
Видимо действительно этот случай. И не более.
в этом документе точно есть Макет «Макет»?
я тебе еще в предложил переименовать макет. Тяжело сделать?
Да конечно, говорю в копии базы все работает, в рабочей что то слетело. Изменил название макета на «РасчетПМ» стало работать…выполняется…Ошибки уже на макете не выдает!
То есть это к примеру залез админ в 1с, исправил букву в другой раскладке в названии макета «Макет» и сохранил? Или это реально глюк такой 1с есть???
наверно у формы слетело свойство «Данные». А потом кто-то кофе пил на твоем рабочем месте, махнул рукавом, зацепил клавиатуру, свойство и заполнилось как надо.
ОбработкаОбъект.ПолучитьМакет(
Непонятно как это бы так было, саботаж если только говорю!!! Макет документа, при чем тут обработка??? пробовал и так: не получалось….пока не изменил название макета…
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Я сделал форму, добавил реквизит пользователей из справочника пользователей и создал поле выбора с типом справочника пользователей. Мне нужно получить значение этого реквизита в модуле формы, но в строке, где я его получаю, выходит ошибка:
Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
{Отчеты Отчет.НовыйОтчетПрофилей.Форма.ФормаОтчета.Форма(201)}:РеквизитПользователя = РеквизитФормыВЗначение("Пользователь"); //
{Отчеты Отчет.НовыйОтчетПрофилей.Форма.ФормаОтчета.Форма(230)}:ТабДокумент = СформироватьМакетНаСервере();
по причине:
Недопустимое значение параметра (параметр номер '1')
Как это можно исправить?
Вот сам код:
&НаСервере
Функция СформироватьМакетНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
РеквизитПользователя = РеквизитФормыВЗначение("Пользователь"); //
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаЗначений = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.Очистить();
Макет = ОтчетОбъект.ПолучитьМакет("Макет");
Возврат ТабДокумент;
КонецФункции
&НаКлиенте
Процедура СформироватьМакет(Команда)
ТабДокумент = СформироватьМакетНаСервере();
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Макет");
ПечатнаяФорма.СинонимМакета = "Макет";
ПечатнаяФорма.ТабличныйДокумент = ТабДокумент;
ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Макет";
ОбластиОбъектов = Новый СписокЗначений;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов);
КонецПроцедуры
Вот форма со свойствами поля:
И свойства реквизита:
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Snz
Дата регистрации: 05.02.2009
Сообщений: 18
«Добрый день!<br> <br>Такая проблема: после обновления до версии 2.0.54.11 (типовая конф) возникает «Ошибка при вызове метода контекста (ПолучитьМакет)» в окне «Регистрация земленных участков».<br>Помогите разобраться, пожалуйста.<br> <br>{РегистрСведений.РегистрацияЗемельныхУчастков.Форма.Регистрация.Форма(68)}: Ошибка при вызове метода контекста (ПолучитьМакет)<br>Макет = Отчеты.РегламентированныйОтчетЗемельныйНалог.ПолучитьМакет(«Списки2011Кв1″);<br>по причине:Недопустимое значение параметра (параметр номер ‘1’)<br> <br>Платформа: 8.2.19.80»
uinny
Дата регистрации: 12.01.2008
Сообщений: 4814
Видимо, дело в том, что в отчете нет макета с таким наименованием. Есть макет «СпискиВыборка2011Кв1».
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
DomninYV
Дата регистрации: 14.01.2014
Сообщений: 4
«У меня БП 3.0.28.13 но проблема та же.<br>Я решил так.<br>Открыл конфигуратор. <br>Конфигурация-Настройка поддержки.<br>Включить возможность изменения.<br>Настройка правил поддержки.<br>Переключатели 2 шт. Объект поставщика редактируется с сохранением поддержки.<br>ОК.<br>После сохранения открыть регистр сведений.Регистрация зем.участков.Формы.ФормаЗаписи.Модуль<br>Открыть процедуру.<br>»Процедура ЗагрузитьКодыКБК()<br> ИмяОбласти = ?(Год(Запись.Период) < 2012, «КодыКБК», «КБК_2012Кв1»);<br> Макет = Отчеты.РегламентированныйОтчетЗемельныйНалог.ПолучитьМакет(«Списки2011Кв1»);<br> ОбластьКодов = Макет.Области[ИмяОбласти];<br> <br> КодыКБК.Очистить();<br> Для Инд = ОбластьКодов.Верх По ОбластьКодов.Низ Цикл<br> Строка = КодыКБК.Добавить();<br> Строка.Код = Макет.Область(Инд, 1).Текст;<br> Строка.Название = Макет.Область(Инд, 2).Текст;<br> КонецЦикла;<br>КонецПроцедуры»<br>Изменить «Списки2011Кв1» на «СпискиВыбора2013Кв4″<br><br>Все сохранить.<br><br>Запустить 1 с.<br>У меня все работает.»
Snz
Дата регистрации: 05.02.2009
Сообщений: 18
релиз 2.0.54.12 все исправил Спасибо
Показывать по
10
20
40
сообщений
Печать из внешней обработки
Гость 0 — 12.04.2019 — 13:17 |
Просмотрел сообщения на эту тему, вроде все соответствует &НаСервере Функция ПолучитьМакетНаСервере() ОбработкаОбъект = РеквизитФормыВЗначение(«Обработка»); // мы получаем именно объект Макет = ОбработкаОбъект.ПолучитьМакет(«Макет1»); Возврат Макет; КонецФункции
&НаКлиенте
&НаКлиенте
Печать();
При нажатии на кнопку НалогиИВзносы Спасибо!
|
|
Гость 1 — 12.04.2019 — 13:46 |
(0) Это должна быть команда.
|
|
Гость 2 — 12.04.2019 — 15:25 |
И была команда, в процедуре поставил в скобках (Команда)
|
|
Гость 3 — 12.04.2019 — 15:26 |
Та же диагностика
|
|
Гость 4 — 12.04.2019 — 15:27 |
ЗУП поставил последнюю 8.3.14.
|
|
user1C 5 — 12.04.2019 — 15:37 |
из пофигуратора запустить 1с в режиме отладки (F5)
|
|
Гость 6 — 12.04.2019 — 15:41 |
ОбработкаОбъект = РеквизитФормыВЗначение(«Обработка»); // мы получаем именно объект
|
|
user1C 7 — 12.04.2019 — 15:58 |
«Обработка» — недопустимое значение параметра, надо другое значение)
|
|
user1C 8 — 12.04.2019 — 16:05 |
+ обычно это «Объект»…
|
|
Гость 9 — 12.04.2019 — 16:10 |
и с «Объект» та же ошибка, когда по сети искал, правили(у кого-то), пока не пришли к исходному (моему) виду и все заработало, а я что-то где-то недоучел
|
|
user1C 10 — 12.04.2019 — 16:21 |
реквизит с именем «обработка» у формы есть? какой у него тип?
|
|
Гость 11 — 12.04.2019 — 16:38 |
Такого реквизита нет, а какой тип у него поставить, просто добавить и никуда не подцеплять?
|
|
user1C 12 — 12.04.2019 — 17:10 |
не, тут все проще… надо взять все книжки «жкк» и усердно читать
|
|
Гость 13 — 12.04.2019 — 17:23 |
Понял, спасибо! Пошел читать.
|
|
Гость 14 — 12.04.2019 — 17:34 |
У Вас же есть реквизит формы с типом ВнешняяОбработка, вот его и превращайте а объект, из которого потом получите искомый макет.
|
|
Гость 15 — 15.04.2019 — 13:23 |
14) Спасибо! Получилось!!!
|