1с 77 база данных не может быть открыта в однопользовательском режиме

Обновлено: 07.07.2024

1С 8.2.17.153. Клиент-серверный вариант. Сервер 1С 64-битный.

Код выполняется на сервере:
ОЛЕ77 = Новый COMObject("V77.Application");
Выдает ошибку: Недопустимая строка с указанием класса.

При этом на клиенте на том же сервере выполняется нормально, и файловая база на том же сервере также выполняется нормально (как на клиенте, так и на сервере)

Сразу скажу уже много искал, пробовал зарегистрировать компоненту через службу компонентов, вот только для 7.7 он регистрируется как то не так как в 8.2. И итоге получилось только зарегистрировать таким образом comcntr.dll и подключаться к 8.2, а как к 7.7 не пойму. Помогите плз, кто знает как можно сделать чтобы заработало именно для 64 битного сервера 1с.

ну что? удалось запустить 7.7 application на сервере? (1) Tpakmop,
пуск-администрирование-службы компонентов в дком найти V77 - свойства - безопасность
посмотреть права для пользователя под которым запускается регламентные задания на сервере. обычно что-то типа USER1CV8SERVER ОЛЕ77 = Новый COMObject("V77.Application"); существует только на клиенте, обратите на это внимание. На самом деле если используется скльная 7.7, то нужно использовать v77s, как то так:
Обращая внимание на то что сервер х64, и компоненты 32 не работают. "v82.Application" также не работала, но ее можно добавить через службу компонентов файл comcntr.dll, тогда к 8.2 цепляется с сервера только строку надо писать "v82.ComConnecter". Проблема в том что 7.7 нет такого файла, он как то по другому ее регистрирует.

А зачем через "v82.ComConnecter" делайте в 7 "v82.Application" и V8 = Новый COMОбъект("V82.Application");

Ещо подсказывают что можно не "v82.ComConnecter" а просто через "v82.Connect" А зачем через "v82.ComConnecter" делайте в 7 "v82.Application" и V8 = Новый COMОбъект("V82.Application");
Сервер 1С 64 не подключался через "V82.Application", сделал через службу компонентов там именно "v82.ComConnecter" регистрируется. Ну это не важно так как вопрос в 7.7 стоит. (8) Tpakmop, Так я не понял вариант с v77 s тоже дает ошибку?
V77.Application - сетевая версия
V77L.Application - локальная версия
V77S.Application - версия SQL ++ если мне память не изменяет у метода "Новый COMObject("V77.Application");" - есть второй параметр. имя сервера. На сервере должна быть установлена 1с версии 7.7, поскольку искать будет именно на сервере, если 1с установлена не будет, то и подключения не будет. 1с версии 7.7 на 64 битной виндой не установится (у меня не получилось), можно победить пернеся каталог программы с установленной 32. Однако не факт, что потом сконнектится сможет. В винде по ней записей не будет. Хотя можно попробовать. (12) shomo,
так-то в (1) написано
"При этом на клиенте на том же сервере выполняется нормально"

Справка
COMОбъект (COMObject)
Конструкторы:

По имени приложения

Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект.

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

Все не просто, а очень просто!
7.7 никогда не была com объектом! Это OLE объект - это важно помнить всегда!
Вывод:
Может работать тогда и только тогда когда существует(!) "РАБОЧИЙ СТОЛ" т.е. любые сеансы без рабочего стола не запустят OLE 7.7

Выход только один:
Для службы "Агент сервера 1С:Предприятия 8.2 (x86-64)" (ведь под кем то же сервер запускается :))
В диспетчере служб установить запуск от "Системной учетной записи" И "Разрешить взаимодействие с рабочим столом"
(картинка прилагается, только в качестве примера другая служба)

Сделать для службы сервера 1С так называемый zero-доступ.
Да безопасность на нуле, но это единственный выход запускать сервером OLE 1С 7.7

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