|
с клиента на сервер | ☑ | ||
---|---|---|---|---|
0
FFrr1C
16.11.23
✎
14:04
|
Есть повсеместно использующаяся клиентская процедура с диалогами, задумал вынести её в общий модуль(клиент), но проблема в том, что в этой процедуре идёт обращение к реквизитам ссылки (серверу) а серверные функции этот модуль не видит, подскажите как разрулить?
|
|||
1
AlexeyKh
16.11.23
✎
14:07
|
поставьте у него галку: Вызов сервера
|
|||
2
asady
16.11.23
✎
14:07
|
(0) создай в своем общем модуле с галкой вызов сервера функцию которая разом соберет тебе все реквизиты без повторных обращений к серверу и передаст в виде структуры на клиента
|
|||
3
unenu
16.11.23
✎
14:09
|
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Код");
|
|||
4
unenu
16.11.23
✎
14:10
|
(2) ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Код,Наименование");
зачем велосипедить? |
|||
5
FFrr1C
16.11.23
✎
14:11
|
AlexeyKh, "Вызов сервера" в модуле только "Клиент" - не активно,
asady - нужно как то вызвать эту функцию серверную, но на модуле клиента (где все диалоги общие) эту функцию не видно.. |
|||
6
asady
16.11.23
✎
14:12
|
(4) если нужно собрать несколько таких наборов реквизитов - то придется делать несколько серверных вызовов - я же предложил сделать это с одним серверным вызовом
|
|||
7
asady
16.11.23
✎
14:14
|
(5) для чего тогда этот флаг сделали по-твоему.
пробуй. |
|||
8
timurhv
16.11.23
✎
14:15
|
(5) У вас должно быть два модуля
"ВашМодульКлиент" Из него получаете данные из модуля ниже "ВашМодульВызовСервера" |
|||
9
FFrr1C
16.11.23
✎
14:16
|
Упрощу немного,
в каждой форме диалог ПоказатьЗначение(,Знач), где Знач = Функция ? (Не ЗначениеЗаполнено(Ссылка.Владелец),Ссылка, Ссылка.Владелец) как разрулить общим модулем |
|||
10
unenu
16.11.23
✎
14:16
|
(6) велик с моторчиком? без проблем)
мСсылки = Новый Массив; ... ОбщегоНазначения.ЗначенияРеквизитовОбъектов(мСсылки, "Код,Наименование"); |
|||
11
FFrr1C
16.11.23
✎
14:17
|
в каждой форме диалог
Если КодВозвратаДиалога.Да тогда ПоказатьЗначение(,Знач) конецесли, где Знач = Функция ? (Не ЗначениеЗаполнено(Ссылка.Владелец),Ссылка, Ссылка.Владелец) |
|||
12
FFrr1C
16.11.23
✎
14:21
|
Функция НаКаждайФорме()
Если КодВозвратаДиалога.Да тогда ПоказатьЗначение(,Знач) конецесли конецфункции это клиентская функция которую нужно вынести в общий модуль, но там Знач = Функция ? (Не ЗначениеЗаполнено(Ссылка.Владелец),Ссылка, Ссылка.Владелец) соответсвенно серверная, и клиентский модуль не видит серверную функцию |
|||
13
asady
16.11.23
✎
14:23
|
(12) настоящий одноэснег!!!
оставайся таким. |
|||
14
FFrr1C
16.11.23
✎
14:28
|
(8) В ТОЧКУ!
Спасибо! |
|||
15
FFrr1C
16.11.23
✎
14:30
|
(8) Клиентская общая процедура видит Серверные процедуры но только из модуля с флагом (Вызов сервера)
|
|||
16
Donkey_hot
16.11.23
✎
14:36
|
(15) Практика - лучший учитель.
?(Не ЗначениеЗаполнено(Ссылка.Владелец),Ссылка, Ссылка.Владелец) - Сколько запросов к базе данных делает такой код, как думаете? И можно ли уменьшить? |
|||
17
FFrr1C
16.11.23
✎
14:40
|
Пер = Ссылка.Владелец;
?(Не ЗначениеЗаполнено(пер),Ссылка, пер) писал от балды для примера, а то народ понесло не туда.. |
|||
18
FFrr1C
16.11.23
✎
14:41
|
Хреново тут рейтингов помогателей нет
|
|||
19
Garykom
гуру
16.11.23
✎
18:07
|
Кстати название галки "Вызов сервера" путаное
Правильней ее обозвать "Разрешен вызов сервера" и привязать к галочке "Клиент" справа |
|||
20
lodger
16.11.23
✎
18:14
|
(19) ты сейчас тоже путаницы навел. не? причем тут флажок Клиент, если вся песня про Сервер?
2.2. Серверные общие модули для вызова с клиента содержат серверные процедуры и функции, доступные для использования из клиентского кода. Они составляют клиентский программный интерфейс сервера приложения. Такие процедуры и функции размещаются в общих модулях с признаком: Сервер (флажок Вызов сервера установлен) Серверные общие модули для вызова с клиента называются по общим правилам именования объектов метаданных и должны именоваться с постфиксом "ВызовСервера" (англ. "ServerCall"). Например: РаботаСФайламиСлужебныйВызовСервера, FilesOperationsInternalServerCall. Следует иметь в виду, что экспортные процедуры и функции в таких общих модулях не должны содержать параметров мутабельных типов (СправочникОбъект, ДокументОбъект и т.п.), так как их передача из (или в) клиентского кода невозможна. |
|||
21
Garykom
гуру
16.11.23
✎
18:32
|
(20) ну "Разрешен вызов с клиента" и привязать к галке "Сервер" справа
|
|||
22
Garykom
гуру
16.11.23
✎
18:33
|
Чисто технически это две разные галочки
Сначала проверка на клиенте, разрешено ли ему сервер вызывать Затем на сервере а разрешено ли принимать вызовы с клиента |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |