helpf.pro
Регистрация

v8: Подключение к 7.7 из 8.2

ghostrid3r
11.12.2012 14:12Прочитано: 11697
Добрый день подскажите пожалуйста, выполнял эту процедуру пару раз все отлично проходило, сейчас не могу изза того что Initialize выдает всегда ЛОЖЬ, это происходит потому что такая строка: База77 = Новый СОМОбъект("v77.Application") выдает всплывающее окно с выбором пользователя и пароля, как убрать его.
вот сама процедура:

Код 1C v 8.х
 База77Открыта = Ложь;
БазаПуть = ПутьКБазе77;


Если НЕ ПустаяСтрока(БазаПуть) Тогда
Попытка
База77 = Новый COMОбъект("V77.Application");
БазаПользователь = ИмяПользователя77;
БазаПароль = Пароль77;



Если не ЗначениеЗаполнено(БазаПользователь) и не ЗначениеЗаполнено(БазаПуть) Тогда
Сообщить("Не все параметры подключения к базе указаны в настройках");
Возврат;
КонецЕсли;
Состояние("Подключение к информационной базе 1С:Предприятие 7.7. Путь к базе:" + БазаПуть + ", имя пользователя:" + БазаПользователь);
СтрокаПодключения = "/D"""+СокрЛП(БазаПуть)+""" /N"""+СокрЛП(БазаПользователь)+""" /P"""+СокрЛП(БазаПароль)+"""";
Открыта = База77.Initialize(База77.RMTrade,СтрокаПодключения,"NO_SPLASH_SHOW");
Если Открыта = 1 Тогда
Попытка
Если ПустаяСтрока(База77.Метаданные.Идентификатор) Тогда
Открыта = 0;
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки());
Открыта = 0;
КонецПопытки;
КонецЕсли;
Если Открыта = 0 ТОгда
Сообщить("Ошибка подключения к информационной базе 1С:Предприятие 7.7!",СтатусСообщения.Важное);
Сообщить(ОписаниеОшибки());
Иначе
База77Открыта = Истина;
Состояние("Подключение к информационной базе 1С:Предприятие 7.7 выполнено успешно.");
КонецЕсли;
Исключение
Сообщить("Ошибка подключения! Программа 1С:Предприятие 7.7 на данном компьютере не установлена!", СтатусСообщения.Важное);
КонецПопытки;
КонецЕсли;

Изменено 11.12.12 14:13:17
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
11.12.2012 14:43Ответ № 1
Проверь пользователя и пароль, если все правильно, то не должно выводиться сообщение
ghostrid3r
11.12.2012 14:48Ответ № 2
все правильно и пользователь и пароль, и почему открывается семерка вроде бы до обьявления пользователя и пароля вызывается новый сомобъект
ghostrid3r
11.12.2012 14:49Ответ № 3
а когда открывается выбор пользователя и пароля то уже не срабатывает Initialize и база получается не открыта
ghostrid3r
11.12.2012 14:57Ответ № 4
не понял конечно в чем причина: но при таком случае

База7 = Новый COMОбъект("V77.Application");
База77 = Новый COMОбъект("V77.Application");

в первом случае все отлично проходит, а во втором выбивает окно пользователя и пароля
ghostrid3r
11.12.2012 15:02Ответ № 5
все равно беда
E_Migachev
11.12.2012 15:14Ответ № 6
вот рабочий пример
Код 1C v 8.х
 // в v 8.1 подключаюсь к семерочной базе

База= Новый COMObject("v77.Application");

Открыта=База.Initialize(Опер.RMTrade," /d"+Путь+" /N" + СокрЛП(Пользователь)+ " /P" +СокрЛП(Пароль),"");

СпрСотр = База.CreateObject("Справочник.Сотрудники");
Если СпрСотр.Выбрать("Укажите откуда берем остатки:") = 0 Тогда

Предупреждение("Не указано место остатков!");
Возврат;

КонецЕсли;
ghostrid3r
11.12.2012 16:59Ответ № 7
не работает этот пример, выдает всеравно Ложь, если после пароля поставить + вместо запятой то выдает ошибку при вызове метода контекста "Initialize"
E_Migachev
11.12.2012 17:14Ответ № 8
(7) ghostrid3r, попробуй на базе без пользователей
ghostrid3r
11.12.2012 18:14Ответ № 9
на базе без пользователь тоже Ложь.
ghostrid3r
11.12.2012 18:15Ответ № 10
мне кажется строка инициализации нужна другая, только вот какая?
E_Migachev
11.12.2012 18:42Ответ № 11
(10) ghostrid3r, строка должна быть как в примере
Код 1C v 8.х
 БазаТам = Новый COMОбъект("V77.Application"); 
ПутьККаталогу = "D:\DBTEST";
ПользовательОле = "Admin";
ПарольОле = "1004";
МонопольныйРежимOLE = "";
ЗапускБезЗаставки = 1;

Результат = БазаТам .Initialize ( БазаТам.RMTrade , "/d" + ПутьККаталогу + " /n" + ПользовательОле + " /p" + ПарольОле + МонопольныйРежимOLE ,?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));

еще можно попробовать V77S.Application

Слушай... а может у тебя висит повисший процесс соединения!? удали в диспетчере все процессы 7-ки
ghostrid3r
12.12.2012 17:49Ответ № 12
теперь пишет что значение не являеться значением объектного типа RMTrade. Я просто не могу понять как оно до этого у людей работало, у меня с самого начало не стало подсоединятся
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.