Добрый час суток уважаемые!
Управление торговлей, редакция 11 (11.4.13.209)
платформа 8.3.17
Благополучно разобрался с подсистемой БСП ТекущиеДела, но как обычно бывает шефу захотелось эдок извернуться, хотел по мягче послать, но стало интересно.
Метод Элементы.Добавить типовой работает, а добавляю свой не работает, и это не все. (Управляемые формы на сервере).
Просто копирую типовой код и вставляю ниже в той же процедуре, свое убираю естественно, и выдает ошибку!
Управление торговлей, редакция 11 (11.4.13.209)
платформа 8.3.17
Благополучно разобрался с подсистемой БСП ТекущиеДела, но как обычно бывает шефу захотелось эдок извернуться, хотел по мягче послать, но стало интересно.
Метод Элементы.Добавить типовой работает, а добавляю свой не работает, и это не все. (Управляемые формы на сервере).
Просто копирую типовой код и вставляю ниже в той же процедуре, свое убираю естественно, и выдает ошибку!
Ошибка при вызове метода контекста (Добавить)
Элемент = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений"));
по причине:
Недопустимое значение параметров
Элемент = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений"));
по причине:
Недопустимое значение параметров
НаСервере
Процедура СоздатьДело(Дело, Группа, ВключенаВидимостьДела)
ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", "");
Элемент = Элементы.Добавить(Дело.Идентификатор, Тип("ДекорацияФормы"), Группа); // РасширениеПоляФормыДляПоляНадписи
Элемент.Вид = ВидДекорацииФормы.Надпись;
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Элемент.Заголовок = ЗаголовокДела;
Элемент.Видимость = (ВключенаВидимостьДела И Дело.ЕстьДела);
Элемент.АвтоМаксимальнаяШирина = Ложь;
Элемент.Гиперссылка = ЗначениеЗаполнено(Дело.Форма);
Элемент.УстановитьДействие("Нажатие", "Подключаемый_ОбработатьНажатиеНаГиперссылку");
Если Дело.Важное Тогда
Элемент.ЦветТекста = ЦветаСтиля.ПросроченныеДанныеЦвет;
КонецЕсли;
Если ЗначениеЗаполнено(Дело.Подсказка) Тогда
Подсказка = Новый ФорматированнаяСтрока(Дело.Подсказка);
Элемент.Подсказка = Подсказка;
Элемент.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
КонецЕсли;
//++ ЭТОГО НЕТ В ТИПОВОЙ
Элемент1 = Элементы.Добавить("ВидыЦен", Тип("СписокЗначений")); //РУГАЕТСЯ СЮДА! Недопустимое значение параметров
Элемент1.ПутьКДанным = "ВидыЦен";
ВидыЦен.Добавить("Зн1","Зн1",Истина);
//--ЭТОГО НЕТ В ТИПОВОЙ
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Отборы в отчётах. Нюансы работы компоновщика настроек.
- Разные хм... неожиданности при работе с УТ 11 и платформой
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
- Улучшайзер - как одна внешняя обработка может улучшать другие внешние обработки
- Использование типовой общей формы отчета для нетиповых отчетов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) СП почитать?
ВсеЭлементыФормы (FormAllItems)
Добавить (Add)
Синтаксис:
Добавить(<Имя>, <ТипЭлемента>, <Родитель>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Уникальное имя добавляемого элемента.
<ТипЭлемента> (обязательный)
Тип: Тип.
Тип добавляемого элемента.
<Родитель> (необязательный)
Тип: ГруппаФормы, ТаблицаФормы, ФормаКлиентскогоПриложения.
Родитель для добавляемого элемента.
Если не указан, то добавляется на верхний уровень.
Возвращаемое значение:
Тип: ДекорацияФормы, ГруппаФормы, КнопкаФормы, ТаблицаФормы, ПолеФормы. Показать
Выделенное это и есть возможные типы элементов формы. Выбирайте из них.
ВсеЭлементыФормы (FormAllItems)
Добавить (Add)
Синтаксис:
Добавить(<Имя>, <ТипЭлемента>, <Родитель>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Уникальное имя добавляемого элемента.
<ТипЭлемента> (обязательный)
Тип: Тип.
Тип добавляемого элемента.
<Родитель> (необязательный)
Тип: ГруппаФормы, ТаблицаФормы, ФормаКлиентскогоПриложения.
Родитель для добавляемого элемента.
Если не указан, то добавляется на верхний уровень.
Возвращаемое значение:
Тип: ДекорацияФормы, ГруппаФормы, КнопкаФормы, ТаблицаФормы, ПолеФормы.
Выделенное это и есть возможные типы элементов формы. Выбирайте из них.
(4) вот пример, который должен нормально отрабатывать:
СЗ = Элементы.Добавить("СЗ", Тип("ТаблицаФормы"));
СЗ.ПутьКДанным = "ИмяРеквизитаФормы";
СЗЗначение = Элементы.Добавить("СЗЗначение", Тип("ПолеФормы"), СЗ);
СЗЗначение.Вид = ВидПоляФормы.ПолеВвода;
СЗЗначение.ПутьКДанным = "ИмяРеквизитаФормы.Значение";
(4) эта процедура "СоздатьДело" она вызывается несколько раз для каждого дела ведь?
Вот и получается, что ваш же код так же несколько раз пытается создать элемент формы с одним и тем же именем, что и приводит к ошибке.
Ищите другое место присоединения для своего кода.
Вот и получается, что ваш же код так же несколько раз пытается создать элемент формы с одним и тем же именем, что и приводит к ошибке.
Ищите другое место присоединения для своего кода.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот