Имя: Пароль:
1C
1С v8
Как получить значение которое &НаКлиенте, с процедуры - &НаСервере?
,
0 TDI
 
19.04.12
10:10
В модуле формы, есть функция которая выполняется &НаКлиенте.
Можно ли из этого-же модуля, с процедуры которая выполянется &НаСервере, получить значение этой функции ?
1 pessok
 
19.04.12
10:11
Глобальный контекст.ПоместитьВоВременноеХранилище (Global context.PutToTempStorage)
Глобальный контекст (Global context)
ПоместитьВоВременноеХранилище (PutToTempStorage)
Синтаксис:

ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
Параметры:

<Данные> (обязательный)

Тип: Произвольный.
Данные, которые необходимо поместить во временное хранилище.
<Адрес> (необязательный)

Тип: УникальныйИдентификатор; Строка.
Адрес во временном хранилище, по которому надо поместить данные. Или уникальный идентификатор формы, во временное хранилище которой, надо поместить данные и вернуть новый адрес.
В случае, если передается УникальныйИдентификатор формы, то значение будет автоматически удалено после закрытия этой формы.
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
Возвращаемое значение:

Тип: Строка.
Если в параметре <Адрес> указан уникальный идентификатор формы, то после помещения значения во временное хранилище формы, возвращает адрес.
Данные возвращаются только после того, как фоновое задание будет завершено.
Описание:

Сохраняет сериализуемое значение во временное хранилище.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.

Примечание:

Также позволяет поместить данные из фонового задания в родительский сеанс. Для этого следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание.
2 Ненавижу 1С
 
гуру
19.04.12
10:12
(0) по идеологии это неправильно, я согласен
3 pumbaEO
 
19.04.12
10:12
Или делай реквизитом формы.
4 Defender aka LINN
 
19.04.12
10:13
Сделать ее &НаКлиентеНаСервере. А еще лучше - &НаКлиентеНаСервереБезКонтекста
5 Defender aka LINN
 
19.04.12
10:13
(1)-(3) Бгг...
6 Ненавижу 1С
 
гуру
19.04.12
10:14
(5) че за Бгг?
7 TDI
 
19.04.12
10:16
(4)
&НаКлиентеНаСервере
такого-же нет
8 zladenuw
 
19.04.12
10:18
(7)есть.
9 Defender aka LINN
 
19.04.12
10:21
(6) Вы вопроса ниасилили :)
10 Ненавижу 1С
 
гуру
19.04.12
10:22
(9) ну расскажи, умный ты наш ))
11 Defender aka LINN
 
19.04.12
10:23
(10) Ему функцию нужно вызывать
12 Ненавижу 1С
 
гуру
19.04.12
10:25
(11) я понял, как с сервера можно вызвать клиентскую функцию?
13 pessok
 
19.04.12
10:27
я только щас заново перечитал вопрос... и вот теперь уже ничего не понял :)
14 zladenuw
 
19.04.12
10:28
меняем у функции с &НаКлиенте на &НаКлиентеНаСервере. и спокойно вызываем ее на &НаСервере
15 andrewks
 
19.04.12
10:29
эх вы... всего-то надо было сказать:
(0) нет
16 Ненавижу 1С
 
гуру
19.04.12
10:29
(14) и она внезапно перестает работать
17 Ненавижу 1С
 
гуру
19.04.12
10:30
(15) см (2)
18 andrewks
 
19.04.12
10:30
(14) наивный ч-й малтчик
19 Defender aka LINN
 
19.04.12
10:30
(12) Никак, конечно
(14) ... если, конечно, мы не в форме это пишем. А (0) таки в форме, значит этот вариант пролетает.
Ну, и общие модули всегда есть, конечно.
20 andrewks
 
19.04.12
10:30
(17) в (2) много букв :)
21 aleks-id
 
19.04.12
10:30
попытка вызвать с сервера процедуру на клиенте говорит о том что ТС в кодинге полный дуб.
22 Defender aka LINN
 
19.04.12
10:31
(2) По какой идеологии неправильно иметь функции, которые будут работать и на клиенте и на сервере?
23 fisher
 
19.04.12
10:31
(4) Бггг. Я больше чем уверен, что проблема на самом деле не в клиентской функции, а в клиентских данных, несмотря на кривую формулировку сабжа.
24 Ненавижу 1С
 
гуру
19.04.12
10:31
(22) я не про то, но есть такие функции
25 aleks-id
 
19.04.12
10:32
(22) приведи пример, когда на сервере потребуется вызвать процедуру с клиента? и что мешает при проектировании предусмотреть такие косяки и написать код правильно а не через опу?
26 pumbaEO
 
19.04.12
10:33
(25) АуКлиентТыЗдеся?
27 andrewks
 
19.04.12
10:34
(26) и результат функции: ЗдесяАЧо?  :)
28 Defender aka LINN
 
19.04.12
10:35
(25) Прочти мои посты еще раз, прежде чем фигню нести. Лично я ничего вызывать не собрался, и тебе не советую.
29 fisher
 
19.04.12
10:36
(25) Такой возможности нет. Он об одновременной компиляции одной и той же функции как на сервере, так и на клиенте, насколько я понял. А это в отдельных ситуациях имеет смысл. Но не думаю, что в сабжевой.
30 aleks-id
 
19.04.12
10:36
(26)(27) бггг
и перечисление - Пациент.СкорееЖив и Пациент.СкорееМертв
31 aleks-id
 
19.04.12
10:37
(28)(29) вкурил
32 Defender aka LINN
 
19.04.12
10:38
(29) Ну, что у него там в функции - это уже другой вопрос.
33 andrewks
 
19.04.12
10:42
(29) а какой в этом может быть сакраментальный смысл? если функция оторвана от данных клиента, то действительно почему бы её не разместить в общем модуле, или модуле менеджера, например. а если привязана - то как она получит данные от клиента? через ВХ/рекв.формы? тогда смысл всей этой затеи, если это можно реализовать и так?
34 fisher
 
19.04.12
10:48
(33) Я на УФ не прожу практически, не сталкивался.
Но чисто гипотетически - если такая функция объявлена &НаКлиентеНаСервере и будет вызываться из серверной функции, которой в свою очередь уже передан контекст клиента, то она сможет работать с контекстом клиента. Или нет?
35 Defender aka LINN
 
19.04.12
10:52
(34) Чисто практически вопрос не имеет смысла, т.к. такая директива есть только в модуле команды