Ошибка при вызове конструктора comобъект v77

   america2013

22.11.13 — 07:53

Доброго времени суток, уважаемые знатоки 1С !

Прошу помочь мне с такой проблемой (изначально я нашел похожее описание здесь: v8: Как из 8.2 через ком подключиться к 7.7 SQL, но потом пошел дальше). Изначально имею код:

    v7 = Новый COMObject(«V77.Application»);

    Пользователь = «админ»;

    Пароль =»админ»;

ПутьКБазе77 = «D:basesбаза2012»;

    v7.Initialize(v7.RMTrade,»/D» + ПутьКБазе77+ » /N»+Пользователь+» /P» + Пароль,»NO_SPLASH_SHOW»);  

        Спр = v7.СоздатьОбъект(«Справочник.Валюты»);

        Спр.Выбрать();

        
        Пока Спр.ПолучитьЭлемент() = 1 Цикл  

            Сообщить(Спр.Наименование);    

        КонецЦикла;

Цель у меня какая: подключиться к базе 7.7 из 8.2 и делать выборки некоторых объектов, как если бы я находился в Конфигураторе 7.7. На данный момент имею ошибку:

{Форма.Форма.Форма(31)}: Метод объекта не обнаружен (СоздатьОбъект)

        Спр = v7.СоздатьОбъект(«Справочник.Валюты»);

Что может быть не так?

   america2013

1 — 22.11.13 — 09:03

Строку

Спр = v7.СоздатьОбъект(«Справочник.Валюты»);

заменил на:

Спр = v7.CreateObject(«Справочник.Валюты»);

Ошибок нет, но 1с 8.2 стала просто зависать((((

Уважаемые, прошу, не проходите мимо!

   ДенисЧ

2 — 22.11.13 — 09:05

В каком месте виснет?

   america2013

3 — 22.11.13 — 09:05

При выполнении этой процедуры.

   Рэйв

4 — 22.11.13 — 09:11

И чего всех прет подключатся из 8.х к 7.7.?

из 7.7. к 8.х по СОМ намного удобнее же работать!

Мазохисты.

   anaed

5 — 22.11.13 — 09:13

(0) по твоей ссылке 9-ый пост v8: Как из 8.2 через ком подключиться к 7.7 SQL

может дело в  COMObject(«V77.Application»); вместо COMObject(«V1CEnterprise.Application»); ?

   america2013

6 — 22.11.13 — 09:18

(5) Менял

    v7 = Новый COMObject(«V77.Application»);

на

v7 = Новый COMObject(«V1CEnterprise.Application»);

результат прежний, ошибка остается:

{Форма.Форма.Форма(33)}: Ошибка при вызове метода контекста (CreateObject)

        Спр = v7.CreateObject(«Справочник.Валюты»);

по причине:

Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Валюты): 0

   Масянька

7 — 22.11.13 — 09:21

По уму нужно     v7.Initialize(v7.RMTrade,»/D» + ПутьКБазе77+ » /N»+Пользователь+» /P» + Пароль,»NO_SPLASH_SHOW»);   делать в Попытке. Попробуй, посмотри на результат.

7.7 стоит правильно — прописана в реестре и т.д.?

   ЧессМастер

8 — 22.11.13 — 09:22

(4) +100500

   ЧессМастер

9 — 22.11.13 — 09:22

(0) тебе принципиально подключатся к 77 из 82 ? сделай наоборот или подключайся к 77 по ОЛЕ

   america2013

10 — 22.11.13 — 09:25

(4) и (9) В моем случае база 8.2 одна, а 7.7 — несколько.

Я пробовал сделать:

    v7 = Новый COMОбъект(«V77.ComConnector»);

но получил ошибку:

{Форма.Форма.Форма(4)}: Ошибка при вызове конструктора (COMОбъект)

    v7 = Новый COMОбъект(«V77.ComConnector»);

по причине:

Недопустимая строка с указанием класса

Что не так?

(7) Пробовал и попытку, ошибка та же, про установку и реестр не в курсе, ставил не я.

   anaed

11 — 22.11.13 — 09:25

   Масянька

12 — 22.11.13 — 09:32

(10) То есть подключается без проблем?

   ДенисЧ

13 — 22.11.13 — 09:32

«V77.ComConnector»

Мечта…

   Рэйв

14 — 22.11.13 — 09:34

(13)+100

   бомболюк

15 — 22.11.13 — 09:35

попробуй уж зараз и

v7.EvalExpr(«СоздатьОбъект(«»Справочник.Валюты»»)»);

у меня помнится только так и работало.

   america2013

16 — 22.11.13 — 09:36

(12) Подключается без проблем СОМОбъект получаю.

(13) Я же описал в (10), что якобы не найден класс.

(11) и (15) Успел применить, но без результатно:

{Форма.Форма.Форма(2)}: Ошибка при вызове конструктора (COMObject)

    v7 = Новый COMObject(«V77M.Application»);

по причине:

Недопустимая строка с указанием класса

Заменил на предыдущую:

v7 = Новый COMObject(«V77.Application»);

{Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (EvalExpr)

        Спр = v7.EvalExpr(«CreateObject(«»Справочник.Валюты»»)»);

по причине:

Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Валюты): 0

   Рэйв

17 — 22.11.13 — 09:38

(16)>>Ошибка при вызове конструктора (COMObject)

У меня впечатление что ты запускаешь 77 по ярлыку с сервера, а на самой машине локально 77 у тебя нет.

Оно тогда такое и пишет.

   Guk

18 — 22.11.13 — 09:38

(16) а на кой тут EvalExpr использовать?…

   anaed

19 — 22.11.13 — 09:39

(16) Уже второй раз справочник не может создать, он там вообще есть нет?)))

   Guk

