Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (Получить) Недопустимое значение параметра (параметр но
0 ima0323
 
06.08.21
11:26
Добрый день
в отчете, сделанном с СКД нужно узнать имя и значение ячейки, по которой произведен двойной щелчок. Выдает ошибку на строке
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();:
{Отчет.ОстаткиНаСкладахА.Форма.ФормаОтчетаА.Форма(120)}: Ошибка при вызове метода контекста (Получить)
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
по причине:
Недопустимое значение параметра (параметр номер '1')
что не так? вот функция и процедура, которая ее вызывает:
&наСервере
Функция ПолучитьРасшифровкуНаСервере(Расшифровка)
  ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных;
  ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиСКД,УникальныйИдентификатор);
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля(); /////ЗДЕСЬ
названиеПоля=поля[0].поле;
ЗначениеПоля=поля[0].значение;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! получаем соседние элементы расшифровки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
индексТекущегоЭлемента=число(Расшифровка);
  пока индексТекущегоЭлемента>0 цикл
п=Данные.Элементы[индексТекущегоЭлемента].ПолучитьПоля();
если п[0].поле="Ссылка" тогда
    Ссылка=п[0].значение;
    прервать;
конецЕсли;
индексТекущегоЭлемента=индексТекущегоЭлемента-1;
     конецЦикла;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!конец получаем соседние элементы расшифровки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  стр=новый структура;
стр.Вставить("НаименованиеПоля",названиеПоля);
стр.Вставить("ЗначениеПоля",значениеПоля);
стр.Вставить("Ссылка",ссылка);
возврат стр;
КонецФункции
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    перем ааа;
    
    стПолеРасшифровки=ПолучитьРасшифровкуНаСервере(Расшифровка);
    имяПоля=стПолеРасшифровки["НаименованиеПоля"];
    ЗначениеПоля=стПолеРасшифровки["ЗначениеПоля"];
    СтандартнаяОбработка=ложь;
    
    Если имяПоля="Ссылка" Тогда
        сообщить("поле:"+имяПоля+" Значение:"+строка(ЗначениеПоля));
    иначе   // если кликнули на код, то выводим значение колонки ссылка
        сообщить("поле:"+имяПоля+" Значение:"+строка(ЗначениеПоля)+" Значение поля ссылка:"+строка(стПолеРасшифровки["Ссылка"]));
    конецЕсли;
    
    
    //ВвестиЧисло(ааа,,10,0);
    //элемент.ТекущаяОбласть.Текст=строка(ааа);
КонецПроцедуры
1 Ёпрст
 
гуру
06.08.21
11:44
(0) отладчиком посмотреть, что есть данные. Сделать выводы.
2 DrShad
 
06.08.21
11:47
Расшифровка какой тип?
3 ima0323
 
06.08.21
12:09
DrShad: Расшифровка тип - ИдентификаторРасшифровкиКомпоновкиДанных, значение, например 9 или 17

   Ёпрст: что именно в отладчике посмотреть
4 DrShad
 
06.08.21
12:11
(3) а нужен тип число )))
5 ima0323
 
06.08.21
12:23
DrShad: как правильно получить число?
сделала:
индРасшифровки=Число(Расшифровка);
Поля = Данные.Элементы.Получить(индРасшифровки).ПолучитьПоля();
та же ошибка:
{Отчет.ОстаткиНаСкладахА.Форма.ФормаОтчетаА.Форма(121)}: Ошибка при вызове метода контекста (Получить)
Поля = Данные.Элементы.Получить(индРасшифровки).ПолучитьПоля();
по причине:
Недопустимое значение параметра (параметр номер '1')
6 DrShad
 
06.08.21
12:29
это уже другой вопрос
7 ima0323
 
06.08.21
12:34
может еще както можно получить имя и значение поля по щелчку на ячейке Результата?
8 DrShad
 
06.08.21
13:02
обманул я тебя, оказывается можно и число и идентификатор
а вот что смущает - у тебя данные расшифровки создаются пустые
9 ima0323
 
09.08.21
12:15
<а вот что смущает - у тебя данные расшифровки создаются пустые>
не пустые

Выражение    Значение    Тип
ЭтаФорма.УникальныйИдентификатор    fdd52f7f-48e9-4646-97f4-93039720cd1e    УникальныйИдентификатор
Данные.Элементы.Получить[индРасшифровки]    {(1)}: Ошибка при вызове метода контекста (Получить)    
Расшифровка    17    ИдентификаторРасшифровкиКомпоновкиДанных
ДанныеРасшифровки    "e1cib/tempstorage/44b5a7e6-2aee-4ba0-8d03-7356e020e009?seanceId=49f48c74-015b-46b0-b729-ceb6529008dd"    Строка
УникальныйИдентификатор    fdd52f7f-48e9-4646-97f4-93039720cd1e    УникальныйИдентификатор
[индРасшифровки    17    Число
10 Ёпрст
 
гуру
09.08.21
13:00
(3) тип значения Данные какой? Тип значения Данные.элеиенты какой? С чего уверенность что к Данные.Элементы применим метод Получить?
11 Ёпрст
 
гуру
09.08.21
13:00
Всё это покажет жуколов
12 ima0323
 
09.08.21
13:20
Выражение         Значение                                        Тип
ДанныеРасшифровки    "e1cib/tempstorage/196ed52c-9389-4c5c-a599-2d78e65f3e99?seanceId=1eeb4491-ad47-485f-80e5-6a59cf7e4f1a"    Строка
Данные                 ДанныеРасшифровкиКомпоновкиДанных            ДанныеРасшифровкиКомпоновкиДанных
   Настройки         НастройкиКомпоновкиДанных                    НастройкиКомпоновкиДанных
   Элементы         ЭлементыРасшифровкиКомпоновкиДанных    ЭлементыРасшифровкиКомпоновкиДанных
Данные.Элементы         ЭлементыРасшифровкиКомпоновкиДанных    ЭлементыРасшифровкиКомпоновкиДанных

А если не применим, как узнать что за ячейка?