| 
    
        
     
     | 
    
  | 
Com-подключение к серверу 1С | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        suvolod    
     05.07.12 
            ✎
    10:32 
 | 
         
        Не могу понять в чем ошибка:
  
        вот так подключает (Результат = Истина): СтрокаПодключения="srvr=""1CV8-SERVER"";ref=""Trade_R"";usr=""user"";pwd=""123"""; C=Новый COMОбъект("V82.Application"); Результат = C.Connect(СтрокаПодключения); а вот так нет (ComОбъект=Неопределено): COMПодключение = Новый COMОбъект("V82.COMConnector"); COMОбъект = COMПодключение.Connect(СтрокаПодключения); погуглил тему... через комконнектор подключение к серверу вроде тоже должно работать (пользовалася всегда им). Почему-же тогда не получается?  | 
|||
| 
    1
    
        izekia    
     05.07.12 
            ✎
    10:45 
 | 
         
        два соединения подряд поднимаешь?     
         | 
|||
| 
    2
    
        suvolod    
     05.07.12 
            ✎
    10:49 
 | 
         
        Нет.. кажется начинаю разбираться. Вывел описание ошибки. Вот что пишет:
  
        Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Версия компоненты 'comcntr' (8.2.15.301) отличается от версии корневого модуля 'core82' (8.2.15.310) Сервак и клиент действительно разные. Точнее, на клиенте есть и 301, и 310 версия. Как мне указать в строке подключения, какую версию клиента использовать? И второе, почему тогда проходит инициализиция через V82.Application&  | 
|||
| 
    3
    
        izekia    
     05.07.12 
            ✎
    10:53 
 | 
         
        (") для кома кажется никак     
         | 
|||
| 
    4
    
        suvolod    
     05.07.12 
            ✎
    10:55 
 | 
         
        :(..........     
         | 
|||
| 
    5
    
        hhhh    
     05.07.12 
            ✎
    11:07 
 | 
         
        переустановить 1с, клиента, какой тебе нужно.     
         | 
|||
| 
    6
    
        эцп    
     05.07.12 
            ✎
    11:13 
 | 
         
        (2) regsvr32 "c:\Program Files\1cv82\8.2.15.310\bin\comcntr.dll"     
         | 
|||
| 
    7
    
        suvolod    
     05.07.12 
            ✎
    11:22 
 | 
         
        (5). Специфика задачи такова, что комп, из под которого запускается com-соеденинение, не обслуживается. Т.е. там стоит локальная база, которая вытягивает с серверной определенные данные, но обновление и обслуживание этой базы не планируется. Хочется ее просто поставить и забыть. А не бежать каждый раз переустанавливать клиента, когда меняется номер серверной версии. 
  
        Как лучше это сделать? Если я вместо комконнектора буду использовать v82.Application, чем это хуже? В гугле нашел вот это: http://www.1c-galaxy.ru/forum4/topic288417/ Получается, после выгрузки процесс v82.Application так и не закроется? Есть еще минусы по сравнению с комконнектором?  | 
|||
| 
    8
    
        yabes    
     05.07.12 
            ✎
    11:27 
 | 
         
        (7) А ты укажи в настойках бызы к которой подключаешься Версию 1С:Предприятия! Там сейчас написано 8.2 и он использует последнюю версию платформы, а ты напиши 8.2.301 или что там у тебя!     
         | 
|||
| 
    9
    
        suvolod    
     05.07.12 
            ✎
    11:31 
 | 
         
        решение половинчатое.. но спасибо за мысль. Как временная мера подойдет.     
         | 
|||
| 
    10
    
        Gobseck    
     05.07.12 
            ✎
    11:31 
 | 
         
        Закладка     
         | 
|||
| 
    11
    
        yabes    
     05.07.12 
            ✎
    11:36 
 | 
         
        (9) Напиши мне свой адрес, я тебе скину видео по этому поводу! Там рассматривается v82.Application и Com-соединения!     
         | 
|||
| 
    12
    
        suvolod    
     05.07.12 
            ✎
    11:42 
 | 
         
        chromo c. о. б. а. к. а майl.rу     
         | 
|||
| 
    13
    
        yabes    
     05.07.12 
            ✎
    11:44 
 | 
         
        (2) "И второе, почему тогда проходит инициализиция через V82.Application&" Потому что когда ты используешь V82.Application, то открывается еще одно независимое приложение 1С с платформой, которая на сервере, а когда ты пользуешься COM, то используется интерфейс текущий базы, а она у тебя запущена на последней версии платформы!     
         | 
|||
| 
    14
    
        yabes    
     05.07.12 
            ✎
    11:48 
 | 
         
        (12) отправил!     
         | 
|||
| 
    15
    
        izekia    
     05.07.12 
            ✎
    13:05 
 | 
         
        (7) раз в 10 будет все медленнее     
         | 
|||
| 
    16
    
        izekia    
     05.07.12 
            ✎
    13:08 
 | 
||||
| 
    17
    
        suvolod    
     05.07.12 
            ✎
    13:41 
 | 
         
        (14)Спасибо, сейчас посмотрю.
  
        Миста глючила, не мог зайти..  | 
|||
| 
    18
    
        suvolod    
     05.07.12 
            ✎
    13:55 
 | 
         
        (16) да ... судя по ссылке, v82.Application - это зло. 
  
        Уже просто интересно Получается: v82.Application - это полноценный OLE-сервер, но достаточно медленный и глючный. v82.COMconnector - это обрезанный OLE, который работает только через 1С (т.е. на делфи, например, этот объект не вызовешь), который требует синхронизации версий, но зато он очень быстрый. Так?  | 
|||
| 
    19
    
        izekia    
     05.07.12 
            ✎
    14:06 
 | 
         
        (18) нене комконнектор отовсюду работает, и это совсем не обрезанный оле, скорее всего разные люди их писали, или оле - это обертка над коннектором     
         | 
|||
| 
    20
    
        suvolod    
     05.07.12 
            ✎
    14:08 
 | 
         
        тогда мне непонятно, почему комконнектору нужно соответствие версий, а компаликейшену - нет.     
         | 
|||
| 
    21
    
        izekia    
     05.07.12 
            ✎
    14:09 
 | 
         
        (20) я им не пользуюсь и не знаю     
         | 
|||
| 
    22
    
        yabes    
     05.07.12 
            ✎
    14:16 
 | 
         
        (20) Посмотри видео! Там же это объясняется! Потому что когда ты используешь Application, то открывается еще одно независимое приложение 1С с платформой (а следовательно открывается та версия платформы, которая на сервере), а когда ты пользуешься COM, то используется интерфейс текущий базы (а текущая база у тебя открыта в последней версии платформы, которая не соответствует версии платформы на сервере)! Опять не понятно?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |