Как выносить серверные обработки форм из модуля формы?
☑
0
Хосе
26.04.17
✎
13:23
Если на форме нужно что-то обрабатывать на сервере, то можно вызвать серверную процедуру модуля формы, где будет доступен контекст формы.
А можно ли эту процедуру описать в общем модуле, так чтобы был доступен контекст формы? Или тупо копипастить в каждую форму?
Просто так Форму как параметр передать на сервер нельзя, возникает ошибка преобразования типов.
1
lodger
26.04.17
✎
13:25
по серверу можно невозбранно передавать туда-сюда Форму целиком.
2
Хосе
26.04.17
✎
13:36
(1) в серверный модуль не передается. Только в серверную процедуру, прописанную в модуле формы.
3
DmitrO
26.04.17
✎
13:43
сначала в серверный метод формы, а потом уже передавай в ее в общий модуль
4
Хосе
26.04.17
✎
14:06
(3) это криво
5
Рэйв
26.04.17
✎
14:08
(4)Почему это?
6
ejikbeznojek
26.04.17
✎
14:08
(4) Хочешь не криво,
не передавай форму
передавай структуру параметров формы)
7
Рэйв
26.04.17
✎
14:09
(4)Если у тебя не молотит этот код со скоростью мильен в секунду, то разово вполне нормально.
8
Хосе
26.04.17
✎
14:14
(5) (6) ну вы же понимаете, что это провоцирует вместо серверных процедур писать (копипастить) процедуры в модуле формы, бред.
9
Рэйв
26.04.17
✎
14:20
(8)Зачем чтото копипастить;, отправляй в общий модуль форму.
типа так
//--
&НаСервере
Процедура Команда1НаСервере()
Рез=ОбщегоНазначенияСервер.ЧтотоСделатьЭтаФорма);
Сообщить("Результат:"+Рез);
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
Команда1НаСервере();
КонецПроцедуры
10
Рэйв
26.04.17
✎
14:20
*ЧтотоСделать(ЭтаФорма)
11
Хосе
26.04.17
✎
22:31
(10) ладно, попробую
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший