1C. «Недопустимое значение параметра» при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:
{ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)


Код, вызывающий ошибку:

Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
&НаСервере
Функция ПолучитьМакетЗаявленияИзРасширения()
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
Возврат Макет;
КонецФункции

А затем из заменяемой процедуры вызвать эту функцию:

(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант — перенести макеты в общие и следующей командой вызвать (получить) макет из «Общие макеты»:
Макет = ПолучитьОбщийМакет («Расш1_МакетЗаявлениеПоступающего»);

——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:

При этом, если в расширении добавлено несколько макетов к документу, то «заглушки» достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Как ПолучитьМакет(«Макет») в документе? |
Я |
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)
извиняюсь. этотОбъект
Доброго времени суток. Делаю внешнюю печатную форму для документа «Доверенность.» в коде синтаксических ошибок нет. но при печати выскакивает такое сообщение:
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ПолучитьМакет): Недопустимое значение параметра (параметр номер ‘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
Комментарии доступны только авторизированным пользователям
Добрый день, У нас программа 1С:Предприятие 8.2 (8.2.19.80). Конфигурация Бухгалтерия предприятия (базовая), редакция 2.0 (2.0.55.7)
ИП на ОСНО, формирую отчет 3-НДФЛ. Отчет сформировала, хотела его проверить. при нажатии кнопки «ПРОВЕРИТЬ» выдает ошибку «Ошибка при вызове метода контекста(получить макет)», если нажимаю подробно, то выдает «(Обработка.РегламентированнаяОтчетностьСоотношенияПоказателей.Форма.КонтрольныеСоотношения.Форма(1285)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = мФормаОтчета.ЭтотОбъект.ПолучитьМакет(«СоотношенияПоказателей» + СтрЗаменить(СохраненныйДокумент.ВыбраннаяФорма, «ФормаОтчета», «»));
по причине:
Недопустимое значение параметра (параметр номер ‘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
сообщений
-
Всем привет!
Как задать область печати на макете.
Тобишь я сделал счет дописал инфу вконце, при формировании инфы нет. в предварительном просмотре нет и при печати нет. а в конфигураторе есть -
Offline
dend
Опытный в 1С- Регистрация:
- 9 апр 2007
- Сообщения:
- 175
- Симпатии:
- 1
- Баллы:
- 26
Надо в коде выводить эту область.
Смотри как называются соседние области и ищи в коде что-нибудь
похожее на этоМакет.ПолучитьОбласть(«%Здесь должны быть твои соседние области%»);
Вставляй код
МояДобавочнаяОбласть = макет.ПолучитьОбласть(«МояОбласть»);И дальше в коде надо искать где выводится область в табличный документ и вставить :
мТабличныДокумент.Присоединить(МояДобавочнаяОбласть) (или Вывести())
В стандартных конфигурациях все печатные формы цепляются в общей процедуре печать()
Там указаны процедуры, которые конкретно отвечают за определенный макет.Удачи..
-
Народ в коде вообще слабоват можно сказать вообще не бб.
Я объединил называется ПодвалИнфо
Дальше как это в коде незнаю.
Помогитевот мой код
[warn=!]Код убрал. Таки большие участки кода для решения проблемы совершенно не нужны.
BabySG[/warn] -
Offline
BabySG
Администраторы
Команда форума
Администратор- Регистрация:
- 10 июн 2007
- Сообщения:
- 11.853
- Симпатии:
- 18
- Баллы:
- 29
Joni,
Именуешь область, потом, в конце кода (сразу после вывода подвала) добавляешь вывод своей именованной области.
Делается в одну строчку кода. -
Функция Печать() Экспорт ПараметрыПечати=ПолучитьПараметрыПечатиСчетаЗаказа("Счет",СсылкаНаОбъект); ТАбДокумент=СоздатьТабличныйДокументПечатиСчетаЗаказа("Счет",ПараметрыПечати); УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 1, ЛОжь, ОбщегоНазначения.СформироватьЗаголовокДокумента(ССылкаНаОбъект.ПолучитьОбъект(), ""), СсылкаНаОбъект); Макет = ПолучитьМакет("Счет"); // Это в самом начале, для получения макета. Пишеться 1 раз. ОбластьПодвалИнфо = Макет.ПолучитьОбласть("ПодвалИнфо"); //получаешь область. Пишеться для каждой области. // Здесь могут устанавливаться параметры (переменные) ТабДокумент.Вывести(ОбластьПодвалИнфо); // вывод области на печатный лист КонецФункции // Печать() Экспорт()Так? Но это у меня в самом начале всего кода находится. Это неимеет значения?
Если так то вот такая ошибкаНе удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ПолучитьМакет): Недопустимое значение параметра (параметр номер ‘1’) -
Короче все. Сделал подругому.
Выше еще была область рабочая, Увеличил область и все стало видно. Но всеже кому нелень напишите куда и как код можно было вставить. Хочу разобраться -
ааааааааааааааа. Доперло. Видели бы вы меня как я рад!!!!)))) Разобрался. -
Offline
Inhospitable
- Регистрация:
- 27 авг 2013
- Сообщения:
- 2
- Симпатии:
- 0
- Баллы:
- 1
Доброго. Кинь скрин что ли и опиши в чём приколюха
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Уже чуть меньше десяти лет прошло
Печать из внешней обработки
|
Гость 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) Спасибо! Получилось!!!
|