пятница, 12 декабря 2014 г.

Не работает, не запускается 1С 7.7 OLE под Windows 7 x64

Решение найдено тут: http://1c911.by/stati_1s/statya-1s-77-i-windows-7.htm

Прежде всего нужно проверить соответствующие ветки в реестре.
При помощи поиска находим в реестре ветку V77S.Application (V77.Application). В разделе CLSID указан раздел в котором система будет искать исполняемый файл.
 

Далее ищем этот раздел и смотрим установленные значения. Раздел InprocHandler32 должен содержать значение ole32.dll, ProgID - V77S.Application, LocalServer32 - C:\PROGRA~2\1Cv77\BIN\1cv7s.exe (имя исполняемого файла зависит от версии 1С). Также обратите внимание на то, что для 64-разрядных систем указывается не "C:\PROGRA~1", а "C:\PROGRA~2" (исполняемый файл находится в папке C:\Program Files (x86)). Неправильные значения исправляем. По ссылке Вы можете скачать образцы файлов реестра для SQL версии 1С, работающей под Winows 7 x64.


При запуске 1С 7.7 в качестве OLE-сервера может возникнуть ситуация, когда Initialize (Инициализация, запуск) зависает и мы наблюдаем такую картину ("Сервер занят. Действие не может быть завершено...").



Попробуйте добавить в строку запуска путь к каталогу программы.
Т.е. строка инициализации может выглядеть примерно так:
База = СоздатьОбъект("V77S.Application");

Путь            = "D:\DB77\База\";
Пользователь    = "Администратор";
Пароль          = "1";

Если ФС.СуществуетФайл(Путь) = 0 Тогда
   Предупреждение("Путь информационной базы не найден!");
   Возврат;
КонецЕсли;

Стр = """" + КаталогПрограммы() + """" + "enterprise /d""" + Путь + """"
+ ?(ПустоеЗначение(Пользователь) = 0, " /n", "") + СокрЛП(Пользователь)
+ ?(ПустоеЗначение(Пароль) = 0, " /p", "") + СокрЛП(Пароль);

Открыта = База.Initialize(База.RMTrade, Стр, "NO_SPLASH_SHOW");
 

Комментариев нет: