Подключение через СОМОбъект из 8.2 к 7.7 (Ошибка при создании объекта) #689100


#0 by america2013
Доброго времени суток, уважаемые знатоки 1С ! Прошу помочь мне с такой проблемой (изначально я нашел похожее описание здесь: , но потом пошел дальше). Изначально имею код: Цель у меня какая: подключиться к базе 7.7 из 8.2 и делать выборки некоторых объектов, как если бы я находился в Конфигураторе 7.7. На данный момент имею ошибку: {Форма.Форма.Форма}: Метод объекта не обнаружен (СоздатьОбъект) Что может быть не так?
#1 by america2013
Строку заменил на: Ошибок нет, но 1с 8.2 стала просто зависать(((( Уважаемые, прошу, не проходите мимо!
#2 by ДенисЧ
В каком месте виснет?
#3 by america2013
При выполнении этой процедуры.
#4 by Рэйв
И чего всех прет подключатся из 8.х к 7.7.? из 7.7. к 8.х по СОМ намного удобнее же работать! Мазохисты.
#5 by anaed
по твоей ссылке 9-ый пост может дело в  COMObject("V77.Application"); вместо COMObject("V1CEnterprise.Application"); ?
#6 by america2013
результат прежний, ошибка остается: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (CreateObject)         Спр = v7.CreateObject("Справочник.Валюты"); по причине: Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Валюты): 0
#7 by Масянька
По уму нужно     v7.Initialize(v7.RMTrade,"/D" + ПутьКБазе77+ " /N"+Пользователь+" /P" + Пароль,"NO_SPLASH_SHOW");   делать в Попытке. Попробуй, посмотри на результат. 7.7 стоит правильно - прописана в реестре и т.д.?
#8 by ЧессМастер
+100500
#9 by ЧессМастер
тебе принципиально подключатся к 77 из 82 ? сделай наоборот или подключайся к 77 по ОЛЕ
#10 by america2013
и В моем случае база 8.2 одна, а 7.7 - несколько. Я пробовал сделать: но получил ошибку: {Форма.Форма.Форма}: Ошибка при вызове конструктора (COMОбъект)     v7 = Новый COMОбъект("V77.ComConnector"); по причине: Недопустимая строка с указанием класса Что не так? Пробовал и попытку, ошибка та же, про установку и реестр не в курсе, ставил не я.
#11 by anaed
читал   ?
#12 by Масянька
То есть подключается без проблем?
#13 by ДенисЧ
"V77.ComConnector" Мечта...
#14 by Рэйв
+100
#15 by бомболюк
попробуй уж зараз и v7.EvalExpr("СоздатьОбъект(""Справочник.Валюты"")"); у меня помнится только так и работало.
#16 by america2013
Подключается без проблем СОМОбъект получаю. Я же описал в , что якобы не найден класс. и Успел применить, но без результатно: {Форма.Форма.Форма}: Ошибка при вызове конструктора (COMObject)     v7 = Новый COMObject("V77M.Application"); по причине: Недопустимая строка с указанием класса Заменил на предыдущую: по причине: Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Валюты): 0
#17 by Рэйв
>>Ошибка при вызове конструктора (COMObject) У меня впечатление что ты запускаешь 77 по ярлыку с сервера, а на самой машине локально 77 у тебя нет. Оно тогда такое и пишет.
#18 by Guk
а на кой тут EvalExpr использовать?...
#19 by anaed
Уже второй раз справочник не может создать, он там вообще есть нет?)))
#20 by Guk
если бы 77 не было, оно бы вообще не подключилось...
#21 by Рэйв
Так он и пишет, что ошибка конструктора
#22 by america2013
, Как устанавливалась 7.7 не в курсе, но вручную запустить и зайти в базу я могу и справочник такой конечно же есть.
#23 by Guk
он пишет, что ошибка создания справочника. я бы тоже самое написал на месте 77. но при этом соединение уже установлено, иначе оно раньше вывалилось...
#24 by Guk
я не спец конечно, но может попробовать Спр = v7.CreateObject("Справочник.Валюты");
#25 by hhhh
он пишет Метод объекта не обнаружен (СоздатьОбъект). Это типично для отсутствия подключения.
#26 by america2013
Пробовал другой объект создать, на данный момент имею код: Ошибка: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (CreateObject)         Спр = v7.CreateObject("Справочник.Банки");     по причине: Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Справочник.Банки): 0
#27 by Guk
т.е. программист не проверяет, установлено у него соединение или нет? мне такое даже в голову придти не могло...
#28 by Rie
А инициализация-то - где?
#29 by Rie
Initialize не ошибку порождает, а выдаёт 1 или 0.
#30 by Рэйв
Соединение =v7.Initialize(.......
#31 by Рэйв
Спр = Соединение.CreateObject("Справочник.Банки");
#32 by ЧессМастер
у тебя подключение происходит ? ты в мониторе пользователей его видешь ?
#33 by america2013
Перед строкой получаю в отладчике: Свойство  Значение      Тип v7      COMОбъект    COMОбъект
#34 by america2013
В Мониторе вижу среди активных пользователей.
#35 by Rie
Соединение у тебя - это будет число. Поэтому - нонсенс.
#36 by america2013
Делал: Получил: {Форма.Форма.Форма}: Значение не является значением объектного типа (CreateObject)
#37 by Рэйв
да, с СОМ перепутал:-)
#38 by ЧессМастер
попробуй выполнить этот код с машины где точно установлена 1С 7.7
#39 by Масянька
Рабочий код (правда под 8.1), работает по сей день:
#40 by Rie
Initialize выдаёт _число_!!!     Спр = v7.CreateObject(.....
#41 by america2013
С подключением и инициализацией у меня проблем нет, проблемы начинаются, когда в этом подключении начинаю создавать объекты.
#42 by Масянька
Господи! Да как же тяжело с вами..... Тебе "Открыта = БД.Initialize(БД.RMTrade, СтрокаПодключения, "NO_SPLASH_SHOW");", что возвращает?
#43 by america2013
Ошибка при подключении
#44 by Масянька
Слава Богу! Еще вопросы есть? Иди рой - как установлена 7.7.
#45 by George Wheels
ПутьКБазе в строке подключения возьми в кавычки. В отладчике должен увидеть:
#46 by america2013
Переустановил платформу, удалил базу из списка, добавл снова, ошибка прежняя: Строку подключения имею в виде: /D"D:asesбаза2012" /Nадмин /Pадмин (то есть так же) Ошибка в подключении(((
#47 by america2013
Взял в "" пользователя и пароль, то же самое.
#48 by hhhh
какую переустановил? 7.7?
#49 by Масянька
(460 как переустановил платформу?
#50 by america2013
Переустановил 7.7. Просто по верху запустил установщик.
#51 by Масянька
Wind'а какая стоит?
#52 by america2013
Windows 7 Домашняя базовая
#53 by hhhh
поищи V77.Application в реестре windows
#54 by hhhh
почему домашняя. Поставьте нормальный windows
#55 by Масянька
Не знаю точно, но - тут могут быть проблемы. Домашняя базовая - урезана по куче всего. А сама 7.7 точно запускается на этом же компе?
#56 by america2013
Запускается на этом компе Есть в реесте (если нужно) 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}
#57 by america2013
Пробовал на другом компе (Видовс 7 Проф), 8.2 и 7.7 установлена цивильно, ошибка при подключении.
#58 by Масянька
64 бита?
#59 by Масянька
В реестре найди - HKEY_CURRENT_USERSoftware1C1Cv77.7Titles - что там в путях?
#60 by america2013
Да, 64. Есть ветка: HKEY_USERSS-1-5-21-1419102363-2094869754-1374439945-1000Software1C1Cv77.7Titles Параметр: D:asesбаза2012 Значение: (рабочая)
#61 by dk
я пропустил или не было информации 8-ка файловая или скульная?
#62 by america2013
База на SQL-сервере.
#63 by dk
базу 7.7. над прописать для виндового юзера, под которым сервер 1с крутится на винде где сервер 1с крутится
#64 by Масянька
И как 7.7 переустанавливал?
#65 by america2013
Просто запустил установщик (по верху). Не удалял перед этим, т.к. куча прописанных баз. Обязательно сносить всё перед повторной установкой?
#66 by Масянька
Подробнее: какой установщик?
#67 by america2013
Какой на предприятии дали : ) У всех такой стоит. Но на стандартный из коробки мало похож.
#68 by america2013
...пытался из своих запасов установить (коробка, диск, 1с 7.7, 7.70.027), но ругается на версию Виндовс((((((
#69 by hhhh
так эта штука из , она наКлиенте или НаСервере?
#70 by america2013
8.2 запускается на клиенте, никаких директив не указываю, база 8.2 лежит на сервере, на компе-клиенте лежит база 7.7, к ней пытаемся подключиться. Строка подключения верного формата: Нужны ли эти все кавычки?
#71 by dk
а почему думаешь, что на клиенте? создай файловую и там проверь, вот это будет на клиенте точно ))
#72 by Масянька
На каком сервере и на каком компе? Они разные (физически)?
#73 by hhhh
не где запускается 8.2, а эта процедура, что там написано? И в каком модуле она?
#74 by George Wheels
D:asesбаза2012 - это на сервере или на твоём компе?
#75 by america2013
База 7.7 локальная, на моем компе (к ней жажду подключиться), база 8.2 на сервере (по сути не нужна). Сама процедура во внешней обработке в модуле формы.
#76 by dk
уже сотка не за горами, а автор все еще не впиливает
#77 by Масянька
Сегодня такая традиция....
#78 by america2013
У меня был опыт подключения базы SQL 1с 8.2, также из базы на SQL 1с 8.2, вся разница была в строке подключения (сервер, кластер), но что здесь может быть не верно указано: Строка подключения (в отладке) имеет вид: /D"D:asesбаза2012" /N"админ" /P"админ"
#79 by america2013
Попытка-Исключение - обязательно? Если без попытки, то Открыта возвращает - Истина, но после строк: На долго зависает, хотя в справочнике Валюты не более 10 элементов. Может быть его надо потом как-то закрывать?
#80 by George Wheels
В Исключение используй ИнформацияОбОшибке. Проверка на открытость не нужна. Если база не откроется, то сработает Исключение.
#81 by George Wheels
Закрывать нужно v7.
#82 by George Wheels
+ Если не закроешь, то процесс зависнет в памяти и закроется только после выхода из 8.2. Поэтому при втором запуске обработки подключение к базе не произойдет. И ещё если 77 закроется неправильно, то придётся её запускать в монопольном режиме.
#83 by Масянька
У себя на компе запусти "Диспетчер задач" - там нет зависших сеансов 7.7?
#84 by america2013
Благодарю вас, дорогие мои, что до сих пор уделяете внимание : ) Но правда, не в состоянии я самостоятельно сообразить((( Есть прогресс!!! Каждый раз при неудачной попытке проверяю диспетчер, про 1с 7.7 все чисто. На данный момент код значительно упростился и работает без ошибок: И что же я в итоге увидел: открылась форма списка справочника 7.7 ! Где я просил её открыться? Потом заменил строку: Спр.Выбрать; на И... все заработало. Как надо. Последний вопрос - теперь в конфигураторе 8.2 буду писать синтаксис из 7.7 ?
#85 by america2013
...даже сетевые папки видит:
#86 by america2013
Подключение к базе установлено. Использую код: где, начДата и конДата - реквизиты на форме 8.2. Документы выводятся ВСЕ, но не за период начала и окончания. Подскажите пожалуйста, как из этого подключения выбрать документы за определенный период?
#87 by america2013
*где, НачПериода и КонПериода - реквизиты на форме 8.2
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С