|
Внешнее соединение. Подключение к серверной базе УФ. Подписка на событие | ☑ | ||
---|---|---|---|---|
0
NastyMosk
19.08.14
✎
07:53
|
Добрый день!
Очень нужна помощь. Выполняю подключение через Com соединение из базы обычного приложения к серверной базе на управляемом. В серверной базе программно записываю элемент справочника. Срабатывает подписка на событие - процедура с директивой &НаСервере. А при записи из внешнего соединения, я так понимаю, я нахожусь на клиенте. Вылетает соответственно ошибка "Произошла исключительная ситуация (1C:Enterprise 8.3.5.1068): Ошибка при выполнении обработчика - 'ПриЗаписи' Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ОбновлениеПредставлений ().". Получается, что он с клиента на сервер в качестве источника пытается передать объект. Как можно обойти этот момент? |
|||
1
ДенисЧ
19.08.14
✎
07:57
|
"при записи из внешнего соединения, я так понимаю, я нахожусь на клиенте"
При записи из внешнего соединения ты находишься во внешнем соединении. Соответственно этому нужно править код |
|||
2
ИС-2
naïve
19.08.14
✎
08:11
|
1) Нет ни какой разницы, что обычное приложение, что серверное
2) при ком соединении клиента нет. Возможен только сервер Если код написан нормально, то записывать в режиме обмена данными (ставим перед записью строку ОбменДанными.Загрузка = истина) |
|||
3
Defender aka LINN
19.08.14
✎
08:31
|
(2) "Возможен только сервер" - шта?
|
|||
4
Defender aka LINN
19.08.14
✎
08:31
|
(2) Ну и про обмен данными хорошая шутка, годная
|
|||
5
NastyMosk
19.08.14
✎
08:55
|
(1) то, что внешнее соединение это понятно. Я имею ввиду, что я данные с клиента на сервер передаю.
|
|||
6
NastyMosk
19.08.14
✎
09:01
|
(2) различие есть. При подключении к файловой базе не возникает такой проблемы, всё отрабатывает
|
|||
7
Defender aka LINN
19.08.14
✎
09:06
|
(5) Никера тебе не понятно. НЕТ у тебя никакого клиента.
|
|||
8
NastyMosk
19.08.14
✎
09:10
|
(7) Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ОбновлениеПредставлений (). разве это сообщение системы мне не говорит о том, что я нахожусь на клиенте?
|
|||
9
Defender aka LINN
19.08.14
✎
09:15
|
(8) В сообщении прямо так и говорится, "с клиента на сервер", rly?
|
|||
10
NastyMosk
19.08.14
✎
09:16
|
(9) Так и говорится, как я написала, я скопировала сообщение системы
|
|||
11
Сергиус
19.08.14
✎
09:32
|
(0) Для чего тебе нужен объект в ОбновлениеПредставлений()?
Может есть смысл переделать код..для Внешнего соединения..допустим передавать туда структуру. |
|||
12
ИС-2
naïve
19.08.14
✎
09:43
|
(3) если подключение идет через COM, то выполняется во внешнем соединении, оно уже может вызвать процедуру из сервера. А как оно породит клиента?
|
|||
13
NastyMosk
19.08.14
✎
09:49
|
(12) Внешнее соединение и толстый клиент записывают объект в клиентском контексте, а все остальные клиенты в серверном. Вот и получается, что у меня объект в клиентском контексте, а подписка в серверном.
|
|||
14
NastyMosk
19.08.14
✎
09:50
|
(11) Подписка эта типовая, я не понимаю как мне сделать так, чтобы он разграничивал и не пытался ее вызвать при внешнем соединении и как туда вклиниться, чтобы передать не объект, а структуру, я тоже не понимаю
|
|||
15
Сергиус
19.08.14
✎
09:55
|
(14) ОбновлениеПредставлений() у тебя прописано в качестве процедуры Подписки на события ПриЗаписиДокументов?
|
|||
16
NastyMosk
19.08.14
✎
09:57
|
(15) при записи справочников и документов
|
|||
17
Сергиус
19.08.14
✎
10:00
|
(16) У тебя есть возможность менять конфу в подключаемой базе? Если да, то можно в качестве эксперимента попробовать отключить документы из данной подписки и попробовать снова. По крайней мере будет понятно, в этом проблема или нет..
|
|||
18
Сергиус
19.08.14
✎
10:06
|
+(17)А вообще конечно вполне может быть глюком связки через COM обычного и управляемого приложений..
|
|||
19
NastyMosk
19.08.14
✎
10:08
|
(17) без подписки всё отрабатывает. Но мне нужно будет много разных объектов записывать в ту базу. Скорее всего внешнее соединение оставлю только для получения данных, а для выгрузки реализую другой способ
|
|||
20
Defender aka LINN
19.08.14
✎
11:10
|
(14) Обычно подписку делают доступной в режиме внешнего соединения.
|
|||
21
NastyMosk
19.08.14
✎
11:15
|
(20) при установке флага "Внешнее соединение" в модуле, где процедура подписки, он сразу спотыкается и не видит ее
|
|||
22
NastyMosk
19.08.14
✎
11:28
|
Переделала обработку под управляемое приложение и подключение выполняю из той базы, где подписки мне мешали
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |