Как ПолучитьМакет(«Макет») в документе? |
Я |
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).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то «заглушки» достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
|
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
|
1 |
|
|
13.12.2017, 12:05. Показов 17671. Ответов 10
Добрый день, вот пытаюсь напечатать документ MSWorld в обработке, делаю по примеру, вот так ОбработкаОбъект = РеквизитФормыВЗначение(«Объект»); MSWord = СсылкаМакет.Получить();// И вот тут выдает ошибку Ошибка при вызове метода контекста (Получить) Подскажите плз где ошибка? http://programmist1s.ru/pechat… 8-3-i-8-2/ — вот брал отсюда Добавлено через 22 минуты
0 |
|
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
|
13.12.2017, 13:53 |
2 |
|
Владислаучык, в той же статье автор пишет ещё следующее: Скорее всего проблема в ворде или в правах системы. Он корректно установлен? Попробуйте другую версию Ворда. Ну или на крайний случай можно проделать это на другой машине.
1 |
|
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
|
13.12.2017, 14:09 [ТС] |
3 |
|
0 |
|
Владислаучык 3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
||||||||
|
13.12.2017, 16:52 [ТС] |
4 |
|||||||
|
Phil, Да, такой тип Добавлено через 2 часа 42 минуты
Так макет нельзя вернуть, а если на сервере сделать сразу, то тоже ошибка отсутствует отображение типа для ActiveDocument
0 |
|
polax 1876 / 1281 / 460 Регистрация: 16.01.2015 Сообщений: 5,606 |
||||
|
14.12.2017, 10:25 |
5 |
|||
|
Владислаучык, Вот рабочий код. Неделю назад делал ВПФ с макетом в Ворде
0 |
|
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
|
15.12.2017, 15:15 [ТС] |
6 |
|
polax, Приложение = Новый ComObject («Word.Application»); — вот тут ошибка, Ошибка при вызове конструктора (ComObject)
0 |
|
1876 / 1281 / 460 Регистрация: 16.01.2015 Сообщений: 5,606 |
|
|
15.12.2017, 18:19 |
7 |
|
Владислаучык, Либо делаете не на сервере, либо на компьютере не установлен Ворд
1 |
|
1186 / 725 / 211 Регистрация: 22.04.2013 Сообщений: 5,347 Записей в блоге: 1 |
|
|
15.12.2017, 21:17 |
8 |
|
Либо делаете не на сервере я путаю? может наоборот — делаете на сервере?
1 |
|
1876 / 1281 / 460 Регистрация: 16.01.2015 Сообщений: 5,606 |
|
|
15.12.2017, 22:24 |
9 |
|
РешениеВладислаучык, Yulunga, не то что ошибся, а высказал неправильно. Вот здесь описано http://1clancer.ru/article/oso… ie_8.2_847
1 |
|
0 / 0 / 0 Регистрация: 06.06.2022 Сообщений: 2 |
|
|
15.06.2022, 11:55 |
10 |
|
polax, У вас есть код для Exel макета active document?
0 |
|
1876 / 1281 / 460 Регистрация: 16.01.2015 Сообщений: 5,606 |
|
|
15.06.2022, 15:54 |
11 |
|
Dfolt, Вот из моих закладок по которым делаю подобное
0 |
| Lavr |
|
||
|---|---|---|---|
|
|
Здравствуйте. Импортировал word-документ в справочник «Филиал», в макет как Active document. Есть форма списка и форма элемента списка, сделал кнопку на форме элемента, при нажатии вызов процедуры: &НаКлиенте Макет = Справочники.Филиал.ПолучитьМакет(«Макет»).Получить();Документ = Макет.Application.Documents(1);Документ.Activate();Макет.Application.Visible = Истина;Макет.Activate(); Надо чтобы документ из макета открывался в ворде у пользователя, просто открывался без заполнения какими-либо данными из формы. Подскажите пожалуйста, добрые специалисты, как это правильно сделать? Может вообще по другому можно, как-то проще? Благодарю. |
| Yandex |
|
||
|---|---|---|---|
|
|
| IBReiter |
|
||
|---|---|---|---|
|
|
Код 1C v 8.3
|
| Lavr |
|
||
|---|---|---|---|
|
|
В жиме толстого клиента все работает, а в web-интерфейсе ошибка: Ошибка при вызове метода контекста (Получить) Через web-интерфейс этот метод должен работать? |
| IBReiter |
|
||
|---|---|---|---|
|
|
Проверил на платформе 8.3.6.2152 и в браузере хром — все ок, работает алоритм. У вас конфигурация вообще какая? |
| Lavr |
|
||
|---|---|---|---|
|
|
Платформа 8.2 Конфигурация УП, с нуля пишу, очень простая с 7-ю справочниками. |
| IBReiter |
|
||
|---|---|---|---|
|
|
Режимы совместимости? как вариант.. Ну а так, попробуйте на 8.3 ещё |
| Lavr |
|
||
|---|---|---|---|
|
|
Не работает в совместимости. Оставлю тогда так: &НаКлиентеПроцедура СлужебнаяЗаявка(Команда) Word = Новый COMОбъект («Word.Application»);Word.Documents.Open («\192.168.47.130wudataWU,_Фамилия_Имя,_Филиал_г._Караганда.doc»);Документ = Word.Application.Documents(1);Документ.Application.Visible = Истина;Документ.Activate();КонецПроцедуры |
| IBReiter |
|
||
|---|---|---|---|
|
|
И на 8.3 не работает? Вам совместимость нужна |
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку ![]() |
Войти или зарегистрироваться
[РЕШЕНО] Ошибка при вызове метода контекста получитьмакет activedocument
Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем Persempre, 29 янв 2015.
-
0/5,
Голосов: 0
-
Offline
Persempre
Опытный в 1С- Регистрация:
- 18 июл 2012
- Сообщения:
- 868
- Симпатии:
- 3
- Баллы:
- 29
Доброго времени суток. Суть проблемы в печати как понимаете. Запихнул Word в макет. Дальше заполнил закладки, обработал и тд. На локальной машине работает. А на боевой базе не взлетело. Код ниже, в чем затык не пойму
Код:&НаКлиенте Процедура УведомлениеОбУвольненииИГ(Команда) УведомлениеОбУвольненииИГНаСервере(); КонецПроцедуры &НаСервере Процедура УведомлениеОбУвольненииИГНаСервере() //ActiveDoc) ТаблицаПараметров.Очистить(); // Открываем Word ActiveDoc = Справочники.ДополнительныеСведенияИФайлы.ПолучитьМакет("УведомлениеОбУвольнении"); WordObj = ActiveDoc.Get(); WordObj.Application.Visible = 1;
Persempre,
29 янв 2015
#1 -
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.901
- Симпатии:
- 1.035
- Баллы:
- 204
на сервере не установлен WORD?
nomad_irk,
29 янв 2015
#2
Persempre нравится это.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Ну первый вопрос парвильный Офис то на сервере есть?
Draco,
30 янв 2015
#3
Persempre нравится это.
-
Offline
Persempre
Опытный в 1С- Регистрация:
- 18 июл 2012
- Сообщения:
- 868
- Симпатии:
- 3
- Баллы:
- 29
Да офис есть на сервере
Persempre,
30 янв 2015
#4 -
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.901
- Симпатии:
- 1.035
- Баллы:
- 204
какая ошибка?
nomad_irk,
30 янв 2015
#5
Persempre нравится это.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Ну или права у пользователя под которым это запускается на сервере еть на офис серверный.
Draco,
30 янв 2015
#6 -
Offline
Persempre
Опытный в 1С- Регистрация:
- 18 июл 2012
- Сообщения:
- 868
- Симпатии:
- 3
- Баллы:
- 29
Спасибо, вопрос решен. Заполнение нужно было делать на клиенте. Только скорость заполнения адски маленькая. как буд-то человек кнопки нажимает. Как ускорить не знаю
Persempre,
30 янв 2015
#7
- Похожие темы
-
8.х
Ошибка при вызове метода контекста (Выполнить):Синтаксическая ошибка «И»
She,
3 сен 2009, в разделе: Отчеты и обработки для «1С:Предприятие 8»
- Ответов:
- 3
- Просмотров:
- 2.908
- mialord
- 4 сен 2009
-
8.х ОБМЕН
Ошибка выполнения запроса (Ошибка при вызове метода контекста (Выполнить))
AlenaAS,
27 авг 2014, в разделе: Обмен данными в «1С:Предприятие 8»
- Ответов:
- 9
- Просмотров:
- 4.867
- nickpugachev
- 27 авг 2014
-
[РЕШЕНО]
Ошибка в обработке Ошибка при вызове метода контекста (Выполнить) плюс вылет программы
Primorsky,
12 янв 2015, в разделе: «1С:Бухгалтерия БП»
- Ответов:
- 3
- Просмотров:
- 18.107
- Primorsky
- 20 янв 2015
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…









Сообщение было отмечено Владислаучык как решение

