Главная | О сайте | ROM-Mail | Форум | Статьи | Программы | OLAP | Ссылки |
DialUp в 1С: Предприятие 7.7. Использование стандартной "звонилки" Windows.
В большинстве случаев, для установки DialUp-соединения из 1С: Предприятие 7.7 можно использовать стандартную звонилку Windows. В состав Windows входит программа rasdial.exe, именно эту программу и будем использовать в качестве программы дозвона. Подразумевается, что RAS-соединение (соединение удаленного доступа) уже создано и даже проверено, и даже успешно :-).
Если все это так, то начнем его использовать в 1С. Примерно так:
Процедура Сформировать()
ИмяСоединения="UkrTelecom";
// имя подключения удаленного доступа
Пользователь="rom";
// пользователь
Пароль="";
// пароль
ЛогФайл=КаталогИБ()+"_Dial.Log";
// запускаем стандартную виндозную
звонилку
// и перенаправим вывод в текстовый
файл
ВсеОК=0;
// флаг соединения
КомандаПодключения=Шаблон("rasdial [ИмяСоединения]
[Пользователь] [Пароль] >[ЛогФайл]");
КомандаСистемы(КомандаПодключения);
// КомандаСистемы дождется
результата выполнения подключения
// Для уверенности почитаем log
// для русской XP лог завершается
строкой "Команда успешно завершена."
Текст=СоздатьОбъект("Текст");
Текст.КодоваяСтраница(1);
Текст.Открыть(ЛогФайл);
Для
Индекс=1
По Текст.КоличествоСтрок()
Цикл
Если Найти(Текст.ПолучитьСтроку(Индекс),"Команда
успешно завершена.")>0 Тогда
ВсеОК=1;
КонецЕсли;
КонецЦикла;
Если
ВсеОК=1
Тогда
Сообщить("Соединение установлено !!!");
// дальше
выполняем, то что нам нужно
// например
получаем почту
//Попытка
// Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=0 Тогда
// Сообщить("Не удалось загрузить ROM-Mail.dll");
// Возврат;
// КонецЕсли;
//Исключение
// Возврат;
//КонецПопытки;
//
//ВК=СоздатьОбъект("AddIn.AddInMail");
//ВК.СерверПриема=СокрЛП(СерверПриема);
//ВК.ПортПриема=СокрЛП(ПортПриема);
//ВК.Логин=СокрЛП(Логин);
//ВК.Пароль=СокрЛП(Пароль);
//ВК.ОставлятьНаСервере=1;
//ВК.ПоказыватьПредупреждения=0;
//
////
подключаемся
//Если
ВК.Подключиться("Прием")=0 Тогда
// Предупреждение("Не удалось подключиться к серверу!");
// Возврат;
//КонецЕсли;
// ... и
т.д.
// и
отключаемся
КомандаОтключения=Шаблон("rasdial [ИмяСоединения]
/disconnect");
КомандаСистемы(КомандаОтключения);
КонецЕсли;
Если ФС.СуществуетФайл(ЛогФайл)=1
Тогда
ФС.УдалитьФайл(ЛогФайл);
КонецЕсли;
КонецПроцедуры
(с) Олег Ризванов aka ROM, Апрель 2005