- Недопустимое значение параметра (параметр номер ‘1’)
- Вывод дерева значений на управляемую форму
- PROИТ
- 1C. «Недопустимое значение параметра» при вызове макета в расширении
- v8.2: Программное создание таблицы в управляемой форме
- Ошибка при вызове метода контекста (Получить) Недопустимое значение параметра (параметр но
Недопустимое значение параметра (параметр номер ‘1’)
Добрый день.Замучался немного с планировщиком.такой вопрос появилась ошибка
Ошибка при вызове метода контекста (Добавить)
НовыйМастер = ИзмерениеМастера.Элементы.Добавить(выб.Мастер);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
&НаКлиенте
Процедура Отобразить(Команда)
Планировщик.ТекущиеПериодыОтображения.Очистить();
//Планировщик.ТекущиеПериодыОтображения.Добавить(ПериодОтображенияНачало, ПериодОтображенияКонец);
Планировщик.ТекущиеПериодыОтображения.Добавить(НачалоДня(Текущаядата()), КонецДня(Текущаядата()));
Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.Час;
Планировщик.КратностьПериодическогоВарианта = 24;
Планировщик.ОтображатьПеренесенныеЗаголовки = Истина;
Планировщик.ОтступСНачалаПереносаШкалыВремени=8;
Планировщик.ОтступСКонцаПереносаШкалыВремени=3;
// Инициализируем измерения планировщика
ИзмеренияПланировщика = Планировщик.Измерения;
ИзмеренияПланировщика.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Заявка.Ссылка КАК Ссылка,
| Заявка.Мастер КАК Мастер,
| Заявка.ДатаНачала КАК ДатаНачала,
| Заявка.ДатаОкончания КАК ДатаОкончания
|ИЗ
| Документ.Заявка КАК Заявка
|ГДЕ
| ЗаявкаНаРемонтСокр.Дата МЕЖДУ &ДатаНачало И &ДатаКонец»;
Запрос.УстановитьПараметр(«ДатаНачало»,НачалоГода(Текущаядата()));
Запрос.УстановитьПараметр(«ДатаКонец», КонецДня(Текущаядата()));
выб = Запрос.Выполнить().Выбрать();
Пока выб.Следующий() Цикл
// Заполнение измерений продавцы
НовыйМастер = ИзмерениеМастера.Элементы.Добавить(выб.Мастер);
НовыйМастер.Текст = выб.Мастер.Наименование;
Вывод дерева значений на управляемую форму
<Форма.Форма.Форма(88)>: Ошибка при вызове метода контекста (Добавить)
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип(«ПолеФормы»), ЭлементДерево);
по причине: Недопустимое значение параметров
ВыборкаПериод = ВыполнениеЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
// Создание Реквизита формы типа ДанныеФормыДерево
МассивДобавляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(«Дерево»,
Новый ОписаниеТипов(«ДеревоЗначений»)));
Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
МассивДобавляемыхРеквизитов.Добавить(
Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, «Дерево»));
КонецЦикла;
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
// Преобразование объекта прикладного типа ДеревоЗначений
// в реквизит управляемой формы (данные формы)
ЗначениеВРеквизитФормы(ВыборкаПериод, «Дерево»);
// Создание элемента формы типа ТаблицаФормы для отображения дерева
ЭлементДерево = Элементы.Добавить(«Дерево», Тип(«ТаблицаФормы»));
ЭлементДерево.ПутьКДанным = «Дерево»;
ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево;
Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип(«ПолеФормы»), ЭлементДерево);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = «Дерево.» + Колонка.Имя;
КонецЦикла;
PROИТ
Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.
1C. «Недопустимое значение параметра» при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:
<ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)>: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Код, вызывающий ошибку:
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
v8.2: Программное создание таблицы в управляемой форме
Мне необходимо программным образом в справочник Пользователи( в управляемую форму списка) добавить таблицу, отображающую регистр сведений «Контактная информация». Проблема в том, что не получается у этой таблицы объявить поля(колонки), если таблица представляет собой динамический список.
\\Создание реквизита
реквизиты = Новый Массив;
реквизиты.Добавить(Новый РеквизитФормы(«Поле», Новый ОписаниеТипов («ДинамическийСписок»),,»Поле таблицы»));
ЭтаФорма.ИзменитьРеквизиты(реквизиты);
ЭтаФорма.Поле.ОсновнаяТаблица=»РегистрСведений.КонтактнаяИнформация»;
\\создание элемента
Элемент = Элементы.Добавить(«Поле», Тип(«ТаблицаФормы»), ЭтаФорма);
Элемент.ПутьКДанным = «Поле»;
Элемент.Видимость = Истина;
При попытке создать элемент, являющийся колонкой таблицы, выдается ошибка:
<Справочник.Пользователи.Форма.ФормаСписка.Форма(211)>: Ошибка при вызове метода контекста (Добавить): Недопустимое значение параметров
Элемент1 = Элементы.Добавить(«Представление»,Тип(«Строка»),Элемент);
по причине:
Недопустимое значение параметров
Ниже код, где возникает ошибка:
Элемент1 = Элементы.Добавить(«Представление»,Тип(«Строка»),Элемент); \\ ошибка возникает здесь!
Элемент1.Вид = ВидПоляФормы.ПолеВвода;
Элемент1.ПутьКДанным = «Поле.Представление»;
Может, кто-нибудь сталкивался с подобной ситуацией? Помогите 🙂
Можно для динамического списка задать свой запрос, но проблема та же((( Не могу создать колонки с соответствующими полями в запросе.
Ошибка при вызове метода контекста (Получить) Недопустимое значение параметра (параметр но
Добрый день
в отчете, сделанном с СКД нужно узнать имя и значение ячейки, по которой произведен двойной щелчок. Выдает ошибку на строке
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();:
<Отчет.ОстаткиНаСкладахА.Форма.ФормаОтчетаА.Форма(120)>: Ошибка при вызове метода контекста (Получить)
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
что не так? вот функция и процедура, которая ее вызывает:
&наСервере
Функция ПолучитьРасшифровкуНаСервере(Расшифровка)
ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных;
ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиСКД,УникальныйИдентификатор);
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля(); /////ЗДЕСЬ
названиеПоля=поля[0].поле;
ЗначениеПоля=поля[0].значение;
//. получаем соседние элементы расшифровки.
индексТекущегоЭлемента=число(Расшифровка);
пока индексТекущегоЭлемента>0 цикл
п=Данные.Элементы[индексТекущегоЭлемента].ПолучитьПоля();
если п[0].поле=»Ссылка» тогда
Ссылка=п[0].значение;
прервать;
конецЕсли;
индексТекущегоЭлемента=индексТекущегоЭлемента-1;
конецЦикла;
//. конец получаем соседние элементы расшифровки.
стр=новый структура;
стр.Вставить(«НаименованиеПоля»,названиеПоля);
стр.Вставить(«ЗначениеПоля»,значениеПоля);
стр.Вставить(«Ссылка»,ссылка);
возврат стр;
КонецФункции
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
перем ааа;
стПолеРасшифровки=ПолучитьРасшифровкуНаСервере(Расшифровка);
имяПоля=стПолеРасшифровки[«НаименованиеПоля»];
ЗначениеПоля=стПолеРасшифровки[«ЗначениеПоля»];
СтандартнаяОбработка=ложь;
Если имяПоля=»Ссылка» Тогда
сообщить(«поле:»+имяПоля+» Значение:»+строка(ЗначениеПоля));
иначе // если кликнули на код, то выводим значение колонки ссылка
сообщить(«поле:»+имяПоля+» Значение:»+строка(ЗначениеПоля)+» Значение поля ссылка:»+строка(стПолеРасшифровки[«Ссылка»]));
конецЕсли;
//ВвестиЧисло(ааа,,10,0);
//элемент.ТекущаяОбласть.Текст=строка(ааа);
КонецПроцедуры