|
Обращение к реквизитам формы в УФ | ☑ | ||
---|---|---|---|---|
0
y-soft
26.06.17
✎
17:20
|
Господа! Как правильно обращаться к реквизитам формы в режиме управляемых форм?
Создал реквизит формы обработки (в "общих" реквизитах). В модуле объекта обращаюсь к нему "ЭтотОбъект.<ИмяРеквизита>". Ошибки не возникает. В модуле формы обращаюсь "Объект.<ИмяРеквизита>". Пусто. Делаю реквизит конкретной формы (в правом разделе дизайнера формы). В модуле объекта обращаться к этому реквизиту оно не желает. Задача-то собственно лишь отображать в форме обработки то, чем сейчас она занимается в модуле объекта, чтобы не скучно было, блин. |
|||
1
h-sp
26.06.17
✎
17:25
|
(0) реквизит формы не должен быть виден в модуле объекта
|
|||
2
dezss
26.06.17
✎
17:32
|
(0) после того, как что-то сделал в модуле объекта, сделай
ОбновитьОтображениеДанных на форме. |
|||
3
SSSSS_AAAAA
26.06.17
✎
19:20
|
(0) Для начала научиться различать реквизит формы и реквизит объекта.
|
|||
4
y-soft
27.06.17
✎
09:42
|
> после того, как что-то сделал в модуле объекта, сделай
> ОбновитьОтображениеДанных > на форме. В первом случае (реквизит объекта, если быть точнее) - не обновляется. Вообще может ли быть реквизит объекта доступен на клиенте в модуле формы? И подскажите pls, можно ли передавать от клиента к серверу ЭлементDOM (парсинг XML). На клиенте ведь может в принципе выполняться парсинг XML, на сервере тоже. Но когда верхний цикл парсинга делаю сначала на клиенте в модуле формы, потом передаю ЭлементDOM в модуль объекта, генерит ошибку отображения. Цель - отображать на форме текущее состояние, что он на данный момент парсит. |
|||
5
y-soft
27.06.17
✎
10:00
|
Или может я в принципе выбрал не тот подход.
Может, стоило весь парсинг начиная от пути файла делать на сервере в модуле объекта, а клиенту передавать лишь алерты, чтобы он отображал текущее состояние выполнения процедуры на форме? Как? |
|||
6
y-soft
27.06.17
✎
12:28
|
Еще попробовал реквизиты объекта (обработка) заюзать для хранения промежуточных данных, необходимых для модуля объекта. Фиг. Оказывается, их значения между вызовами не сохраняются. Напрашивается резонный вопрос: а зачем они тогда нужны?
|
|||
7
Numerus Mikhail
27.06.17
✎
12:34
|
(6) Если я правильно понял, ты каждый раз при вызове процедуры из модуля объекта делаешь РеквитиФормыВОбъект?
Чтобы потом сохранить их, надо еще обратно ЗначениеВДанныеФормы делать |
|||
8
dezss
27.06.17
✎
12:39
|
а ты посмотри в сторону фоновых заданий...может они тебе помогут с этим делом справиться...
|
|||
9
y-soft
27.06.17
✎
15:22
|
>зове процедуры из модуля объекта делаешь РеквитиФормыВОбъект?
Нет, так делал. ЭтотОбъект.<ИмяРеквизита> Позволяло. Бум иметь в виду. Спасибо. Что получиццо, нопейшу. |
|||
10
Имитация работы
27.06.17
✎
15:25
|
(9) Может не надо?
|
|||
11
y-soft
27.06.17
✎
16:44
|
Не получается.
Объявил реквизит объекта с именем КонтекстДанных тип СписокЗначений. В модуле объекта пишем: _КонтекстДанных=ДанныеФормыВЗначение(КонтекстДанных,Тип("СписокЗначений")); либо _КонтекстДанных=ДанныеФормыВЗначение(ЭтотОбъект.КонтекстДанных,Тип("СписокЗначений")); ругается на несоответствие типов (параметр номер 1). Аналогичная ошибка возникает при ЗначениеВДанныеФормы(_КонтекстДанных,ЭтотОбъект.КонтекстДанных); Как первый параметр преобразовать? |
|||
12
Numerus Mikhail
27.06.17
✎
16:49
|
(11) Погоди, если у тебя управляемые формы, то к модулю объекта ты можешь получить доступ только с объектом
То-есть как-то так, если я не путаю: РеквизитОбъект = РеквизитФормыВЗначение("Объект"); РеквизитОбъект.ТвояПроцедураИлиФункция(); ЗначениеВРеквизитФормы(РеквизитОбъект, "Объект"); |
|||
13
Вафель
27.06.17
✎
16:49
|
прогресс выполнения делается совсем не так.
Если встроенный в конфу - то через задание. если внешняя, то https://github.com/a-sitnikov/ExtForms-grdok/blob/master/Admin/ОбработкаНаСервереСИндикатором.epf |
|||
14
y-soft
27.06.17
✎
20:42
|
>РеквизитОбъект = РеквизитФормыВЗначение("Объект");
>РеквизитОбъект.ТвояПроцедураИлиФункция(); >ЗначениеВРеквизитФормы(РеквизитОбъект, "Объект"); Так вроде работает, но при возврате возникает ошибка отображения на некоторых типах, в частности ЭлементDOM. Всё понял. Дохлый номер. Прогресс бум делать по другому. Спасибо откликнувшимся. Тему можно считать закрытой. |
|||
15
Aleksandr N
28.06.17
✎
01:15
|
(0) Платформу 8.2 придумали 150 лет назад вместе с её управляемыми формами и прочими плюшками, а народ до сих пор её готовить не научился. Стыдно должно быть, господа.
(14) Не используйте в таких случаях модуль объекта в управляемом приложении. Просто переносите его методы в модуль формы или модуль менеджера с передачей всех необходимых параметров. |
|||
16
y-soft
28.06.17
✎
10:47
|
>вместе с её управляемыми формами
Кому нужны по сути эти управляемые формы? WEB-интерфейс это редкость с учетом тормозов интернета, а так просто досадное недоразумение, очередная стена, через которую перепрыгивать. >Не используйте в таких случаях модуль объекта в управляемом приложении Принципиальной разницы не вижу. Все обращения к базе данных идут с директивой &НаСервере, даже в модуле формы. То есть все равно возникнут проблемы при передаче параметров от процедуры &НаКлиенте к процедуре &НаСервере - будет та же ошибка отображения. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |