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