8.х Подключение к 1С через COM

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Stack_G, 6 ноя 2009.

  1. TopicStarter Overlay
    Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Добрый день.
    Есть у меня обработка, которая подключается к 7.7 по com. При нажатии на кнопочку вылетает окно выбора базы 7.7.
    Вот код:
    Код:
    Функция ПодключитьCOMСервер() Экспорт
    БазаИсточник = Новый COMОбъект("v77.Application");
    Попытка
    БазаИсточник.Initialize (БазаИсточник.RMTrade,"","NO_SPLASH_SHOW");;	
    Возврат Истина;	
    Исключение
    Сообщить("Ошибка подключения к базе");
    Возврат Ложь;
    КонецПопытки; 
    КонецФункции
    
    Хочу то же самое,но для 8.1.
    Код:
    Функция ПодключитьCOMСервер() Экспорт
    БазаИсточник = Новый COMОбъект("v81.Application");
    Попытка
    //что вместо этого написать???:
    //БазаИсточник.Initialize (БазаИсточник.RMTrade,"","NO_SPLASH_SHOW");;	
    Возврат Истина;	
    Исключение
    Сообщить("Ошибка подключения к базе");
    Возврат Ложь;
    КонецПопытки; 
    КонецФункции
    
    Пробежался поиском, ничего подобного не нашел.
    Спасибо.
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Прочтите справку в синтакс-помощнике по COM-соединению и Automation серверу. Там есть примеры подключения.
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Что то вроде этого.

    Вложения:

  4. TopicStarter Overlay
    Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Товарищи! Вникните в суть проблемы.
    Я хочу, чтобы мне высветилось окошко выбора базы. И пользователь выбрал ее интерактивно.
    Не хочу прописывать путь к базе.

    Нет этого. Перед тем как писать что-либо здесь, пытаюсь решить проблему самостоятельно. Всегда.
    Если найдете в СП - тыкните, с меня пиво :)

    Код:
    V8 = Новый COMОбъект("V81.Application");
    
    Попытка
    
    Если КлиентСервер Тогда
    
    Connect = v8.Connect("srvr = " + Сервер + "; ref = " + База + "; usr = " + Пользователь + "; pwd = " + Пароль + "");
    
    Иначе
    Connect = V8.Connect("File= " + ИмяКаталогаБазы + "; usr = " + Пользователь + "; pwd = " + Пароль + "");
    КонецЕсли; 
    
    // По умолчанию объект не отображен, т.е. visible = false
    // Можно вывести окно приложения
    V8.visible = true;
    Исключение
    Предупреждение("База данных не отркрыта");
    Возврат;
    КонецПопытки;
    
    Спасибо. Но это не то, передача параметров базы через строку. Это я умею :)

    up
  5. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Насколько я знаю, восьмерка не поддерживает соединение на уровне приложения. В ней специально создан модуль внешнего соединения. Так что либо коннектор, либо аутомэйшн сервер. А нарисовать форму для выбора базы, пользователя и ввода пароля проблемы не представляет.
  6. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Можно воспользоваться вот этим - обработка "Подключение к другой базе по OLE с выбором базы"
    http://infostart.ru/public/16628/
  7. TopicStarter Overlay
    Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Ага, спасибо! Это как раз решение, которое предлагал ASh.
    Красиво конечно, но жаль что нельзя это дело вызвать одной строчкой кода :(

Поделиться этой страницей