20 — 22.11.13 — 09:39

(17) если бы 77 не было, оно бы вообще не подключилось…

   Рэйв

21 — 22.11.13 — 09:40

(20)Так он и пишет, что ошибка конструктора

   america2013

22 — 22.11.13 — 09:40

(17), (20) Как устанавливалась 7.7 не в курсе, но вручную запустить и зайти в базу я могу и справочник такой конечно же есть.

   Guk

23 — 22.11.13 — 09:41

(21) он пишет, что ошибка создания справочника. я бы тоже самое написал на месте 77. но при этом соединение уже установлено, иначе оно раньше вывалилось…

   Guk

24 — 22.11.13 — 09:43

(22) я не спец конечно, но может попробовать

Спр = v7.CreateObject(«Справочник.Валюты»);

   hhhh

25 — 22.11.13 — 09:44

(23) он пишет Метод объекта не обнаружен (СоздатьОбъект). Это типично для отсутствия подключения.

   america2013

26 — 22.11.13 — 09:44

Пробовал другой объект создать, на данный момент имею код:

    v7 = Новый COMObject(«V77.Application»);

    Пользователь = «админ»;

    Пароль =»админ»;

    Попытка

        v7.Initialize(v7.RMTrade,»/D» + ПутьКБазе77+ » /N»+Пользователь+» /P» + Пароль,»NO_SPLASH_SHOW»);   //RMAccnt

    Исключение

        Сообщить(ОписаниеОшибки());

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

        Спр = v7.CreateObject(«Справочник.Банки»);    

Ошибка:

{Форма.Форма.Форма(34)}: Ошибка при вызове метода контекста (CreateObject)

        Спр = v7.CreateObject(«Справочник.Банки»);    

по причине:

Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Банки): 0

   Guk

27 — 22.11.13 — 09:45

(25) т.е. программист не проверяет, установлено у него соединение или нет? мне такое даже в голову придти не могло…

   Rie

28 — 22.11.13 — 09:46

(16) А инициализация-то — где?

   Rie

29 — 22.11.13 — 09:47

(26) Initialize не ошибку порождает, а выдаёт 1 или 0.

   Рэйв

30 — 22.11.13 — 09:47

