|
COM-соединение - файловый и серверный варианты, есть разница?
| ☑ |
0
Midasu
05.05.14
✎
22:54
|
В процедуре записи справочника Медицина.Больница 1.1 (8.3 управляемое) создаю com-соединение к Отель (8.3 не управляемое).
В подключаемой базы данные должны дублироваться из текущей базы в справочник и 2 документа.
К файловой подключаюсь:
"File=""C:\Users\Midasu\Documents\InfoBase"";Usr=""Администратор"";Pwd="""";";
К серверной:
"Srvr=""localhost"";Ref=""medicine"";Usr=""Администратор"";Pwd="""";";
В обоих случаях подключаю:
V83COMConnector = Новый COMОбъект("V83.COMConnector");
Соединение = V83COMConnector.Connect(Параметры);
К файловой базе всё шуршит как надо и пишется.
Пытаюсь к серверной, ошибка:
Ошибка при выполнении обработчика - 'OnWrite' по причине:
{Catalog.Clients.ObjectModule(516)}: Ошибка при вызове метода контекста (СоздатьДокумент) по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.4.408): При подписке HL7ОтправкаДанныхГоспитализацииОбработкаПроведения на событие ОбработкаПроведения произошла ошибка. Обработчик события не найден.
Нужно ли использовать какие-то директивы? Если в отеле пишу &НаСервере, то процедуру просто не видит 1с-ка.
Что делать? В чём причина? Подскажите, пожалуйста.
|
|
1
Shamandafil
05.05.14
✎
23:06
|
В файловом режиме нет сервера и подписка выполняется внутри ком-соединения, которому видны также и модули отмеченные как серверные. В клиент-серверном режиме, модули подписки, возможно, не могут работать в режиме ком-соединения, т.к. не стоят соответствующие флажки.
|
|
2
Midasu
05.05.14
✎
23:11
|
(1)
Спасибо.
Т.е. получается, что когда я через com к файловой подключаюсь, она как бы работает в не управляемом интерфейсе? А когда к серверной базе, тогда она запускается в управляемом и не работают подписки?
А можно как-то при com-подключении тогда подключиться к базе в не управляемом интерфейсе? Я же могу в режиме толстого клиента подключиться к базе, которая на сервере лежит.
|
|
3
Shamandafil
05.05.14
✎
23:29
|
У ком соединения нет интерфейса, это отдельный режим работы с базой. Ком соединение ближе к толстому клиенту по постоянству соединения и затрачиваемым ресурсам; оно служит больше для совместимости.
Проверьте синтаксис базы (конфигурация/проверка конфигурации...), поставив флажки проверять для внешнее соединение и внешнее соединение вариант клиент-сервер, будут ошибки стоит исправить.
Или можно попробовать OLE для тонкого клиента Новый COMОбъект("V83c.COMConnector") , сам не проверял.
|
|