Имя: Пароль:
1C
1С v8
Не регистрируется comcntr.dll при использовании нестандартного IP порта
,
0 mnike1c
 
13.03.17
15:25
Да тема в гугле поднималась десятки раз и я всё сдесяток раз переустанавливал всё, что только можно по мануалам и выполнял команду регистрации dll, но не получается. [b]На стандартном порте работает код зареганной dll, на не стандартном нет.[/b] Нигде не видел упоминания о том, чтобы кто-то регистрировал библиотеку при работе на портах, отличных от 1541.

У меня стоит 2 разные 1с-ки и я хочу зарегистрировать comcntr.dll для той, которая работает на нестандартном порте.
Мне нужен совет о том, что возможно дополнительно нужно где-то настроить в таком случае или получить от знатоков подтверждение, что нет связи с портом и я просто что-то другое не так делаю. Помогите пожалуйста. Сижу в нерабочее время по вечерам и пытаюсь настроить, пока все offline.

Детально зачем мне это нужно:
1) Была на сервере 8.3.6.2390 на стандартном порте самописная конфигурация и с ней работает сотня клиентов со своими компами. Заставлять их всех менять версию невозможно. Обновлять эту конфигурацию или двигать её порт невероятно затратно будет. И уж тем более сделать это одновременно.
2) Возникла желание перевести в серверный вариант файловую бухгалтерию и она потребовала 1с поновее. Пришлось поставить 8.3.9.2170 на другой порт и в другую директорию, чтобы 1с-ки друг другу не мешались. Настроить их параллельную работу удалось на отлично. (Повесил второй сервис на порты -regport 1741 -port 1740 -range 1760:1791) Старые клиенты не заметили изменений. Бухгалтерией пользуются пару человек и им тоже вышло настроить на клиентских машинах одновременный доступ к двум конфигурациям. В общем двигать 8.3.9.2170 на другие порты и возиться с компами пользователей 8.3.9.2170 я могу.
3) Возникло желание воспользоваться плюшками COM-соединения и делать запрос к данным бухгалтерии из самописной конфигурации и там их отображать. Сам работоспособный запрос на файловой версии уже есть, но в серверном варианте проблема в строчке КоннекторCOM = Новый COMОбъект("V83.COMConnector");

Причём сообщение ошибки различается в зависимости от того зарегистрирована ли dll-ка или нет.
regsvr32 /u "C:\Program Files (x86)\1cv8_buhg\8.3.9.2170\bin\comcntr.dll" - разрегистрировал. ошибка "класс не зарегистрирован". Аналогично при 8.3.6.2390. Всё логично
regsvr32 "C:\Program Files (x86)\1cv8_buhg\8.3.9.2170\bin\comcntr.dll" - зарегистрировал. ошибка "недопустимое имя класса". при этом для 8.3.6.2390 аналогичная команда делает V83.COMConnector работоспособным. Можно посмотреть кодом список подключённых к 8.3.6.2390 базе юзеров. При подключении к бухгалтерии будет ошибка, что разные версии клиента и сервера.

При любой команде командная строка пишет, что класс успешно зарегистрирован. Пробовал параметры /n /i:user, пробовал от имени администратора и при отключении сервиса 1с перед выполнением команды - не помогло.
ps
На сервере 64битная винда и SQL, но обе 1с-ки стоят 32-битные, поэтому COM+ оболочка не нужна, но можно попробовать 64битную поставить специально
Может строчка "V83.COMConnector" для версии 8.3.9.2170 как-то по другому пишется?
Конечно было бы не плохо, чтобы были зарегистрированны 8.3.6.2390 и 8.3.9.2170 одновременно, но это видимо не возможно.
1 Мимохожий Однако
 
13.03.17
15:28
(0). Я бы всё сделал на одинаковой платформе. Не вижу причину разводить зоопарк. ОФФ: стоя в гамаке не удобно ))
1). В документации есть описание автоматической установки платформы по сценарию на каждом клиенте.
2 mnike1c
 
13.03.17
16:05
Под клиентам подразумевается клиенты фирмы, которые не имеют отношения к нам. У них тоже не редко стоят ещё и свои 1с-ки. Целые "зоопарки" из 8.2, 8.3 и батники, которыми они их запускают. Автоматической установкой можно им что-либо подгадить и тогда такой срач поднимется, что потеряем денег больше, чем лицензия на отдельный сервер. Наше желание мутить с бухгалтерией их не должно касаться. В общем вариант трогать клиенты компьютера и основную конфигурацию отпадает на все 100%. Жалко делать второй сервер (или виртуалку) + вторую лицензию из-за одного отчёта. Конечно однажды мы и свою 1с обновим, но это не обязательно делать часто. А бугалтерия пусть обновляется сколько ей надо, хоть каждый день.
3 Мимохожий Однако
 
13.03.17
16:19
(2) Для клиентов нет возможности сделать веб-доступ?
4 mnike1c
 
13.03.17
16:39
нет. не будет работать сканер штрихкодов.
5 mexanik_96
 
13.03.17
16:40
но ведь может. ну ТО в ут в вебе же работает как то?
6 h-sp
 
13.03.17
16:49
(4) сделайте вебсервис вместо com, тогда без разницы у кого какая платформа, 8.2 или 8.3, а плюшки те же самые.
7 alexlap
 
13.03.17
16:49
Причем здесь ip и нестандартные порты
Можно зарегистрировать только dll одной версии 8.3.
Другая клиентская машина или ВМ на той же поможет.
8 mnike1c
 
13.03.17
17:06
alexlap я знаю что можно только одну dll. Я описал, что регистрация одной версии 1с работает, а другой нет. Причина мне не понятна и я делаю предположение, что dll не видит 1с на другом порте
9 etc
 
13.03.17
17:37
посмотри в оснастке "Службы компонентов" в разделе Компьютеры -> "Мой компьютер" -> "Приложения COM+" не прописан ли у тебя там жестко путь к comcntr.dll от версии 8.3.6.2390. Если прописан то убирай или меняй.
10 etc
 
13.03.17
17:39
и учти что даже после регистрации старая dll иногда висит в памяти если она прописана через "Приложения COM+"
11 mnike1c
 
13.03.17
17:53
COM+ не прописан. я смотрел мануал по его установке и убедился, что у меня его нет