|
Туплю с клиент-сервером. Есть функция обработки строк в общем модуле | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
25.09.15
✎
00:07
|
Есть функция обработки строк в общем модуле, вызвана может быть с клиента и с сервера.
Модуль имеет галки Клиент и Сервер и ВызовСервера. ПРобовал разные директивы. Но с клиента видит только если процедура объявлена как &НаКлиенте. Почему? |
|||
1
Garykom
гуру
25.09.15
✎
00:50
|
экспорт
|
|||
2
hhhh
25.09.15
✎
01:58
|
(0) &НаКлиенте, &НаСервере в общем модуле не пишут. Эти слова только для модуля формы.
|
|||
3
Гений 1С
гуру
25.09.15
✎
14:15
|
(2) а, даже так?
|
|||
4
Гений 1С
гуру
25.09.15
✎
14:15
|
(1) ну что ты, я же не маленький
|
|||
5
Гений 1С
гуру
25.09.15
✎
14:15
|
(2) Кстати, а зачем они тогда там позволяются синтаксисом?
|
|||
6
Гений 1С
гуру
25.09.15
✎
14:16
|
(2) нет, думаю ты ошибаешься. вот если модуль с галкой клиент и сервер, как 1с будет знать, где выполнять процедуру - на клиенте или на сервере.
|
|||
7
Serginio1
25.09.15
✎
14:19
|
(6) Если вызов с клиента, то будет вызов на клиенте.
А клиент у тебя не УФ? |
|||
8
Mankubus
25.09.15
✎
14:20
|
смотри типовые модули с названием ...КлиентСервер
|
|||
9
Гений 1С
гуру
25.09.15
✎
14:25
|
(8) Посмотрел, там вызовы без директив указания место выполнения.
|
|||
10
Serginio1
25.09.15
✎
14:25
|
Если УФ должна галка стоять
Клиент (Управляемое приложение) |
|||
11
VikingKosmo
25.09.15
✎
14:26
|
(6) сервер не маленький, сам разберется, где ему выполнять.
|
|||
12
Гений 1С
гуру
25.09.15
✎
14:26
|
(11) а какие правила применяет?
|
|||
13
Гений 1С
гуру
25.09.15
✎
14:27
|
(10) вот у меня и стоит две галки.
|
|||
14
Serginio1
25.09.15
✎
14:28
|
А деректвы #Если Сервер Тогда
случайно нет? |
|||
15
VikingKosmo
25.09.15
✎
14:29
|
(12) ЕМНИП, если у ОМ стоят галки Клиент и Сервер, то компилит и там и там. А выполняет там, откуда пришел вызов. Если пришел с клиента, то на клиенте и выполнит, пришел с сервера, соответственно. Опять таки, по стандартам 1С, если ты хочешь, что бы в таком модуле выполнение шло только на клинте/сервере Если #ИмяДериктивы тебе в помощь
|
|||
16
Serginio1
25.09.15
✎
14:29
|
14+ Вернее #Если Клиент Тогда
|
|||
17
ssh-2013
25.09.15
✎
14:35
|
(0) может поэтому:
"Отсутствие директивы компиляции перед процедурой (функцией) означает использование директивы по умолчанию. Директивой по умолчанию является &НаСервере." |
|||
18
Mankubus
25.09.15
✎
14:37
|
(17) это для форм
|
|||
19
Гений 1С
гуру
25.09.15
✎
14:37
|
(18) нет
|
|||
20
Гений 1С
гуру
25.09.15
✎
14:38
|
(18) хотя да
|
|||
21
Ненавижу 1С
гуру
25.09.15
✎
14:38
|
это точно гений?
|
|||
22
rozer76
25.09.15
✎
14:39
|
Типовые посмотрите как там и разберитесь в общем модуле.
Серверные функции вынесите в серверный модуль. Клиентские в клиентский. |
|||
23
Гений 1С
гуру
25.09.15
✎
14:40
|
(22) одна фунцкия может юзаться и на клиенте и на сервере.
например, обработка строк. |
|||
24
DCKiller
25.09.15
✎
14:43
|
(21) да... законсервированный в 2008 году.
|
|||
25
Ненавижу 1С
гуру
25.09.15
✎
14:44
|
еще раз:
это УФ? какие галки стоят у модуля? |
|||
26
rozer76
25.09.15
✎
14:46
|
попробуй сбросить "вызов сервера" ибо она нужна только когда с клиента сервер дергаешь а тете или с клиента или с сервера надо только
|
|||
27
Гений 1С
гуру
25.09.15
✎
14:47
|
(25) все же описано в условии - общий модуль, в нем строковые функции, вызываться могут с клиента УФ и в серверных процедурах не с УФ.
|
|||
28
rozer76
25.09.15
✎
14:48
|
(26) + это в методе разработки указано http://its.1c.ru/db/v8std#content:2149184118:hdoc
|
|||
29
Гений 1С
гуру
25.09.15
✎
14:48
|
(26) да, вызов сервера тут вроде не зачем. Если только с клиента дергать процедуру, описанную &НаСервере в этом модуле.
|
|||
30
rozer76
25.09.15
✎
14:54
|
(29)
"Месье знает толк в извращениях" |
|||
31
Гёдза
25.09.15
✎
14:59
|
Клиент и Сервер и ВызовСервера.
одна галка лишняя |
|||
32
Ненавижу 1С
гуру
25.09.15
✎
15:14
|
(31) ну почему же, из внешнего соединения вполне возможен вызов сервера
|
|||
33
rozer76
25.09.15
✎
15:16
|
(32) внешнее соединение это типо "серверный контекст" и плюс есть отдельная галка
|
|||
34
Ненавижу 1С
гуру
25.09.15
✎
15:19
|
(33) внешнее соединение это COM
|
|||
35
rozer76
25.09.15
✎
15:20
|
(34) никто не спорит... галку "внешнее соединение" ОМ имеет также
|
|||
36
rozer76
25.09.15
✎
15:21
|
(35) + "ВызовСервера" и "внешнее соединение" это даже не рядом
|
|||
37
Сергиус
25.09.15
✎
15:30
|
(0)Общий модуль глобальный или нет?
|
|||
38
rozer76
25.09.15
✎
15:51
|
ТС пропал куда-то ... Видимо перечитывает лекции Арутюнова по УФ )
|
|||
39
Гений 1С
гуру
06.10.15
✎
16:41
|
гм. Опять таки столкнулся.
Есть модуль с галками Клиент, Сервер и ВызовСервера. Вызываю функцию Тест этого модуля. Функция Тест лазает на Сервер. Если объявить Текст как &НаСервере то из модуля клиента эта функция общего модуля не видна. Если объявить Текст без директив компиляции то из модуля клиента эта функция видна, но при вызове работает в контексте клиента. Вижу выход только в том, чтобы вызывать эту функцию из серверной функции формы. А по другому никак? |
|||
40
DTXyupyup
06.10.15
✎
17:06
|
(39) Перенести эту функцию в модуль без галки Клиент
|
|||
41
Гений 1С
гуру
06.10.15
✎
17:23
|
(40) кривовато со стороны платформы. Зачем тогда галка "Вызов сервера", не понимаю
|
|||
42
Ненавижу 1С
гуру
06.10.15
✎
17:25
|
(41) а зачем галка "Клиент"? как определить где искать?
Если ты еще поставишь галку "Внешнее соединение", то галка "Вызов сервера" отключится. А теперь подумай почему. |
|||
43
Ненавижу 1С
гуру
06.10.15
✎
17:26
|
+(42) хотя реализации клиент-сервера изначально кривая, начиная от "РеквизитФормыВЗначение"
|
|||
44
DTXyupyup
06.10.15
✎
20:08
|
(43) Есть варианты лучше?)
Когда разбирался с УФ, не понимал прикола. А сейчас вроде всё нравится. |
|||
45
Гений 1С
гуру
07.10.15
✎
01:36
|
(42) ну галка "Вызов сервера" как раз для того же, чтобы вызывать серверные функции с клиента, не?
|
|||
46
GROOVY
07.10.15
✎
01:46
|
(45) Ты сколько кодишь? Ну нереально, что ты не знаешь, что система производит предварительную компиляцию модулей для разных режимов работы, для сервера, для клиента, составляет таблицу видимых методов модуля для клиентского запроса и пр.
|
|||
47
2mugik
07.10.15
✎
05:23
|
(45)Он хочет сказать что если откомпилилось на клиенте и на сервере то вызывать с сервера нет смысла. Може правда галку вызов с сервера отключить.
|
|||
48
Ненавижу 1С
гуру
07.10.15
✎
10:14
|
(44) вариант есть, зачем так сложно управлять вызовом с клиента на сервер?
можно было так: Процедура НаКлиенте() ЧтотоНаКлиенте(); //передаем автоматически нужный контекст на сервер без всяких "РеквизитФормыВЗначение" НаСервере1(); НаСервере2(); //возвращаем нужный контекст на клиента автоматически СноваНаКлиенте(); КонецПроцедуры |
|||
49
Ненавижу 1С
гуру
07.10.15
✎
10:17
|
+(48) ВЕСЬ модуль формы мог жить тогда на клиенте, а на сервере был бы модуль объекта
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |