Ошибка при вызове метода контекста вставить недопустимое значение параметров

Ошибка при вызове метода контекста(Добавить) 1С Решение и ответ на вопрос 2832763

0 / 0 / 0

Регистрация: 21.12.2017

Сообщений: 15

1

Ошибка при вызове метода контекста(Добавить)

20.05.2021, 01:00. Показов 3674. Ответов 1


Здравствуйте. Необходимо было изобразить игру Сапёр в 1С, по заданию из задачника Чистова. Код ниже.

По итогу столкнулся с проблемой: {Обработка.сапер.Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (Добавить)
Группа = ЭтаФорма.Элементы.Добавить(«Ряд «+Х,Тип(«ГруппаФормы»),Элементы.ИгровоеПоле);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Недопустимое значение параметра (параметр номер ‘1’)

как решить?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    МиныВсего = 10;
    КолВоСтрок = 10;
    КолВоСтолбцов = 10;
    МиныОстаток = 10;
    Флаги = 0;
КонецПроцедуры
 
&НаКлиенте
Процедура НачатьИгру(Команда)
       НачатьИгруНаСервере();
       ЭтаФорма.ОбновитьОтображениеДанных(Элементы["ИгровоеПоле"]);
КонецПроцедуры
 
 
&НаСервере
Процедура НачатьИгруНаСервере()
    
        ИгровоеПоле = Элементы.Найти("ИгровоеПоле");
        Если ИгровоеПоле <> Неопределено Тогда
            ЭтаФорма.Элементы.Удалить(ИгровоеПоле);
            КонецЕсли;
    
          ИгровоеПоле = ЭтаФорма.Элементы.Добавить("ИгровоеПоле",Тип("ГруппаФормы"),ЭтаФорма);
          ИгровоеПоле.Вид = ВидГруппыФормы.ОбычнаяГруппа;
          ИгровоеПоле.Отображение = ОтображениеОбычнойГруппы.Нет;
          ИгровоеПоле.ОтображатьЗаголовок = Ложь;
          ИгровоеПоле.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
          ИгровоеПоле.РазрешитьИзменениеСостава = Истина;
          ИгровоеПоле.Видимость = Истина;
        
          Для Х = 1 По КолВоСтолбцов Цикл
              Группа = ЭтаФорма.Элементы.Добавить("Ряд "+Х,Тип("ГруппаФормы"),Элементы.ИгровоеПоле);
              Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
              Группа.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеПодчиненных;
              Группа.Видимость = Истина;
                  Для У = 1  по КолВоСтрок Цикл
                  НоваяКнопка = ЭтаФорма.Элементы.Добавить("Клетка_У "+У+"_Х "+Х,Тип("ДекорацияФормы"),Группа);
                  НоваяКнопка.Вид = ВидДекорацииФормы.Картинка;
                  НоваяКнопка.Высота = 1;
                  НоваяКнопка.Ширина = 2;
                  НоваяКнопка.Видимость = Истина;
                  НоваяКнопка.КонтекстноеМеню.Видимость = Истина;
                  НоваяКнопка.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Выпуклая,3);
                  НоваяКнопка.Гиперссылка = Истина;
                  НоваяКнопка.УстановитьДействие("Нажатие","КнопкаНажатие");
                  
                  КомандаВопрос = ЭтаФорма.Элементы.Добавить("Клетка_У "+У+"_Х "+Х+"КонтекстноеМенюВопрос",
                  Тип("КнопкаФормы"),НоваяКнопка.КонтекстноеМеню);
                  КомандаВопрос.ИмяКоманды = "Вопрос1";
                  КомандаВопрос.Картинка = БиблиотекаКартинок.Справка;
                  
                  
                  КомандаМина = ЭтаФорма.Элементы.Добавить("Клетка_У "+У+"_Х "+Х+"КонтекстноеМенюМина",
                  Тип("КнопкаФормы"),НоваяКнопка.КонтекстноеМеню);
                  КомандаМина.ИмяКоманды = "ЭтоМина";
                  КомандаМина.Картинка = БиблиотекаКартинок.ОформлениеФлагКрасный;
                  
                  НастройкаПоля = НастройкиПоля.Добавить();
                  НастройкаПоля.ИмяПоля = "Клетка_У"+У+"_Х "+Х;
                  НастройкаПоля.Строка = У;
                  НастройкаПоля.Столбец = Х;
                  НастройкаПоля.МинаВЯчейке = Ложь;
                  
              КонецЦикла;
          КонецЦикла;
          
          ГенСлучЧис = Новый ГенераторСлучайныхЧисел();
          Для СлучЧис = 1 По МиныВсего Цикл
              МинаЕсть = Ложь;
              Пока Не МинаЕсть Цикл
                  ГдеМина = ГенСлучЧис.СлучайноеЧисло(0,НастройкиПоля.Количество()-1);
                  Строка = НастройкиПоля[ГдеМина];
                  Если Строка.Мина = Истина Тогда
                      Продолжить
                  КонецЕсли;
                   Строка.Мина = истина;
                   Элементы[Строка.ИмяПоля].Заголовок = "Х";
                   МинаЕсть = Истина;
               КонецЦикла;
           КонецЦикла;
           
           Для Х = 1 по КолВоСтолбцов Цикл
               Для У = 1 По КолВоСтрок Цикл
                   ИмяТекущегоЭлемента = "Клетка_У "+У+"_Х "+Х;
                   Если Элементы[ИмяТекущегоЭлемента].Заголовок = "Х" Тогда
                       Продолжить;
                   КонецЕсли;
                   МиныРядом =0;
                   
                   ИмяЭлемента = "Клетка_У"+(У-1)+"_Х "+(Х-1);
                   Если (У-1>0 и Х-1>0) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                    ИмяЭлемента = "Клетка_У"+(У-1)+"_Х "+(Х);
                   Если (У-1>0) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   ИмяЭлемента = "Клетка_У"+(У-1)+"_Х "+(Х+1);
                   Если (У-1>0 и Х+1<=КолВоСтолбцов) И Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   
                   ИмяЭлемента = "Клетка_У"+(У)+"_Х "+(Х-1);
                   Если (Х-1>0) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   
                   ИмяЭлемента = "Клетка_У"+(У)+"_Х "+(Х+1);
                   Если (Х+1<=КолВоСтолбцов) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   
                   ИмяЭлемента = "Клетка_У"+(У+1)+"_Х "+(Х-1);
                   Если (У+1<=КолВоСтрок и Х-1>0) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   
                   ИмяЭлемента = "Клетка_У"+(У+1)+"_Х "+(Х);
                   Если (У+1<=КолВоСтрок) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   
                   ИмяЭлемента = "Клетка_У"+(У+1)+"_Х "+(Х+1);
                   Если (У+1<=КолВоСтрок и Х+1<=КолВоСтолбцов) и Элементы[ИмяЭлемента].Заголовок = "Х" тогда
                       МиныРядом = МиныРядом+1;
                   КонецЕсли;
                   
                   Если МиныРядом > 0 Тогда
                       Элементы[ИмяТекущегоЭлемента].Заголовок = МиныРядом;
                       
                   КонецЕсли;
               КонецЦикла;
               КОнецЦикла;
 
                   
                   
          
            
    КонецПроцедуры
 
 
