База SQL:
Наличие в каталоге базы файла 1cv7.dba
База DBF:
1. Отсутствие 1cv7.dba
2. Наличие *.dbf
3. Наличие 1cv7.DD
Пример от vde69:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
// Функция определяет основные настройки базы 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.Ошибка); Возврат Результат; КонецЕсли; КонецЕсли; |