Динамическое создание элементов формы (УФ) #743889


#0 by mrCreator
Всем привет. нужно в форме при наступлении определенного события изменять состав реквизитов. Количество и наименование реквизитов каждый раз разное. Создана специальная форма выбора из справочника номенклатура. В форме выбора есть отборы, которые должны меняться в зависимости от выбранного типа номенклатуры. Список отборов берется из справочника вид номенклатуры. делаю так: Вариант1 &НаКлиенте {Справочник.Номенклатура.Форма.КаталогТоваров.Форма}: Ошибка при вызове метода контекста (СоздатьПолеВвода) по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'ret':     форма: Элемент     имя: { по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'Value':     форма: Элемент     имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ПолеФормы' Пробывал на сервере создаль элементы формы, потом отобразить их на клиенте, это вариант 2, тоже не пошло, т.к. при переходе в в клиент у формы нужных реквизитов не оказалось вариант 3, пробывал создать и отобразить прям на сервере, но нечего не происходит. Помогите пожалуйста разобраться...
#1 by Господин ПЖ
не все виды объектов сериализуются ибо их нет смысла таскать туда сюда
#2 by mrCreator
Да и не таскал бы, но функция ЭтаФорма.элементы.Добавить доступна только на сервере. Как мне ее создать на сервере, а потом отобразить на клиенте.... вот в чем боль...
#3 by mrCreator
ап
#4 by Господин ПЖ
ИзменитьРеквизиты
#5 by mrCreator
эффект тот же. Эта функция доступна тоже только на сервере и с тем же самым успехом не отображается на клиенте
#6 by olegves
а с клиента вызвать серверную процедуру религия тебе запрещает?
#7 by KulakoffAlex
Все это перенеси на сервер.
#8 by Господин ПЖ
нефиг этому всему делать на клиенте
#9 by mrCreator
&НаКлиенте для Каждого тек из Парам цикл дает ошибку Отсутствует отображение для типа 'ПолеФормы'
#11 by mrCreator
пока я нахожусь внутри серверной процедуры я вижу добавленные элементы, как только я возвращаюсь в к клиенту я их уже не вижу. Если я пытаюсь отобразить элементы прям из серверной процедуры, код отрабатывает, но на форме нечего не появляется.
#12 by Господин ПЖ
у тебя мания пытаться приволочь что-то на клиента
#13 by Kiks
В созданных элементах нужно еще значения отобразить. И путь к данным прописать.
#14 by mrCreator
:) есть такое , потому что с сервера не получается отобразить.
#15 by Господин ПЖ
+1 элементы формы не связанные с реквизитами не отображаются можешь бросить на форму кнопку без команды - она не отобразится
#16 by mrCreator
создал условный реквизит для привязки к данным Парам1 с типом текст и в серверной процедуре дописал следующее: появляется ошибка Запись дампа и все закрывается
#17 by Kiks
1. Программно создаешь реквизит формы, задаешь ему некоторое значение. 2. Программно создаешь элемент формы, прописываешь ему путь к новому реквизиту формы. 3. Присваеваешь новому элементу нужное значение.
#18 by Kiks
ОтборНаФорме - Это новый элемент формы? Тогда так попробуй:
#19 by mrCreator
да ОтборНаФорме  это новый элемент формы в клиенте не доступно отборНаФорме.Имя, а в серверном отрабатывает но не показывает.
#20 by Kiks
Когда элемент формы создается, в параметрах указывается его имя:
#21 by mrCreator
Спасибо огромное!!! Всё получилось. ошибка у меня была в том, что я оказывается путь к данным передавал не текстовую строку а реквизит
#22 by mrCreator
Значение передавать не обязательно, на форме отображается и без него
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С