Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 июл 2022, 20:52

Элементы.Добавить НЕ РАБОТАЕТ

Автор Alexey_76, 07 дек 2021, 17:05

0 Пользователей и 1 гость просматривают эту тему.

Alexey_76

Добрый час суток уважаемые!

Управление торговлей, редакция 11 (11.4.13.209)
платформа 8.3.17

Благополучно разобрался с подсистемой БСП ТекущиеДела, но как обычно бывает шефу захотелось эдок извернуться, хотел по мягче послать, но стало интересно.

Метод Элементы.Добавить типовой работает, а добавляю свой не работает, и это не все. (Управляемые формы на сервере).

Просто копирую типовой код и вставляю ниже в той же процедуре, свое убираю естественно, и выдает ошибку!



ЦитироватьОшибка при вызове метода контекста (Добавить)
   Элемент = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений"));
по причине:
Недопустимое значение параметров


НаСервере
Процедура СоздатьДело(Дело, Группа, ВключенаВидимостьДела)

ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", "");

Элемент = Элементы.Добавить(Дело.Идентификатор, Тип("ДекорацияФормы"), Группа); // РасширениеПоляФормыДляПоляНадписи
Элемент.Вид = ВидДекорацииФормы.Надпись;
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Элемент.Заголовок = ЗаголовокДела;
Элемент.Видимость = (ВключенаВидимостьДела И Дело.ЕстьДела);
Элемент.АвтоМаксимальнаяШирина = Ложь;
Элемент.Гиперссылка = ЗначениеЗаполнено(Дело.Форма);
Элемент.УстановитьДействие("Нажатие", "Подключаемый_ОбработатьНажатиеНаГиперссылку");
Если Дело.Важное Тогда
Элемент.ЦветТекста = ЦветаСтиля.ПросроченныеДанныеЦвет;
КонецЕсли;

Если ЗначениеЗаполнено(Дело.Подсказка) Тогда
Подсказка                    = Новый ФорматированнаяСтрока(Дело.Подсказка);
Элемент.Подсказка            = Подсказка;
Элемент.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
КонецЕсли;

//++ ЭТОГО НЕТ В ТИПОВОЙ
Элемент1 = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений")); //РУГАЕТСЯ СЮДА! Недопустимое значение параметров
Элемент1.ПутьКДанным = "ВидыЦен";
ВидыЦен.Добавить("Зн1","Зн1",Истина);
//--ЭТОГО НЕТ В ТИПОВОЙ


КонецПроцедуры

DmitriyF

Цитата: Alexey_76 от 07 дек 2021, 17:05Добрый час суток уважаемые!

Управление торговлей, редакция 11 (11.4.13.209)
платформа 8.3.17

Благополучно разобрался с подсистемой БСП ТекущиеДела, но как обычно бывает шефу захотелось эдок извернуться, хотел по мягче послать, но стало интересно.

Метод Элементы.Добавить типовой работает, а добавляю свой не работает, и это не все. (Управляемые формы на сервере).

Просто копирую типовой код и вставляю ниже в той же процедуре, свое убираю естественно, и выдает ошибку!



ЦитироватьОшибка при вызове метода контекста (Добавить)
   Элемент = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений"));
по причине:
Недопустимое значение параметров


НаСервере
Процедура СоздатьДело(Дело, Группа, ВключенаВидимостьДела)

ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", "");

Элемент = Элементы.Добавить(Дело.Идентификатор, Тип("ДекорацияФормы"), Группа); // РасширениеПоляФормыДляПоляНадписи
Элемент.Вид = ВидДекорацииФормы.Надпись;
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Элемент.Заголовок = ЗаголовокДела;
Элемент.Видимость = (ВключенаВидимостьДела И Дело.ЕстьДела);
Элемент.АвтоМаксимальнаяШирина = Ложь;
Элемент.Гиперссылка = ЗначениеЗаполнено(Дело.Форма);
Элемент.УстановитьДействие("Нажатие", "Подключаемый_ОбработатьНажатиеНаГиперссылку");
Если Дело.Важное Тогда
Элемент.ЦветТекста = ЦветаСтиля.ПросроченныеДанныеЦвет;
КонецЕсли;

Если ЗначениеЗаполнено(Дело.Подсказка) Тогда
Подсказка                    = Новый ФорматированнаяСтрока(Дело.Подсказка);
Элемент.Подсказка            = Подсказка;
Элемент.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
КонецЕсли;

//++ ЭТОГО НЕТ В ТИПОВОЙ
Элемент1 = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений")); //РУГАЕТСЯ СЮДА! Недопустимое значение параметров
Элемент1.ПутьКДанным = "ВидыЦен";
ВидыЦен.Добавить("Зн1","Зн1",Истина);
//--ЭТОГО НЕТ В ТИПОВОЙ


КонецПроцедуры
Так контекст вызова на сервере. А вы пытаетесь что то с формой делать

Alexey_76

Ну а как в типовой работает?

LexaK

Alexey_76, так неправильный тип указываете! Тип("СписокЗначений")

вот пример как добавлять
      лкРеквизит = Элементы.Добавить("РезультатТЗКолонка_" + лкКол.Имя, Тип("ПолеФормы"), Элементы.РезультатТЗ);

если помогло нажмите: Спасибо!

Alexey_76

Проверяю, спасибо, но если мне, ну или не мне, надо на форму вывести список значений, допускаю что ни туда копаю.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск