Имя: Пароль:
1C
Админ
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") , сам не проверял.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой