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 |  Дата:   Прочитано: 16456
 0 
Распечатать
Возможно, вас также заинтересует
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
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: установка, настройка, обслуживание 12
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 12
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!