Соединение =v7.Initialize(…….

   Рэйв

31 — 22.11.13 — 09:47

Спр = Соединение.CreateObject(«Справочник.Банки»);

   ЧессМастер

32 — 22.11.13 — 09:48

(16) у тебя подключение происходит ? ты в мониторе пользователей его видешь ?

   america2013

33 — 22.11.13 — 09:49

(27) Перед строкой

Спр = v7.CreateObject(«Справочник.Банки»);

получаю в отладчике:

Свойство  Значение      Тип

v7      COMОбъект    COMОбъект

   america2013

34 — 22.11.13 — 09:51

(32) В Мониторе вижу среди активных пользователей.

   Rie

35 — 22.11.13 — 09:52

(30) Соединение у тебя — это будет число. Поэтому (31) — нонсенс.

   america2013

36 — 22.11.13 — 09:54

Делал:

    Попытка

        Соединение = v7.Initialize(v7.RMTrade,»/D» + ПутьКБазе77+ » /N»+Пользователь+» /P» + Пароль,»NO_SPLASH_SHOW»);   //RMAccnt

    Исключение

        Сообщить(ОписаниеОшибки());

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

        Спр = Соединение.CreateObject(«Справочник.Банки»);    

Получил:

{Форма.Форма.Форма(34)}: Значение не является значением объектного типа (CreateObject)

        Спр = Соединение.CreateObject(«Справочник.Банки»);

   Рэйв

37 — 22.11.13 — 09:55

(35) да, с СОМ перепутал:-)

   ЧессМастер

38 — 22.11.13 — 09:55

(36) попробуй выполнить этот код с машины где точно установлена 1С 7.7

   Масянька

39 — 22.11.13 — 09:55

Рабочий код (правда под 8.1), работает по сей день:

Процедура ПодключитьсяНажатие(Элемент)

    
    БД = «»;

    
    БД = Новый COMОбъект(«V77.Application»);

    
    Попытка

        СтрокаПодключения = «/D»»» + СокрЛП(ПутьКБазеДанных) + «»»/N»»» + СокрЛП(Пользователь) + «»» /P»»» + СокрЛП(Пароль) + «»»»;

        Открыта = БД.Initialize(БД.RMTrade, СтрокаПодключения, «NO_SPLASH_SHOW»);

        Если Открыта Тогда

            ЕстьПодключение = Истина;

            ЭлементыФормы.СообщениеОПодключении.Заголовок = «База успешно подключена.»

        Иначе

             Предупреждение(«Ошибка при подключении!»);

            ЕстьПодключение = Ложь;

        КонецЕсли;

    Исключение

         Предупреждение(«Ошибка при подключении!»);

        ЕстьПодключение = Ложь;

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

    
КонецПроцедуры

   Rie

40 — 22.11.13 — 09:56

(36) Initialize выдаёт _число_!!!

