1c com объекты Недопустимая строка с указанием класса

  1. 9 г. назад

    ком объект не может соединится

    При попытке соедиения с COM-сервером произошла следующая ошибка:
    {Форма.Форма.Форма(91)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса

    regsvr32 "C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll"
    делал

    Ответы: (12)
  2. подключаешься на стороне сервера, или на клиенте?

    Ответы: (2) (6)
  3. (1) + переставь платформу

    Ответы: (4)
  4. я намедни мучался, падала эска при попытке коннекта по кому
    как оказалась был слегка изменен бакбас длл

  5. (2) +или доставить. Если пытаться подключиться (для обмена по сом, к примеру) из 8.2 к 8.3 или наоборот, то чот мне так подозреваются, что нужны обе платформы, и на клиенте и на сервере, если таковой есть.

    Ответы: (5)
  6. (4) зависит от того, на какой стороне подключаешься. там и должно быть

    Ответы: (7)
  7. (1)&НаСервере
    Функция ПодключитсяКИнформационнойБазе(СтруктураПодключения)

    Если СтруктураПодключения.ФайловыйРежим Тогда

    Если ПустаяСтрока(СтруктураПодключения.КаталогИБ) Тогда

    Сообщить("Не задан каталог информационной базы-приемника", СтатусСообщения.Важное);

    КонецЕсли;

    СтрокаПодключения = "File=""" + СтруктураПодключения.КаталогИБ + """";
    Иначе

    Если ПустаяСтрока(СтруктураПодключения.ИмяСервера) Тогда

    Сообщить("Не задано имя сервера 1С:Предприятия информационной базы-приемника", СтатусСообщения.Важное);

    КонецЕсли;

    Если ПустаяСтрока(СтруктураПодключения.ИмяИБНаСервере) Тогда

    Сообщить("Не задано имя информационной базы-приемника на сервере 1С:Предприятия", СтатусСообщения.Важное);

    КонецЕсли;

    СтрокаПодключения = "Srvr = """ + СтруктураПодключения.ИмяСервера + """; Ref = """ + СтруктураПодключения.ИмяИБНаСервере + """";


    КонецЕсли;

    Если Не СтруктураПодключения.АутентификацияWindows Тогда
    Если НЕ ПустаяСтрока(СтруктураПодключения.Пользователь) Тогда
    СтрокаПодключения = СтрокаПодключения + ";Usr = """ + СтруктураПодключения.Пользователь + """";
    КонецЕсли;
    Если НЕ ПустаяСтрока(СтруктураПодключения.Пароль) Тогда
    СтрокаПодключения = СтрокаПодключения + ";Pwd = """ + СтруктураПодключения.Пароль + """";
    КонецЕсли;
    КонецЕсли;

    ОбъектПодключения = СтруктураПодключения.ВерсияПлатформы;

    Попытка
    #Если Клиент Тогда
    Состояние("Идет процесс соединения ...");
    #КонецЕсли
    Если СтруктураПодключения.ТипПодключения = 0 Тогда
    ОбъектПодключения = ОбъектПодключения +".Application";
    ТекCOMОбъект = Новый COMОбъект(ОбъектПодключения);
    ТекCOMОбъект.Connect(СтрокаПодключения);
    Иначе
    ОбъектПодключения = ОбъектПодключения +".COMConnector";
    ТекCOMПодключение = Новый COMОбъект(ОбъектПодключения);
    ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения);
    КонецЕсли;

    #Если Клиент Тогда
    Состояние("Соединение установлено");
    Состояние();
    #КонецЕсли

    Исключение

    #Если Клиент Тогда
    Сообщить("При попытке соедиения с COM-сервером произошла следующая ошибка:" + Символы.ПС
    + ОписаниеОшибки(), СтатусСообщения.Важное);
    Состояние("Соединение установить не удалось");
    Состояние();
    #КонецЕсли

    Возврат Неопределено;

    КонецПопытки;

    Возврат ТекCOMОбъект;

    КонецФункции

    Ответы: (8)
  8. (5) не буду утверждать, я тупо обе платформы оставляю и там и там Чтобы не парится с НаСервере или НаКлиенте. Работает.

  9. Леопольд Роскошный &НаСервере

    на сервере ком-коннектор стоит? сервер х64 или х32? винда там какая?

    Ответы: (9) (10)
  10. (8) о, ты как всегда молодца, вспомнил, его-же (сома этого) надо в установке 64-х платформы отдельно отмечать.

  11. (8) винда 64 сервак

    Ответы: (12)
  12. пипец не знаю что делать...

    Ответы: (13) (23)
  13. (10) тогда тебе нужен ком-коннектор который х64, а ты писал про

    Леопольд Роскошный C:\Program Files (x86)

    Ответы: (14)
  14. 05.02.2015 19:02:52 отредактировано Идун

    (11) сделай изменить в программы и компоненты на 1С тырпыр который последний 1С 8.3 -х64 и добавь сома. Все.

  15. (12) да не стоит 32 1ска.

    Ответы: (15)
  16. (14) сервер х32?

    Ответы: (16)
  17. 05.02.2015 22:35:57 отредактировано Леопольд Роскошный

    (15) не 64.
    а установили х32

    Ответы: (17)
  18. (16) я ничё не понял. у тебя 1с сервер х32, или х64? у тебя путь к ragent полный какой?

  19. сервер х64
    а 1с ка установлена 32
    C:\Program Files (x86)\1cv8\8.3.5.1119\bin\

    Ответы: (19)
  20. Леопольд Роскошный а 1с ка установлена 32

    1с сервер?

  21. да

  22. тим есть?

    Ответы: (22)
  23. (21) сурьезно..

  24. 06.02.2015 09:23:08 отредактировано Идун

    (11) Леопольд, ты не читатель? Еще раз, иди на свой "сервер" и доставь компоненту COM на платформу 1С которая x64, по умолчанию, она не устанавливается, библиотеку внутрь кидает, но через regsvr - не работает, com-объект не создается. То какая у тебя "1с ка установлена 32" - похер, важно какой у тебя сервер 1С. Там твой код отрабатывает. Понял?

    Ответы: (24)
  25. (23) понял сервер тоже 32.
    переставлю вы выходные 64 может заработет.

    Ответы: (25)
  26. Леопольд Роскошный переставлю вы выходные 64 может заработет.

    на 1с сервер х64 нужен другой ключик, если что

  27. вообщем да ..

    Ответы: (27)
  28. (26) так у тебя ключ для сервака х32, как ты х64 поставить собрался? или ты через эмуль хочешь?

    Ответы: (28)
  29. (27) ты прав надо посмотреть договор, может поменяют.

  30. Если СтруктураПодключения.ТипПодключения = 0 Тогда
    //ОбъектПодключения = ОбъектПодключения +".Application";
    //ТекCOMОбъект = Новый COMОбъект(ОбъектПодключения);
    //ТекCOMОбъект.Connect(СтрокаПодключения);
    Иначе
    ОбъектПодключения = ОбъектПодключения +".COMConnector";
    ТекCOMПодключение = Новый COMОбъект(ОбъектПодключения);
    ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения);
    КонецЕсли;

    убрал Application все заработало...

    Ответы: (30)
  31. (29) естественно. COM - это вам не OLE

или зарегистрируйтесь чтобы ответить!