0 / 0 / 0
Регистрация: 21.12.2017
Сообщений: 15
1
Ошибка при вызове метода контекста(Добавить)
20.05.2021, 01:00. Показов 3674. Ответов 1
Здравствуйте. Необходимо было изобразить игру Сапёр в 1С, по заданию из задачника Чистова. Код ниже.
По итогу столкнулся с проблемой: {Обработка.сапер.Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (Добавить)
Группа = ЭтаФорма.Элементы.Добавить(«Ряд «+Х,Тип(«ГруппаФормы»),Элементы.ИгровоеПоле);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Недопустимое значение параметра (параметр номер ‘1’)
как решить?
1C | ||
|
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
1C. «Недопустимое значение параметра» при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:
{ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Код, вызывающий ошибку:
Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
&НаСервере
Функция ПолучитьМакетЗаявленияИзРасширения()
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
Возврат Макет;
КонецФункции
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант — перенести макеты в общие и следующей командой вызвать (получить) макет из «Общие макеты»:
Макет = ПолучитьОбщийМакет («Расш1_МакетЗаявлениеПоступающего»);
——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то «заглушки» достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Войти или зарегистрироваться
8.х Ошибка при вызове метода контекста (Установить)
Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем RoZii, 29 июл 2009.
-
0/5,
Голосов: 0
-
Offline
RoZii
Опытный в 1С- Регистрация:
- 29 июл 2009
- Сообщения:
- 58
- Симпатии:
- 0
- Баллы:
- 26
Для реализации товаров и услуг была создана новая форма подбора с дополнительными полями поиска. В УПП 8.1 работает без проблем, а в УТ 8.1 при открытии групппы номенклатуры выдается ошибка:
Ошибка при вызове метода контекста (Установить): Недопустимое значение параметра (параметр номер ‘1’) ТаблицаНоменклатуры.Порядок.Установить(«Тип»); что ему не хватает? и на что следует обратить внимание?Код:Процедура ТаблицаНоменклатурыПриСменеТекущегоРодителя(Элемент) Если Не Элемент.ТекущиеДанные=Неопределено Тогда Если Элемент.ТекущиеДанные.ЭтоГруппа Тогда Элемент.Колонки.Наименование.Видимость=Истина; Элемент.Колонки.Наименование.Доступность=Истина; ТаблицаНоменклатуры.Порядок.Установить("Код"); Иначе Элемент.Колонки.Наименование.Видимость=Ложь; Элемент.Колонки.Наименование.Доступность=Ложь; ИмяКолонки=ТаблицаНоменклатуры.Порядок[1].Имя; Если ИмяКолонки="Наименование" Тогда ТаблицаНоменклатуры.Порядок.Установить("Тип"); Иначе УстановкаПорядка(ИмяКолонки); КонецЕсли; КонецЕсли; Иначе Элемент.Колонки.Наименование.Видимость=Истина; КонецЕсли; ПоследняяСтрока=""; ПерваяСтрока=""; ТаблицаСтрок=Неопределено; КонецПроцедуры
RoZii,
29 июл 2009
#1 -
Offline
RoZii
Опытный в 1С- Регистрация:
- 29 июл 2009
- Сообщения:
- 58
- Симпатии:
- 0
- Баллы:
- 26
Все решила проблему. В номенклатуре не создала реквизиты.
RoZii,
29 июл 2009
#2
- Похожие темы
-
8.х
Ошибка при вызове метода контекста (Выполнить):Синтаксическая ошибка «И»
She,
3 сен 2009, в разделе: Отчеты и обработки для «1С:Предприятие 8»
- Ответов:
- 3
- Просмотров:
- 2.461
- mialord
- 4 сен 2009
-
8.х ОБМЕН
Ошибка выполнения запроса (Ошибка при вызове метода контекста (Выполнить))
AlenaAS,
27 авг 2014, в разделе: Обмен данными в «1С:Предприятие 8»
- Ответов:
- 9
- Просмотров:
- 3.865
- nickpugachev
- 27 авг 2014
-
[РЕШЕНО]
Ошибка в обработке Ошибка при вызове метода контекста (Выполнить) плюс вылет программы
Primorsky,
12 янв 2015, в разделе: «1С:Бухгалтерия БП»
- Ответов:
- 3
- Просмотров:
- 16.619
- Primorsky
- 20 янв 2015
Поделиться этой страницей
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…