Если Соединение=1 Тогда

    Спр = v7.CreateObject(…..

   america2013

41 — 22.11.13 — 09:59

(39) С подключением и инициализацией у меня проблем нет, проблемы начинаются, когда в этом подключении начинаю создавать объекты.

   Масянька

42 — 22.11.13 — 10:00

(41) Господи! Да как же тяжело с вами…..

Тебе «Открыта = БД.Initialize(БД.RMTrade, СтрокаПодключения, «NO_SPLASH_SHOW»);», что возвращает?

   america2013

43 — 22.11.13 — 10:05

(42) Ошибка при подключении

   Масянька

44 — 22.11.13 — 10:06

(43) Слава Богу! Еще вопросы есть? Иди рой — как установлена 7.7.

   George Wheels

45 — 22.11.13 — 10:15

ПутьКБазе в строке подключения возьми в кавычки.

В отладчике должен увидеть:

/D»D:basesбаза2012″ /Nадмин /Pадмин

   america2013

46 — 22.11.13 — 10:23

(44) Переустановил платформу, удалил базу из списка, добавл снова, ошибка прежняя:

(45) Строку подключения имею в виде:

/D»D:basesбаза2012″ /Nадмин /Pадмин

(то есть так же)

Ошибка в подключении(((

   america2013

47 — 22.11.13 — 10:24

Взял в «» пользователя и пароль, то же самое.

   hhhh

48 — 22.11.13 — 10:24

(46) какую переустановил? 7.7?

   Масянька

49 — 22.11.13 — 10:25

(460 как переустановил платформу?

   america2013

50 — 22.11.13 — 10:25

(48) Переустановил 7.7. Просто по верху запустил установщик.

   Масянька

51 — 22.11.13 — 10:28

(50) Wind’а какая стоит?

   america2013

52 — 22.11.13 — 10:30

(50) Windows 7 Домашняя базовая

   hhhh

53 — 22.11.13 — 10:31

(50) поищи V77.Application в реестре windows

   hhhh

54 — 22.11.13 — 10:32

(52) почему домашняя. Поставьте нормальный windows

   Масянька

55 — 22.11.13 — 10:35

(52) Не знаю точно, но — тут могут быть проблемы. Домашняя базовая — урезана по куче всего.

А сама 7.7 точно запускается на этом же компе?

   america2013

56 — 22.11.13 — 10:37

(55) Запускается на этом компе

(53) Есть в реесте (если нужно)

HKEY_CLASSES_ROOTV77.Application

HKEY_CLASSES_ROOTWow6432NodeCLSID{63112D80-94F0-11D2-9F39-008048DA120F}

HKEY_CLASSES_ROOTWow6432NodeCLSID{63112D80-94F0-11D2-9F39-008048DA120F}ProgID

HKEY_LOCAL_MACHINESOFTWAREClassesV77.Application

HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeCLSID{63112D80-94F0-11D2-9F39-008048DA120F}

   america2013

57 — 22.11.13 — 10:41

Пробовал на другом компе (Видовс 7 Проф), 8.2 и 7.7 установлена цивильно, ошибка при подключении.

   Масянька

58 — 22.11.13 — 10:46

(56) 64 бита?

   Масянька

59 — 22.11.13 — 10:54

В реестре найди — HKEY_CURRENT_USERSoftware1C1Cv77.7Titles — что там в путях?

   america2013

60 — 22.11.13 — 11:50

(58) Да, 64.

(59) Есть ветка:

HKEY_USERSS-1-5-21-1419102363-2094869754-1374439945-1000Software1C1Cv77.7Titles

Параметр:

D:basesбаза2012

Значение:

(рабочая)

   dk

61 — 22.11.13 — 11:56

я пропустил или не было информации 8-ка файловая или скульная?

   america2013

62 — 22.11.13 — 11:58

1С:Предприятие 8.2 (8.2.18.96)

База на SQL-сервере.

   dk

63 — 22.11.13 — 12:02

базу 7.7. над прописать для виндового юзера, под которым сервер 1с крутится

на винде где сервер 1с крутится

   Масянька

64 — 22.11.13 — 12:03

(60) И как 7.7 переустанавливал?

   america2013

65 — 22.11.13 — 12:05

Просто запустил установщик (по верху). Не удалял перед этим, т.к. куча прописанных баз. Обязательно сносить всё перед повторной установкой?

   Масянька

66 — 22.11.13 — 12:07

(65) Подробнее: какой установщик?

   america2013

67 — 22.11.13 — 12:12

(66) Какой на предприятии дали : ) У всех такой стоит. Но на стандартный из коробки мало похож.

   america2013

68 — 22.11.13 — 12:16

…пытался из своих запасов установить (коробка, диск, 1с 7.7, 7.70.027), но ругается на версию Виндовс((((((

   hhhh

69 — 22.11.13 — 12:39

(68) так эта штука из (0), она наКлиенте или НаСервере?

   america2013

70 — 22.11.13 — 12:47

(69) 8.2 запускается на клиенте, никаких директив не указываю, база 8.2 лежит на сервере, на компе-клиенте лежит база 7.7, к ней пытаемся подключиться.

Строка подключения верного формата:

/D»D:basesбаза2012″ /N»админ» /P»админ»

Нужны ли эти все кавычки?

   dk

71 — 22.11.13 — 12:52

(70) а почему думаешь, что на клиенте?

создай файловую и там проверь, вот это будет на клиенте точно ))

   Масянька

72 — 22.11.13 — 12:53

(70) На каком сервере и на каком компе? Они разные (физически)?

   hhhh

73 — 22.11.13 — 13:02

(70) не где запускается 8.2, а эта процедура, что там написано? И в каком модуле она?

   George Wheels

74 — 22.11.13 — 13:16

(70) D:basesбаза2012 — это на сервере или на твоём компе?

   america2013

75 — 22.11.13 — 13:26

База 7.7 локальная, на моем компе (к ней жажду подключиться), база 8.2 на сервере (по сути не нужна). Сама процедура во внешней обработке в модуле формы.

   dk

76 — 22.11.13 — 13:30

уже сотка не за горами, а автор все еще не впиливает

   Масянька

77 — 22.11.13 — 13:32

(76) Сегодня такая традиция….

   america2013

78 — 22.11.13 — 13:39

У меня был опыт подключения базы SQL 1с 8.2, также из базы на SQL 1с 8.2, вся разница была в строке подключения (сервер, кластер), но что здесь может быть не верно указано:

    v7 = «»;

    v7 = Новый COMObject(«V77.Application»);

    Пользователь = «админ»;

    Пароль =»админ»;

    Попытка

        СтрокаПодключения = «/D»»» + СокрЛП(ПутьКБазе77) + «»» /N»»» + СокрЛП(Пользователь) + «»» /P»»» + СокрЛП(Пароль) + «»»»;

        Открыта = v7.Initialize(v7.RMTrade, СтрокаПодключения, «NO_SPLASH_SHOW»);

        Если Открыта Тогда

            ЕстьПодключение = Истина;

            ЭлементыФормы.СообщениеОПодключении.Заголовок = «База успешно подключена.»

        Иначе

            Предупреждение(«Ошибка при подключении!»);

            ЕстьПодключение = Ложь;

        КонецЕсли;

    Исключение

        Предупреждение(«Ошибка при подключении!»);

        ЕстьПодключение = Ложь;

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

Строка подключения (в отладке) имеет вид:

/D»D:basesбаза2012″ /N»админ» /P»админ»

   america2013

79 — 22.11.13 — 13:49

Попытка-Исключение — обязательно? Если без попытки, то Открыта возвращает — Истина, но после строк:

        Спр = v7.CreateObject(«Справочник.Валюты»);    

        Спр.Выбрать();

На долго зависает, хотя в справочнике Валюты не более 10 элементов.

Может быть его надо потом как-то закрывать?

   George Wheels

80 — 22.11.13 — 13:53

(79) В Исключение используй ИнформацияОбОшибке().

Проверка на открытость не нужна. Если база не откроется, то сработает Исключение.

   George Wheels

81 — 22.11.13 — 13:55

(79) Закрывать нужно v7.

v7 = «» или v7 = Неопределено

   George Wheels

82 — 22.11.13 — 14:00

(81) + Если не закроешь, то процесс зависнет в памяти и закроется только после выхода из 8.2. Поэтому при втором запуске обработки подключение к базе не произойдет.

И ещё если 77 закроется неправильно, то придётся её запускать в монопольном режиме.

   Масянька

83 — 22.11.13 — 14:05

(79) У себя на компе запусти «Диспетчер задач» — там нет зависших сеансов 7.7?

   america2013

84 — 22.11.13 — 14:23

Благодарю вас, дорогие мои, что до сих пор уделяете внимание : ) Но правда, не в состоянии я самостоятельно сообразить(((

Есть прогресс!!!

(83) Каждый раз при неудачной попытке проверяю диспетчер, про 1с 7.7 все чисто.

На данный момент код значительно упростился и работает без ошибок:

    v7 = «»;

    v7 = Новый COMObject(«V77.Application»);

    Попытка

        СтрокаПодключения = «/D»»» + СокрЛП(ПутьКБазе77) + «»» /N»»» + СокрЛП(Пользователь) + «»» /P»»» + СокрЛП(Пароль) + «»»»;

        Открыта = v7.Initialize(v7.RMTrade, СтрокаПодключения, «NO_SPLASH_SHOW»);

    Исключение

        Сообщить(ИнформацияОбОшибке());

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

        Спр = v7.CreateObject(«Справочник.Валюты»);    

        Спр.Выбрать();

    v7 = «»;

И что же я в итоге увидел: открылась форма списка справочника 7.7 ! Где я просил её открыться? Потом заменил строку:

Спр.Выбрать();

на

Спр.ВыбратьЭлементы();

И… все заработало. Как надо. Последний вопрос — теперь в конфигураторе 8.2 буду писать синтаксис из 7.7 ?

   america2013

85 — 22.11.13 — 14:26

…даже сетевые папки видит:

ПутьКБазе77 = «\192.168.0.239база»;

   america2013

86 — 25.11.13 — 10:27

Подключение к базе установлено.

Использую код:

    ВыбДок = v7.CreateObject(«Документ.СчетФактура»);    

    
    
    ВыбДок.ВыбратьДокументы(НачПериода, КонПериода);

    
    Пока ВыбДок.ПолучитьДокумент() = 1 Цикл  

        Сообщить(ВыбДок.НомерДок);

    КонецЦикла;

где, начДата и конДата — реквизиты на форме 8.2.

Документы выводятся ВСЕ, но не за период начала и окончания.

Подскажите пожалуйста, как из этого подключения выбрать документы за определенный период?

  

america2013

87 — 25.11.13 — 10:28

*где, НачПериода и КонПериода — реквизиты на форме 8.2

 0 

   

Распечатать

1С 7.x : Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается

Подключение к 7.7 через OLE в регламентном задании из 8.2
Если во время выполнения задания, при попытке подключиться через OLE из 8.2 к 7.7 возникает ошибка:
Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.

поможет следующее

Пуск — Выполнить — DCOMCNFG.
«Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Настройка DCOM».
V77.GeneralPropPage и V77.SalaryPropPage.
На закладке «Безопасность» установить необходимые права для того, от чьего имени запускается сервер 1С (8.2)

1

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Необходимо сравнить данные в трех базах: УТ 10.3, БП 2.0 и Бух 7.7
Хочу использовать для этого COM-подключение к базам 7.7 и 2.0 из УТ.
Если базы поставить на Win XP, то COM-подключение работает.

Начинается лето и некоторое время я хотел поработать на даче. Перенес базы на ноутбук с Win 8.1. Отдельно все базы доступны и с ними можно делать что угодно. Но COM-подключение не работает :(

Выдается ошибка:
Ошибка при вызове конструктора (COMОбъект)
БазаОлеТек= Новый COMОбъект(«V77.Application»);
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается

Что можно (нужно) сделать чтобы все-таки COM-подключение заработало ?

Платформа 7.7 устанавливалась копированием.
Для УТ и БП использовалась платформа 8.2 и 8.3

Консультант 1С

Дата регистрации: 06.09.2008
Сообщений: 300

pentanom пишет:

Цитата
Платформа 7.7 устанавливалась копированием

Я впервые слышу об установке копированием.
Почему бы не установить штатно?

Рисовод

Дата регистрации: 26.12.2007
Сообщений: 25775

Геннадий Новосибрск пишет:

Цитата

              pentanom пишет:

Цитата
Платформа 7.7 устанавливалась копированием

Я впервые слышу об установке копированием.
Почему бы не установить штатно?

но бесплатно … :-)

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Геннадий Новосибрск, На Win 8 (а также и на Win 7) штатно не устанавливается :(
Почитайте об этом в интернете

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Рисовод, Про «бесплатно» не понятно. Из установочного комплекта 7.7 в Win 8 не устанавливается :(
Рекомендуют установить платформу на XP, а потом скопировать каталог, в который установлена 7.7, скопировать на компьютер с Win 8.
Так и было сделано. Отдельно все базы доступны работают, а COM-подключение не работает.
И причем здесь «бесплатно» ?

Консультант 1С

Дата регистрации: 06.09.2008
Сообщений: 300

pentanom пишет:

Цитата
Геннадий Новосибирск , На Win 8 (а также и на Win 7) штатно не устанавливается
Почитайте об этом в интернете

Как-то странноватенько — задавать один вопрос, под которым закамуфлирован на самом деле — другой, для разгадывания которого отсылать в интернет без конкретных ссылок

Там же в интернете и пишут — что делать… надо было очень постараться, чтобы понять это так, чтобы не работало и не устанавливалось…
Первые 2 самых очевидных способа, среди множества других без установок копированием, которые находятся сразу поиском в интернете:

  • поднять виртуальную машину с Windows XP из под Windows 8.1 и там всё устанавливать без копирования
  • в свойствах файла запуска в разделе Совместимость отметить:
    — запустить программу в режиме совместимости c:
    Windows XP (Пакет Обновления 3)
    — Выполнять эту программу от имени администратора

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Геннадий Новосибирск, Вопрос был: «Что можно (нужно) сделать чтобы все-таки COM-подключение заработало ? «
И хотелось бы получить ответ на этот вопрос.
А если вы что-то советуете по поводу установки 7.7 на Вин 8, то сначала попробуйте сделать это.
А если нечего ответить на мой вопрос, то и не надо отвечать вообще.

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Копировать нужно в каталог Program Files (x86). Тогда COM-подключение работает. В XP можно копировать в любое место (хотя можно и установить из установочного комплекта).

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Цитата
В XP можно копировать в любое место

Это от того, что теперь есть разница между х86 и х64 приложениями. К какой категории относится 7.7 думаю сами догадаетесь… :)

pentanom

Дата регистрации: 09.04.2014
Сообщений: 40

Денис (САМАРА), теперь -то все умные. А что бы вначале об этом не сказать ?
Лучше подскажите как эту тему закрыть.

Читают тему:

0

14.08.2015 — 14:16


Какая-то хрень с подключением к 7-м базам из 8.3.
Открываю интерактивно обработку в базе 8.3 и запускаю на выполнение. Подключение к 7-м базам происходит нормально. Если Запускаю базу с обработкой из командной строки, выдает ошибку подключения к 7-м базам: Не удалось загрузить обороты из базы 1С 7.7 ООО «Агонда». ({Форма.Форма.Форма(1636)**: Ошибка при вызове конструктора (COMобъект): -2147467262(0x80004002): Интерфейс не поддерживается ) и так по всем.

Вот команда запуска: «C:Program Files (x86)1cv88.3.6.2014bin1cv8c.exe» ENTERPRISE /SSaturnConsolidation_3_0 /N»robot» /P»Password» /Execute «D:Archiv_1CZagruzkaOborotov.epf» /DisableStartupMessages /C»AUTO_NIGHT»

Вот код подключения к 7.7:
ДБ = Новый COMобъект(«V77S.Application»);
СтрокаИнициализации = «/D»»»+База77+»»» /N»»»+Логин1С+»»» /P»+Пароль1С;
Если ДБ.Initialize(ДБ.RMTrade,СтрокаИнициализации,»NO_S PLASH_SHOW»)=ИСТИНА Тогда
СтрСообщения = «Подключена база 1С-7.7 «+Фирма+».»;
Сообщить(СтрСообщения);
Иначе
СтрСообщения = «!Не удалось подключиться к базе 1С-7.7 «+Фирма+».»;
Сообщить(СтрСообщения);
КонецЕсли;

Куда копать? Где собака порылась?

1

14.08.2015 — 14:36

1) 1С77 как устанавливалась?
Сетапом екзе, или просто каталог БИН скопировали?
Точно SQL-ный движок 77 установлен?

2) До и после /D, /N, /Р попробуйте поставить пробелы.

2

14.08.2015 — 14:43

1) Сетапом. Там все нормально, в реестре зарегистрированы V77 и V77S. Да и не работало бы подключение вообще. А так не работает только с программного запуска базы с обработкой. Если интерактивно открыть базу и обработку и нажать Выполнить — все тип-топ.
2) Попробую, но что-то не уверен в успехе. Один и тотже код подключения отрабатывает.

3

14.08.2015 — 14:51

2-US1C >
1) Интерактивно открываете под этим же пользователем?
2) Попробуйте в базе 77 дать этому пользователю права на OLE Automation, может поможет…
3) В журнале регистрации 7.7 ничего полезного не пишется при этой неудачной попытке подключения, случайно?

4

14.08.2015 — 14:55

А, пардон…
Не прочитал про то, что интерактивно всё работает…
Тогда 1) и 2) отменяются…

5

14.08.2015 — 15:04

(1) Кажется сработал вариант с пробелами до и после. Уже к 5-и базам нормально подключилась.
Потестю еще и отпишусь.
Спасибо!

6

17.08.2015 — 11:16

Не-а, не взлетело.
Когда запустил батник ручками — все ОК.
А когда батник был запущен планировщиком по расписанию, такую же ошибку выдавал при подключении к 7-м базам.

7

17.08.2015 — 11:44

А когда батник был запущен планировщиком по расписанию — какой планировщик используется? Регзадания?

8

17.08.2015 — 11:50

(7) Виндовый

9

17.08.2015 — 11:52

В эту сторону посмотри:

Глобальный контекст (Global context)
УстановитьБезопасныйРежим (SetSafeMode)
Синтаксис:

УстановитьБезопасныйРежим(<БезопасныйРежим>)
Параметры:

<БезопасныйРежим> (обязательный)

…..

В безопасном режиме:
игнорируется привилегированный режим;
запрещены внешние по отношению к платформе 1С:Предприятия действия: COM; загрузка внешних компонентов; запуск внешних приложений и команд операционной системы; доступ к файловой системе, кроме временных файлов; доступ к Интернету.

10

17.08.2015 — 11:52

(8)
запускается с админ. правами?

11

17.08.2015 — 12:12

(10) Задание выполняется от моей учетной записи. Плюс установил флажок «Выполнить с наивысшими правами».

12

17.08.2015 — 12:27

Проверь всё же что вернёт БезопасныйРежим() перед созданием COM

13

17.08.2015 — 12:38

(12) Боюсь, что ничего не вернет. У меня подключение происходит на тонком клиенте в процедуре &НаКлиенте. А там этот метод не работает.

14

17.08.2015 — 12:58

+ в строке ENTERPRISE /SSaturnConsolidation_3_0 /N»
описка?
ENTERPRISE /S «SaturnConsolidation_3_0« /N»….

15

17.08.2015 — 13:25

(14) Нет, не описка. Без кавычек запускает базу. Тут все нормально.

16

17.08.2015 — 13:46

Кстати, да.
В строке запуска 1С8 тоже бы пробелов добавить до и после ключей…

17

17.08.2015 — 14:31

(16) Вряд ли в этом причина. База-то запускается нормально и обработка открывается на выполнение.

пытаюсь подключится к базе 7.7 с помощью на некоторых машинах все проходит нормально, но на нескольких возникает ошибка: » Ошибка при вызове конструктора (COMОбъект): Ошибка при выполнении приложения-сервера                V7 = Новый COMОбъект(«V77.Application»); по причине: Ошибка при выполнении приложения-сервера » куда копать? и еще — на тех машинах нет службы компонентов V77.GeneralPropPage, но на другой машине, где тоже нет этй службы все работает…

а для запуска кома не достаточно скопировать папочку с каталогом программы..

и служба тут не причем. в реестре есть отдельная ветка классов. вот там надо, чтобы было прописано.

не понял, что значит «скопировать папочку с каталогом программы» устанавливаю как обычно — запускаю setup, локальная установка и т.д

поищи в реестре зарегистрирован ли подобный класс..

какой класс? V77.GeneralPropPage в реестре прописан

ничего не понимаю… сделал на одной машине «V77s.Application» — заработало. но на другой машине такой класс в реестре не прописан. импортировал описание класса в реестр. заработало… когда появляется описание «V77s.Application» в реестре? 7.7 переустанавливал

сделал V7 = Новый COMОбъект(«V77s.Application»);

Тэги:

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове конструктора comобъект 2147467262
  • Ошибка при вызове конструктора comобъект 2147221005 0x800401f3
  • Ошибка при вызове конструктора comобъект 1с недопустимая строка
  • Ошибка при вызове конструктора comобъект 0x80004002 интерфейс не поддерживается
  • Ошибка при вызове конструктора comobject отказано в доступе