V77 generalproppage отсутствует в dcom windows 10
Обновлено: 03.07.2024
Под XP работает. Под Win7 выдает ошибку:
Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается: Интерфейс не поддерживается
7-ка вроде стоит корректно. Ключи кажется прописаны все. Установлена через UniSetup.
В чем может быть дело.
Таких вопросов много на форумах. С этой проблемой столкнулся и сам. Поэтому и решил поделиться своим опытом.
Для решения этой проблемы необходимо найти компьютер с установленной 1С7, доступ к которой через OLE работает. Обычно это компьютер с Windows XP.
Меню Пуск -> Выполнить : DCOMCNFG. Откроется служба компонентов. В левой части окна выбираем Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM . Откроется список установленных компонент. В этом списке должна быть компонента V77.GeneralPropPage.
Аналогичную процедуру проделайте на компьютере, на котором доступ к 1С7 через OLE не работает, чтобы убедиться что компонента V77.GeneralPropPage там отсутствует. Обычно это компьютеры с Windows7. В моем случае с Windows Server 2008 R2 64bit. По каким то причинам 1С7 на такие операционки устанавливается некорректно.
Чтобы компонента V77.GeneralPropPage появилась, необходимо добавить несколько веток реестра, которые можно скопировать с донорской машины.
Итак, на донорской машине Пуск -> Выполнить : REGEDIT. Задаем в поисковике имя компоненты и экспортируем найденные ветки.
После этого редактируем выгруженные reg файлы, где меняем путь и имя исполняемого файла 1С7 на те значения, которые соответствуют компьютеру, где нужной компоненты нет. Это сделать не сложно, так как таких файлов у меня получилось всего 6.
Затем на дефектной машине запускаем поочереди полученные reg файлы и импортируем в реестр. В моем случае OLE доступ к 1С7 заработал даже без перезагрузки сервера. Можете еще раз зайти в службу компонентов и убедиться, что V77.GeneralPropPage появилась.
При желании можете скачать готовые reg файлы и подредактировать там пути и имена 1С7 на свои.
Надеюсь, что эта статья Вам поможет. С праздником Рождества Христова. Всего доброго
Специальные предложения
это чтобы не париться с какими-то ключами защиты?
По каким то причинам 1С7 на такие операционки устанавливается некорректноможет быть 1С7 и не должна устанавливаться на новые ОС? :)
---
ну а для 1С-7.7 еще начиная с Висты приходилось танцы с бубном плясать
особенно для SQL.
Поэтому и в реестре ни чего не прописывается. А проблема решается гораздо проще (1-я ссылка при поиске) - достаточно запустить 7-рку с админскими правами и все автоматом пропишется в реестре. user853074; RockClimber; mudrak; 4ed; BigB; Cora; west__; Alximikkk; marsohod; + 9 – Ответить (4) ltfriend, так отож :)
А я удивляюсь, почему у меня всё работает :) (4) ltfriend, Спасибо! Пол дня пытался прописать в реестр пути)))
Не знаю с какого сайта, но по установке 1с 77 под Вин Сервер 64 использовал следуйщий метод:
Во время выполнения задания, при попытке подключиться через OLE ругается: Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.
Подключаюсь так:
База7 = Новый COMОбъект("V77.Application");
Открыта = в77.Initialize(в77.RMTrade, СтрокаСоединения);
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
может там 7.7 не стоит? не из регламентного задания на сервере работает процедура?
Открыта = База7.Initialize(База7.RMTrade, СтрокаСоединения, "NO_SPLASH_SHOW")
7.7 установлена. Не из регл. задания работает.
Это я как раз внешнюю обработку, которая забирает данные из 7-ки пытаюсь в регламентные задания перенести.
Добавил NO_SPLASH_SHOW - не помогло.
В журнал регистрации записывается ошибка: Интерфейс не поддерживается.
(12) я бы не был так категоричен. этому пользователю можно и админские права дать и своего указать под которым будет служба работать.
(12)Да, сервер работает под пользователем USR1CV81. А где у него задаются права на создание COM-объектов.
(12) все таки прав)
(14) попробуй его внести в группу Distributed COM Users
(15) Добавил пользователя в группу "Пользователи DCOM" - не помогло.
Говорят, можно настроить доступ с помощью утилиты DCOMCNFG - но что-то не могу найти там V77.Application.
делать учетку админом не по феншую будет, но на крайний вариант сойдет
Посмотри тут про 1с что-то есть?
Администрирование-Службы компонентов-Компьютеры-Мой компьютер-НастройкаDCOM.
что-то типа V77.Application
Нашел!
Всё заработало :)
Сделал так:
Пуск - Выполнить - DCOMCNFG.
Там разворачиваем "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM". Внури есть V77.GeneralPropPage и V77.SalaryPropPage. Права задаются в свойствах на закладке "Безопасность".
У меня проблема другого толка, но м.б. кто-нибудь подскажет.
Когда запускаю семерочку по OLE (из восьмерочки), она повисает на входе в базу!
Проблемы возникают при любом вызове на сервере в клиент-серверном варианте. К слову на той же самой машине в файловой версии "зависание" не проявляется (так что не указывайте на то, что у меня ПриНачалеРаботыСистемы висит "предупреждение", не висит!).
При этом taskmgr кажет появление нового процесса 1cv7, который отжирает вместо 50 Мб (при запуске в файловой версии) всего мегов 5. При этом процессор так же отдыхает, т.е. показывает загруженность в ноль.
Что характерно я быстро не сдался. Быстренько накатал свой com-объект, который умел бы запускать 1С-ку и возвращать соединение. С этим com-объектом проявляются те же симптомы. В файловой версии все хоккей, а в клиент-серверной - подвисает на входе.
Снятие процесса 1cv7 приводит к exception'у.
Так же была задача в регламентном задании переносить данные справочника из одной базы в другую.
OLE (англ. Object Linking and Embedding ) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт.
В 1996 году Microsoft переименовала технологию в ActiveX.
Подготовка технической части
Будем рассматривать пример на базе Windows Server 2012 R2, где уставновлена платформа 1С 8.Х для сервера 64-битная, для клиента 32-битная. Также нужно установить последний релиз платформы 1С 7.7 у нас 7.70.027.
Рабочая база 1С 7.7 расположена на другом сервере, вариант установки SQL.
Поэтому на нашем сервере также выбираем вариант установки SQL.
Установка 1С 7.7:
Устанавливаем под администратором:
Далее чтобы 1С 7.7 прописалась в реестре важно запустить ее также под администратором, создать пустую базу и зайти в нее.
Так же скорее всего вам понадобится подменить в папке (BIN) " BkEnd.dll" и добавить туда пустой файл "OrdNoChk.prm" ( файлы внизу публикации ).
Далее важно, чтобы у вас в реестре появились записи:
V77.GeneralPropPage
V77.Application
V77S.Application и прочие.
А также как минимум DCOM (нужно проверить, за давностью установки, не уверен в надобности).
Пуск - Выполнить - DCOMCNFG.
Там разворачиваем "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM":
V77.GeneralPropPage
Если их нет, значит у вас что-то с доступом. Настраиваем и начинаем заново установку.
Настройка Windows Server 2012 R2
Для открытия 1С 7.7 по OLE на сервере потребует больше, чем по умолчанию, памяти для запуска приложений в "не интерактивном" режиме (т.е. в регламентном задании) для этого в реестре нужно изменить/добавить запись:
HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manager>SubSystems
Меняем значение Windows, было:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512
Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
Вот здесь редактируем 3 значение, мы поставили 5 мб (было 512 кб ). Важно чтобы 2 и 3 значение не превысило 48 мб.
Этот параметр отвечает в Windows за "кучу" для неинтерактивного сеанса.
Первый нюанс с "кучей" решили, теперь осталось разобраться с правами у пользователя, который запускает службу "Агент сервера 1С:Предприятия 8.Х (x86-64)"
Если у вас служба настроена в таком режиме, то потребуется прописать в реестре путь до базы 1С 7.7:
Для каждой новой базы, нужно создать новую запись(New->String value или Создать->Строковый параметр):
Name: Путь_и_Имя_базы
Type: REG_SZ
Data: Ваше_название_для_базы
В итоге код для системной учетной записи заработает.
Но в этом случае сеть не доступна (нам такой вариант не подходит).
В таком случае нужно выбрать конкретного пользователя и проверить чтобы у него был доступ на сеть!
Так же у этого пользователя должна быть прописана база в реестре или вы можете зайти интерактивно под этим пользователем и добавить в список нужную сетевую базу 1С 7.7.
Делаем регламентное задание
Систему к работе мы подготовили теперь дело за малым написать код!
Создаем регламентное задание и определяем процедуру в которой записан код:
Все, подключение работает!
Теперь можете написать код в 1С 7.7 при старте системы или опишите на языке 1С 7.7 нужный алгоритм прямо в 1С 8.Х.
OLE (англ. Object Linking and Embedding ) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт.
В 1996 году Microsoft переименовала технологию в ActiveX.
Подготовка технической части
Будем рассматривать пример на базе Windows Server 2012 R2, где уставновлена платформа 1С 8.Х для сервера 64-битная, для клиента 32-битная. Также нужно установить последний релиз платформы 1С 7.7 у нас 7.70.027.
Рабочая база 1С 7.7 расположена на другом сервере, вариант установки SQL.
Поэтому на нашем сервере также выбираем вариант установки SQL.
Установка 1С 7.7:
Устанавливаем под администратором:
Далее чтобы 1С 7.7 прописалась в реестре важно запустить ее также под администратором, создать пустую базу и зайти в нее.
Так же скорее всего вам понадобится подменить в папке (BIN) " BkEnd.dll" и добавить туда пустой файл "OrdNoChk.prm" ( файлы внизу публикации ).
Далее важно, чтобы у вас в реестре появились записи:
V77.GeneralPropPage
V77.Application
V77S.Application и прочие.
А также как минимум DCOM (нужно проверить, за давностью установки, не уверен в надобности).
Пуск - Выполнить - DCOMCNFG.
Там разворачиваем "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM":
V77.GeneralPropPage
Если их нет, значит у вас что-то с доступом. Настраиваем и начинаем заново установку.
Настройка Windows Server 2012 R2
Для открытия 1С 7.7 по OLE на сервере потребует больше, чем по умолчанию, памяти для запуска приложений в "не интерактивном" режиме (т.е. в регламентном задании) для этого в реестре нужно изменить/добавить запись:
HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manager>SubSystems
Меняем значение Windows, было:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512
Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
Вот здесь редактируем 3 значение, мы поставили 5 мб (было 512 кб ). Важно чтобы 2 и 3 значение не превысило 48 мб.
Этот параметр отвечает в Windows за "кучу" для неинтерактивного сеанса.
Первый нюанс с "кучей" решили, теперь осталось разобраться с правами у пользователя, который запускает службу "Агент сервера 1С:Предприятия 8.Х (x86-64)"
Если у вас служба настроена в таком режиме, то потребуется прописать в реестре путь до базы 1С 7.7:
Для каждой новой базы, нужно создать новую запись(New->String value или Создать->Строковый параметр):
Name: Путь_и_Имя_базы
Type: REG_SZ
Data: Ваше_название_для_базы
В итоге код для системной учетной записи заработает.
Но в этом случае сеть не доступна (нам такой вариант не подходит).
В таком случае нужно выбрать конкретного пользователя и проверить чтобы у него был доступ на сеть!
Так же у этого пользователя должна быть прописана база в реестре или вы можете зайти интерактивно под этим пользователем и добавить в список нужную сетевую базу 1С 7.7.
Делаем регламентное задание
Систему к работе мы подготовили теперь дело за малым написать код!
Создаем регламентное задание и определяем процедуру в которой записан код:
Все, подключение работает!
Теперь можете написать код в 1С 7.7 при старте системы или опишите на языке 1С 7.7 нужный алгоритм прямо в 1С 8.Х.
Под XP работает. Под Win7 выдает ошибку:
Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается: Интерфейс не поддерживается
7-ка вроде стоит корректно. Ключи кажется прописаны все. Установлена через UniSetup.
В чем может быть дело.
Таких вопросов много на форумах. С этой проблемой столкнулся и сам. Поэтому и решил поделиться своим опытом.
Для решения этой проблемы необходимо найти компьютер с установленной 1С7, доступ к которой через OLE работает. Обычно это компьютер с Windows XP.
Меню Пуск -> Выполнить : DCOMCNFG. Откроется служба компонентов. В левой части окна выбираем Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM . Откроется список установленных компонент. В этом списке должна быть компонента V77.GeneralPropPage.
Аналогичную процедуру проделайте на компьютере, на котором доступ к 1С7 через OLE не работает, чтобы убедиться что компонента V77.GeneralPropPage там отсутствует. Обычно это компьютеры с Windows7. В моем случае с Windows Server 2008 R2 64bit. По каким то причинам 1С7 на такие операционки устанавливается некорректно.
Чтобы компонента V77.GeneralPropPage появилась, необходимо добавить несколько веток реестра, которые можно скопировать с донорской машины.
Итак, на донорской машине Пуск -> Выполнить : REGEDIT. Задаем в поисковике имя компоненты и экспортируем найденные ветки.
После этого редактируем выгруженные reg файлы, где меняем путь и имя исполняемого файла 1С7 на те значения, которые соответствуют компьютеру, где нужной компоненты нет. Это сделать не сложно, так как таких файлов у меня получилось всего 6.
Затем на дефектной машине запускаем поочереди полученные reg файлы и импортируем в реестр. В моем случае OLE доступ к 1С7 заработал даже без перезагрузки сервера. Можете еще раз зайти в службу компонентов и убедиться, что V77.GeneralPropPage появилась.
При желании можете скачать готовые reg файлы и подредактировать там пути и имена 1С7 на свои.
Надеюсь, что эта статья Вам поможет. С праздником Рождества Христова. Всего доброго
Related Posts
18 Comments
это чтобы не париться с какими-то ключами защиты?
По каким то причинам 1С7 на такие операционки устанавливается некорректноможет быть 1С7 и не должна устанавливаться на новые ОС? 🙂
такая же фигня и на платформе 8.3((((
ну а для 1С-7.7 еще начиная с Висты приходилось танцы с бубном плясать
особенно для SQL.
Ну начнём с того, что 1с 7.7 вообще не устанавливается под 64х разрядной системой, т.к. установщик 16-ти битный.
(4) ltfriend, так отож 🙂
А я удивляюсь, почему у меня всё работает 🙂
Не знаю с какого сайта, но по установке 1с 77 под Вин Сервер 64 использовал следуйщий метод:
Наверное многие сталкивались с проблемой установки 1С 7.7 на 64 битные системы.
Однако эта проблема может быть решена. Для этого понадобится компьютер с установленной 32 бит ОС.
Затем скачиваем последнюю версию драйверов для ключа HASP:
Устанавливаем ее, во время установки может быть выдано предупреждение о том, что драйвер не подписанный, нажимаем все равно установить этот драйвер и дожидаемся окончания установки.
Тем кто использует сетевую версию 1С, необходимо скачать также HASP Licence Manager, последнюю версию которого можно взять здесь:
Устанавливать менеджер лицензий желательно как службу, если установить как прогамму, то иногда во время автозапуска могут наблюдаться вылеты. И менеджер лицензий придется запускать вручную.
Теперь заходим в свойства соданного ранее на рабочем столе ярлыка для 1С и прописываем запуск от имени администратора.
После этого 1С предприятие прекрасно работает. При установке на сервер придется повторить для каждого юзера настройку для запуска от имени администратора и то что касается настройки DEP.
Читайте также: