//Пример 1 v8 = CreateObject("V8.COMConnector"); //Строку подключения можно получить так: Если ФайловаяБазаДанных Тогда СтрокаПодключения = "file='" + КаталогБазыДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';"; Иначе СтрокаПодключения = "srvr='" + Сервер + "'; ref='" + БазаДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';"; КонецЕсли; Попытка //Соединение = V8.Connect("Usr=""admin"";Pwd="""";File=""\\srvr\1C\V8\UPP"""); Соединение = V8.Connect(СтрокаПодключения); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; //Пример 2 Функция ОткрытьСоединение(ОписаниеОшибки) Экспорт СтрокаПодключения = СформироватьСтрокуПодключения(); Connector = Новый COMОбъект("V8.ComConnector"); Попытка DataSource = Connector.Connect(СтрокаПодключения); Исключение ОписаниеОшибки = ОписаниеОшибки(); КонецПопытки; Если DataSource = Неопределено И ПустаяСтрока(ОписаниеОшибки) Тогда ОписаниеОшибки = "Неизвестная ошибка подключения к 1С:Предприятие 8.0"; КонецЕсли; Если Не ПустаяСтрока(ОписаниеОшибки) Тогда DataSource = Неопределено; Connector = Неопределено; КонецЕсли; Возврат DataSource; КонецФункции Функция СформироватьСтрокуПодключения() СтрокаПодключения = ""; Если ЭтоСервер Тогда СтрокаПодключения = СтрокаПодключения + "Srvr=" + Сервер + ";Ref=" + Имя + ";"; Иначе СтрокаПодключения = СтрокаПодключения + "File=""" + Сервер + """;"; КонецЕсли; СтрокаПодключения = СтрокаПодключения + ?(ПустаяСтрока(Пользователь), "", "Usr=""" + Пользователь + """;"); СтрокаПодключения = СтрокаПодключения + ?(ПустаяСтрока(Пароль), "", "Pwd=""" + Пароль + """;"); Возврат СтрокаПодключения; КонецФункции
// Функция определяет основные настройки базы 1с 77 расположенной в каталоге "КаталогБазы" // // функция возвращает соответствие определяющее структуру базы // "Имя MD файла" - вместе с полным путем // "Имя Users файла" - вместе с полным путем // "Имя Links файла" - вместе с полным путем // "Имя DBA файла" - вместе с полным путем // "Вариант установки" - перечисление // "Имя SQL сервера" // "Имя SQL базы" // "Имя DBO пользователя" // "Пароль DBO пользователя" // "Контрольная сумма DBO" // "Каталог базы" Функция ПолучитьПараметрыБазы77 (КаталогБазы, ПолучатьПараметрыSQL = Истина) Экспорт Результат = Новый Соответствие; // заполним пустые значения Результат.Вставить("Имя MD файла", ""); Результат.Вставить("Дата MD файла", неопределено); Результат.Вставить("Размер MD файла", 0); Результат.Вставить("Имя Users файла", ""); Результат.Вставить("Имя Links файла", ""); Результат.Вставить("Имя DBA файла", ""); Результат.Вставить("Вариант установки", Перечисления.ВариантБазы77.Ошибка); Результат.Вставить("Имя SQL сервера", ""); Результат.Вставить("Имя SQL базы", ""); Результат.Вставить("Имя DBO пользователя", ""); Результат.Вставить("Пароль DBO пользователя", ""); Результат.Вставить("Контрольная сумма DBO", 0); Результат.Вставить("Каталог базы", СокрЛП(КаталогБазы)); // поехали анализировать _КаталогБазы = СокрЛП(КаталогБазы); Если Прав(_КаталогБазы, 1) <> "\" Тогда _КаталогБазы = _КаталогБазы + "\"; КонецЕсли; ИмяФайла = _КаталогБазы + "1Cv7.MD"; ВыбФайл = Новый Файл(ИмяФайла); Если не ВыбФайл.Существует() Тогда Возврат Результат; КонецЕсли; // вроде база есть, теперь будем заполнять поля ключевых файлов Результат.Вставить("Имя MD файла", ВыбФайл.ПолноеИмя); Результат.Вставить("Дата MD файла", ВыбФайл.ПолучитьВремяИзменения()); Результат.Вставить("Размер MD файла", ВыбФайл.Размер()); Результат.Вставить("Имя Links файла", _КаталогБазы + "SYSLOG\links.tmp"); ИмяФайла = _КаталогБазы + "usrdef\users.usr"; ВыбФайл = Новый Файл(ИмяФайла); Если ВыбФайл.Существует() Тогда Результат.Вставить("Имя Users файла", ВыбФайл.ПолноеИмя); КонецЕсли; ИмяФайла = _КаталогБазы + "1Cv7.DBA"; ВыбФайл = Новый Файл(ИмяФайла); Если ВыбФайл.Существует() Тогда Результат.Вставить("Имя DBA файла", ВыбФайл.ПолноеИмя); Результат.Вставить("Вариант установки", Перечисления.ВариантБазы77.SQL); // здесь надо расшифровать параметры доступа к SQL Иначе // для файловой версии надо посмотреть наличие dbf файлов, по крайне мере должен быть "1SJOURN.DBF" ИмяФайла = _КаталогБазы + "1SJOURN.DBF"; ВыбФайл = Новый Файл(ИмяФайла); Если ВыбФайл.Существует() Тогда Результат.Вставить("Вариант установки", Перечисления.ВариантБазы77.Файловая); Иначе // для файловой версии надо посмотреть наличие dbf файлов, по крайне мере должен быть "1SJOURN.DBF" Результат.Вставить("Вариант установки", Перечисления.ВариантБазы77.Ошибка); Возврат Результат; КонецЕсли; КонецЕсли;