&НаКлиенте
    Процедура Вопрос1(Команда)
        ТекущийЭлемент.Картинка = БиблиотекаКартинок.Справка;
    КонецПроцедуры
 
&НаКлиенте
    Процедура ЭтоМина(Команда)
        ТекущийЭлемент.Картинка = БиблиотекаКартинок.ОформлениеФлагКрасный;
    КонецПроцедуры
    
    
&НаКлиенте
Процедура КнопкаНажатие(Элемент)
    Элемент.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    Если Элемент.Заголовок = "Х" Тогда
        Элемент.Картинка = библиотекаКартинок.Удалить;
        ОткрытьВсеМины();
        Предупреждение("Неудачно");
    Иначе
        Элемент.Картинка = Новый Картинка;
        Элемент.ТекстНеВыбраннойКартинки = Элемент.Заголовок;
    КонецЕсли;
    КонецПРоцедуры
 
    
&НаСервере
Процедура ОткрытьВсеМины()
    Для Х = 1 По КолВоСтолбцов Цикл
        Для У = 1 по КолВоСтрок Цикл
            ИмяТекущегоЭлемента = "Клетка_У"+У+"_ Х"+Х;
            Если Элементы[ИмяТекущегоЭлемента].Заголовок = "Х" Тогда
                Элементы[ИмяТекущегоЭлемента].Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
                Элементы[ИмяТекущегоЭлемента].Картинка = БиблиотекаКартинок.Удалить;
            КонецЕсли;
        КОнецЦикла;
    КонецЦикла;
    КонецПроцедуры

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



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
  1. TopicStarter Overlay

    RoZii

    Offline

    RoZii
    Опытный в 1С

    Регистрация:
    29 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26

    Для реализации товаров и услуг была создана новая форма подбора с дополнительными полями поиска. В УПП 8.1 работает без проблем, а в УТ 8.1 при открытии групппы номенклатуры выдается ошибка:
    Ошибка при вызове метода контекста (Установить): Недопустимое значение параметра (параметр номер ‘1’) ТаблицаНоменклатуры.Порядок.Установить(«Тип»); что ему не хватает? и на что следует обратить внимание?

    Код:
    Процедура ТаблицаНоменклатурыПриСменеТекущегоРодителя(Элемент)
    Если Не Элемент.ТекущиеДанные=Неопределено Тогда
    Если Элемент.ТекущиеДанные.ЭтоГруппа Тогда
    Элемент.Колонки.Наименование.Видимость=Истина;
    Элемент.Колонки.Наименование.Доступность=Истина;
    ТаблицаНоменклатуры.Порядок.Установить("Код");
    Иначе
    Элемент.Колонки.Наименование.Видимость=Ложь;
    Элемент.Колонки.Наименование.Доступность=Ложь;
    ИмяКолонки=ТаблицаНоменклатуры.Порядок[1].Имя;
    Если ИмяКолонки="Наименование" Тогда
    ТаблицаНоменклатуры.Порядок.Установить("Тип");
    Иначе
    УстановкаПорядка(ИмяКолонки);
    КонецЕсли;
    КонецЕсли;
    Иначе
    Элемент.Колонки.Наименование.Видимость=Истина;
    КонецЕсли;
    ПоследняяСтрока="";
    ПерваяСтрока="";
    ТаблицаСтрок=Неопределено;
    КонецПроцедуры
    

    RoZii,
    29 июл 2009

    #1
  2. TopicStarter Overlay

    RoZii

    Offline

    RoZii
    Опытный в 1С

    Регистрация:
    29 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26

    Все решила проблему. В номенклатуре не создала реквизиты.


    RoZii,
    29 июл 2009
    #2
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Похожие темы

  1. She

    8.х
    Ошибка при вызове метода контекста (Выполнить):Синтаксическая ошибка «И»

    She,
    3 сен 2009
    , в разделе: Отчеты и обработки для «1С:Предприятие 8»
    Ответов:
    3
    Просмотров:
    2.461
    mialord
    4 сен 2009

  2. AlenaAS

    8.х ОБМЕН
    Ошибка выполнения запроса (Ошибка при вызове метода контекста (Выполнить))

    AlenaAS,
    27 авг 2014
    , в разделе: Обмен данными в «1С:Предприятие 8»
    Ответов:
    9
    Просмотров:
    3.865
    nickpugachev
    27 авг 2014

  3. Primorsky

    [РЕШЕНО]
    Ошибка в обработке Ошибка при вызове метода контекста (Выполнить) плюс вылет программы

    Primorsky,
    12 янв 2015
    , в разделе: «1С:Бухгалтерия БП»
    Ответов:
    3
    Просмотров:
    16.619
    Primorsky
    20 янв 2015

Загрузка…

Поделиться этой страницей

Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста вставить задано неправильное имя атрибута структуры
  • Ошибка при вызове функции криптоплагина extensiontimeouterror
  • Ошибка при вызове метода контекста saveas
  • Ошибка при вызове метода контекста previewfile1c
  • Ошибка при вызове функции криптокомпонента госуслуги