|
Передать ЭлементыФормы на сервер | ☑ | ||
---|---|---|---|---|
0
Shrek_yar
27.11.13
✎
12:52
|
Добрый день
Как можно передать на сервер "Элементы" (тип ЭлементыФормы) Пытаюсь переедать в параметр процедуры с директивой на СервереБезКонтекста. |
|||
1
dj_serega
27.11.13
✎
12:55
|
&НаСервереБезКонтекста нет доступа к форме.
Сделай &НаСервере |
|||
2
Shrek_yar
27.11.13
✎
12:56
|
Вот пример
ошибка
|
|||
3
Euguln
27.11.13
✎
12:56
|
(0) Передай в параметрах форму
|
|||
4
Shrek_yar
27.11.13
✎
12:56
|
[1] хотелось чтоб быстрее было.
так понятно. |
|||
5
Shrek_yar
27.11.13
✎
12:57
|
(3) Просто
так что ди? |
|||
6
Shrek_yar
27.11.13
✎
12:59
|
(3)
ошибка же
|
|||
7
Dzenn
гуру
27.11.13
✎
13:02
|
Форма не передаётся параметром между клиентскими и серверными процедурами.
|
|||
8
Shrek_yar
27.11.13
✎
13:04
|
(7) это ясно.
Значит элементы формы мне ни как не передать на сервер? |
|||
9
Shrek_yar
27.11.13
✎
13:05
|
(7)и придеться использовать &НаСервере
Здорово!!! |
|||
10
dj_serega
27.11.13
✎
13:06
|
(8) я ооооочень редко пользуюсь &НаСервереБезКонтекста.
|
|||
11
Shrek_yar
27.11.13
✎
13:07
|
(10)ну да, гонять туда - сюда все форму это правильно))))з
|
|||
12
Shrek_yar
27.11.13
✎
13:08
|
(10)но вопрос не в этом, хотел оптимизировать код
|
|||
13
Darth Anyan
27.11.13
✎
14:11
|
(11) летает не вся форма, а дельта с момента последнего изменения - остальное и так на сервере живет. Если нам нужно менять элементы - делаем серверный вызов и не мучимся :-)
Кстати, если посмотреть типовую БП 3.0, то там можно увидеть процедуры с директивой &НаКлиентеНаСервереБезКонтекста, которым параметром скармливается ЭтаФорма, соответственно, в коде процедуры обращение идет к свойствам параметра. Но это используется для исключения передачи контекста вообще. |
|||
14
Darth Anyan
27.11.13
✎
14:12
|
(12) а в чем проблема-то? Форма такая суровая и тяжелая?
|
|||
15
grayshadow
27.11.13
✎
14:15
|
закон парных случаев...
v8: Обработка заполнения тот же вопрос: ЗАЧЕМ надо передавать все элементы формы на сервер?:) |
|||
16
dj_serega
27.11.13
✎
14:21
|
(11) не приходилось еще не работать с формой на сервере :)
тоесть, как-то получается что в 90% мне нужна форма на сервере :) |
|||
17
grayshadow
27.11.13
✎
14:22
|
вы не поверите... форма существует и на сервере тоже...
|
|||
18
sikuda
27.11.13
✎
14:27
|
(17) И как она там выглядит? (Шучу, скорее <form>)
|
|||
19
grayshadow
27.11.13
✎
14:28
|
я не сказала, что ее там можно открыть:)
|
|||
20
fisher
27.11.13
✎
14:35
|
(13) А чуть поподробнее? В чем фишка? Когда удобно юзать эдакое? Что при этом происходит?
|
|||
21
Infsams654
27.11.13
✎
14:35
|
(17) спросите у 1С.
Это зло, в конфигураторе у объекта есть ветка формы, значит, и сама форма конкретного объекта есть на сервере |
|||
22
программистище
27.11.13
✎
14:38
|
(9) а какой смысл в безконтекста
если форма потащится итак на сервере в виде параметра? |
|||
23
grayshadow
27.11.13
✎
14:38
|
(13) >&НаКлиентеНаСервереБезКонтекста, которым параметром скармливается ЭтаФорма
а правда, нафига такие извращения?:) |
|||
24
Darth Anyan
27.11.13
✎
14:40
|
(20) а суть вот какая - пишем какой-то код, который будет работать и на клиенте, и на сервере, и при этом использует контекст формы. Директива &НаКлиентеНаСервереБезКонтекста позволяет определить процедуру, которая будет работать и на клиенте, и на сервере, но не имеет возможности использовать контекст сервера. Если не передавать форму параметром, придется либо держать 2 одинаковые процедуры (клиентскую и серверную), либо постоянно делать серверные вызовы.
В целом согласен - попахивает извратом :-) |
|||
25
grayshadow
27.11.13
✎
14:45
|
ясно, то есть они сами за***лись вызывать сервер:)))
|
|||
26
Darth Anyan
27.11.13
✎
14:56
|
не совсем. В серверном вызове ничего плохого нет :-)
Но вот есть у тебя, например, процедурка, которая играет доступностью элементов или активными страницами - это можно делать и на клиенте, и на сервере. И приспичило тебе ее вызвать, например, ПриСозданииНаСервере, причем так приспичило, что до ПриОткрытии дотерпеть нельзя. Вот чтобы не копипастить процедуру, и делают такой вот фокус :-) |
|||
29
GROOVY
27.11.13
✎
14:59
|
||||
30
fisher
27.11.13
✎
15:00
|
(24) В данном случае получается, что она как раз использует контекст формы. Т.к. на стороне сервера она может быть вызвана только из контекстной серверной процедуры, которая явно передаст ей ссылку на контекст.
Т.е. такой оксюморон получается. "БезКонтекста", но с контекстом :) Я так понял, что это эмуляция &НаКлиентеНаСервере, которая недоступна в модуле формы. |
|||
31
Sabbath
27.11.13
✎
15:02
|
(0)тебе прям там элементы нужны или их значения?
|
|||
32
GROOVY
27.11.13
✎
15:06
|
&НаКлиентеНаСервереБезКонтекста, при вызове из серверной процедуры не передаст контекста формы. По сути отработает как &НаСебвереБезКонтекста.
|
|||
33
Sabbath
27.11.13
✎
15:07
|
(32) это точно, откуда вызываешь, там и отрабатывает в таких случаях
|
|||
34
fisher
27.11.13
✎
15:09
|
(32) Дык ей из контекстной серверной процедуры ЭтаФорма передается через параметр. Т.е. работая через этот параметр фактически работаешь с контекстом формы, хоть и окольным путем.
|
|||
35
GROOVY
27.11.13
✎
15:13
|
(34) Так делать не рекомендуется.
Я бы вообще посоветовал не таскать форму с клиента никогда. Она и так елозит между клиентом и сервером при кучи разных событий. |
|||
36
GROOVY
27.11.13
✎
15:14
|
Вот, что есть про директивы компиляции http://goo.gl/oMYBcM текст был в свое время одобрен известным методистом фирмы 1С.
|
|||
37
fisher
27.11.13
✎
15:16
|
(35) Выше было сказано, что этот прием используется в типовых. Предполагается, что выполнение происходит в рамках "нужного" серверного вызова. А дублирования кода позволяет избежать.
Так что ничего криминального не вижу. Полезный прием в копилку. |
|||
38
Darth Anyan
27.11.13
✎
15:27
|
(37) я обычно такие приемы использую как индикаторы, если до них доходит, надо сесть и задуматься - а куда меня полет фантазии ведет :-)
|
|||
39
sikuda
27.11.13
✎
15:38
|
Из (36) Понравилось - нельзя делать расчета на клиенте, так как это может быть смартфон. Очень Вас уважаю, но я реально не представляю, что Гигигерцовый процессор смартфона не справиться с расчетом 100 строк...
|
|||
40
GROOVY
27.11.13
✎
15:40
|
(39) Нужно понимать, что данные все на клиенте не хранятся, при пересчете сотни строк они будут постоянно в двух направлениях синхронизироваться. Зачем создавать трафик? Можно же произвести 1 серверный вызов.
|
|||
41
GROOVY
27.11.13
✎
15:41
|
+40 и вопрос тут скорее не в производительности смартфона, а в канале связи.
|
|||
42
grayshadow
28.11.13
✎
07:52
|
(36) Groovy, спасибо за док! а существуют ли главы 02, 03 и т.д.?:) если это книжка, куплю...
и на курсы ваши съездила бы с радостью, кто бы оплатил командировку из Новосиба в Питер:) |
|||
43
Jolly Roger
28.11.13
✎
08:37
|
(39) ну дык кого-то же еще и информационная безопасность волнует...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |