helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Как узнать программно - база 1С 7.7 DBF или SQL?

База SQL:
Наличие в каталоге базы файла 1cv7.dba

База DBF:
1. Отсутствие 1cv7.dba
2. Наличие *.dbf
3. Наличие 1cv7.DD

Пример от vde69:
Код 1C v 8.х
 // Функция определяет основные настройки базы 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.Ошибка);
Возврат Результат;
КонецЕсли;
КонецЕсли;
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 8622
 0 
Распечатать
Возможно, вас также заинтересует
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 3
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием ...
База 1С вылетает, виснет, не грузится, падает с ошибкой? 0
Есть ряд методов, которыми можно попытаться " поднять" упавшую базу 1С 8.х Но сперва нужно сделать резервную копию! Сделайте резервную копию простым копированием папки базы, выгрузка не всегда может быть корректна. ...
База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.