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 на свои.

Надеюсь, что эта статья Вам поможет. С праздником Рождества Христова. Всего доброго

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

это чтобы не париться с какими-то ключами защиты?

По каким то причинам 1С7 на такие операционки устанавливается некорректно

может быть 1С7 и не должна устанавливаться на новые ОС? :)

---
ну а для 1С-7.7 еще начиная с Висты приходилось танцы с бубном плясать
особенно для SQL.

Ну начнём с того, что 1с 7.7 вообще не устанавливается под 64х разрядной системой, т.к. установщик 16-ти битный.
Поэтому и в реестре ни чего не прописывается. А проблема решается гораздо проще (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, СтрокаСоединения);

Возможно ли это вообще - подключиться по OLE в регламентном задании?

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

у windows-пользователя регламентного задания есть права на создание COM-объектов ?
может там 7.7 не стоит? не из регламентного задания на сервере работает процедура?
Открыта = База7.Initialize(База7.RMTrade, СтрокаСоединения, "NO_SPLASH_SHOW")

7.7 установлена. Не из регл. задания работает.
Это я как раз внешнюю обработку, которая забирает данные из 7-ки пытаюсь в регламентные задания перенести.

Добавил NO_SPLASH_SHOW - не помогло.

В журнал регистрации записывается ошибка: Интерфейс не поддерживается.

(6) Регламентное задание выполняется не под админом, а под учёткой типа USR1CV81/USR1CV82
(12) я бы не был так категоричен. этому пользователю можно и админские права дать и своего указать под которым будет служба работать.
(12)Да, сервер работает под пользователем USR1CV81. А где у него задаются права на создание COM-объектов.
(12) все таки прав)
(14) попробуй его внести в группу Distributed COM Users

(15) Добавил пользователя в группу "Пользователи DCOM" - не помогло.

Говорят, можно настроить доступ с помощью утилиты DCOMCNFG - но что-то не могу найти там V77.Application.

(16) найдешь где это права раздается отпишись плиз, самому интересно.
делать учетку админом не по феншую будет, но на крайний вариант сойдет
Посмотри тут про 1с что-то есть?
Администрирование-Службы компонентов-Компьютеры-Мой компьютер-НастройкаDCOM.
что-то типа V77.Application

Нашел!
Всё заработало :)

Сделал так:
Пуск - Выполнить - DCOMCNFG.

Там разворачиваем "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM". Внури есть V77.GeneralPropPage и V77.SalaryPropPage. Права задаются в свойствах на закладке "Безопасность".

После всего нужно перезапустить службу "Агент сервера 1С:Предприятия 8.1".

У меня проблема другого толка, но м.б. кто-нибудь подскажет.
Когда запускаю семерочку по 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.

Читайте также: