8.3. УФ. Установить значение элемента формы на клиенте #791553


#0 by SeiOkami
Такое дело. Делаю универсальную обработину, чтобы ей проводить манипуляции над открытыми формами (для разработкиотладкитестирования). На клиенте в УФ получаю открытые формы и делаю с ними разные махинации. Влиять на свойства элемента формы можно без проблем. Однако, установить значение реквизитов не знаю как. Дело в том, что путь к данным элемента формы можно узнать только на сервере, но туды я, естественно, форму отправить не могу. Можно было бы вывести просто все реквизиты формы для редактирования (без привязки к элементам), но и их получить можно только на сервере. Есть ли какая-то фишка, позволившая бы это устроить?
#1 by SeiOkami
уп
#2 by SeiOkami
апну
#3 by Вафель
Форма[ИмяРеквизита] = Значение
#4 by Вафель
Нужно не отправлять форму на сервер, а брать ее оттуда
#5 by SeiOkami
, как узнать какие реквизиты есть у открытой формы?
#6 by SeiOkami
, и как я на сервере получу открытую форму?
#7 by Вафель
Из сревреной процедуры формы вызывать процдеру из общего модуля. например при создании на сервере
#8 by Вафель
ПолучитьРеквизиты
#9 by SeiOkami
, ты отвечаешь на что-то совсем другое. Повторю вопрос: "как я на сервере получу открытую форму?"
#10 by SeiOkami
, похоже, что ты не прочитал ... Этот метод доступен только на сервере. А получить открытые формы можно только на клиенте. А передать открытую форму с клиента на сервер нельзя.
#11 by SeiOkami
уп
#12 by Windyhead
"Передать открытую форму с клиента на сервер нельзя..." Дать ложку?
#13 by FIXXXL
можно же как параметр серверной процедуры
#14 by Fedor-1971
поясни свою мысль примерным кодом: 1. как получил открытую форму (или список оных)? 2. что и как делать собрался с ней (добавил реквизиты просто формы или вывел некие реквизиты объекта)? 3. как собственно пытался получить реквизиты уже открытой формы (если что - форма это, по большому счёту, коллекция значений)? В сторону Метаданных смотрел? и самый главный вопрос на зачем тебе это нужно? Изобретаешь большой универсальный велосипед с квадратными колёсами или просто пытаешься посмотреть на возможности УФ?
#15 by SeiOkami
, , если можно, то прошу пример
#16 by SeiOkami
, 1. ПолучитьОкна 2. Нужно предоставить возможно изменять значения любых реквизитов любой открытой формы 3. ПолучитьРеквизиты - доступна только на сервере. Передать на сервер перехваченную открытую форму нельзя (если можно, жду пример)
#17 by FIXXXL
у тебя есть форма как объект? вызываешь серверную процу ЗыритьНаСервере(ФормаКакОбъект)
#18 by Fedor-1971
Пробуй примерно так: Возможно тут надо добавить твою универсальную процедуру (или пару одну НаКлиенте - для передачи контекста на сервер, вторую НаСервере - для разбора что чего и зачем) фрм.Процедура которая &НаСервере - твой контекст формы приехал на сервер тут его и жуй
#19 by Вафель
без вызова серверной процедуры из ФОРОМЫ никак не получится
#20 by Вафель
кстати можно послать кнопки через sendkeys
#21 by Fedor-1971
уж лучше подключить ОбработчикОжидания внутри формы и из него дёрнуть серверную процедуру
#22 by Windyhead
Ты путаешь форму с окном клиентского приложения. "ПолучитьОкна" получаешь коллекцию окон. у эллемента коллекции получаем содержимое. вернется массив объектов типа УправляемаяФорма или Форма. ну а дальше уже работаешь с их свойствами, хочешь на сервере хочешь на аклиенте
#23 by Windyhead
открой СП там все понятно расписано
#24 by Вафель
Это если в форме что-то есть. А если оно есть, то и так его можно дернуть
#25 by Вафель
Форму нельзя передать на сервер
#26 by FIXXXL
точно :( видел просто работу с формами в общих модулях, но были КЛИЕНТСКИЕ общие модуля вот и почудилось, что можно... если только пореквизитно передавать &НаСервере     РеквизитФ = "Я был на сервере!";      КонецПроцедуры
#27 by SeiOkami
Походу, что это сделать нельзя. Жаль(
#28 by DailyLookingOnASunse
На клиенте получаешь имена используемых форм. Запускаешь конфигуратор в пакетном режиме с выгрузкой конфигурации в файлы. По имени форм смотришь файлы, в них смотришь ветку Attributes - это реквизиты формы. Универсально, извратно, фишка.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям