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

Как узнать программно - база 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 |  Дата:   Прочитано: 8652
 0 
Распечатать
Возможно, вас также заинтересует
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Microsift Visual C++ Runtime Library Program ...1cv77s.exe abnormal program termination 0
При запуске 1С 7.7 выдает сообщение: Microsift Visual C++ Runtime Library Program C:Program Files1Cv77BIN1cv77s.exe abnormal program termination Вариант 1. Обычно это происходит, когда повреждается файл регистрации. Точнее, когда не дописывает
PostgreSQL: установка, настройка, обслуживание 2
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут...
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 3
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием ...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.