|
Лицензирование от КАТРАН не работает с сервером 1С версии x64 | ☑ | ||
---|---|---|---|---|
0
dimetra2008
07.10.11
✎
04:56
|
Всем привет.
Наша контора использует отраслевое решение "Управление ремонтами", конфа которой защищена ключом от КАТРАНА. Эта конфигурация работает на платформе 1С 8.2 в клиент серверном варианте, по следующей схеме: Сервер1 (терминальный сервер с клиентом 1С 8.2 на котором пользователи живут) Сервер2 (Сервер 1С Предприятие 8 х32) Сервер3 (MS SQL Server 2008 R2) Сервер4 (Здесь стоит сервер СЛК 2.0.2.9 и в него же воткнут КАТРАНовский ключ) Сервер1-Сервер3 это виртуальные машины от MS HyperV Сервер4 - физическая машина Так вот, все это замечательно работает, но только если Сервер3 на котором стоит сервер 1С Предприятие 8 является х32, если вместо х32 сервера 1с начать использовать х64 то катрановский ключ конфа уже не может увидеть. Хотя настройки в конфигурационном файле на сервере 1С прописаны верно (IP адрес сервера СЛК, порт и т.д.) В чем затык, кто знает? Очень хочется на сервер 1с х64 перейти. |
|||
1
Матвеев Максим
07.10.11
✎
06:54
|
Нужен ключ 64бит! LOL
|
|||
2
Amiralnar
07.10.11
✎
07:01
|
(0) В техподдержку пробовали обращаться? Особенности работы катрана - это очень специфичная тема.
(1) Пробовали читать тему перед тем, как оставить комментарий? Говорят, помогает. |
|||
3
Матвеев Максим
07.10.11
✎
07:03
|
> Пробовали читать тему перед тем, как оставить комментарий? Говорят, помогает.
8-) откуда же вы беретесь такие зануды |
|||
4
PLUT
07.10.11
✎
07:06
|
(0) нужен ключ одноэс-сервера ЗЕЛЕНОГО цвета
|
|||
5
dimetra2008
07.10.11
✎
07:21
|
Обращался напрямую к разработчику конфы... они нифига не смогли сделать, даже удаленный доступ им предоставлял!
А ключик у меня х64 |
|||
6
Мимохожий Однако
07.10.11
✎
07:44
|
МОжет ключ сломан? Пробовал на какой-нибудь локальной машине?
|
|||
7
Amiralnar
07.10.11
✎
08:13
|
Так, подожди. Ты битность сменил с сервера 1с или у сервера виндовс?
Потому, что если у виндовс, то катрановский драйвер не подписан, и на 64 битном виндовсе он отключается. Для запуска нужно использовать режим разработчика, или перед загрузкой отключить проверку подписи драйверов. |
|||
8
Jofa
07.10.11
✎
08:37
|
(5) Сервер 1С Предприятие 8 х32
|
|||
9
Jofa
07.10.11
✎
08:37
|
(5)Сервер2 (Сервер 1С Предприятие 8 х32)
|
|||
10
dimetra2008
07.10.11
✎
08:42
|
У меня есть два виртуальных сервера 2008, один х32, другой х64
на первом стоит сервер 1с х32 на втором сервер х64. с ними я эксперементирую. физический сервер на котором стоит ключ КАТРАНа является х64 и на нем винда 2008 х64 |
|||
11
dimetra2008
07.10.11
✎
08:45
|
ключ катрана на физ. машине х64 замечательно работает.
Если я использую для конфы сервер 1с х32 то все работает, но стоит только для конфы использовать сервер 1с х64 то сразу конфа отказывается видеть этот самый долбаный ключ |
|||
12
braslavets
07.10.11
✎
08:50
|
(0) Года четыре назад столкнулся с аналогичной проблемой. Обращался к разработчикам ключей Катран. Ответили - "мы над этим работаем" :) Видимо, плохо получается.
Тогда проблему решили путем отката на 32-бит ось. В дальнейшем удалось "отучить" конфу от ключа. |
|||
13
Amiralnar
07.10.11
✎
09:15
|
(11) А кто именно не видит? Конфа или система защиты?
|
|||
14
Amiralnar
07.10.11
✎
09:17
|
К стати, после (5) > Обращался напрямую к разработчику конфы... они нифига не смогли сделать, даже удаленный доступ им предоставлял! - на этом форуме то чего искать?
|
|||
15
dimetra2008
07.10.11
✎
09:17
|
Конфа не видит
|
|||
16
dimetra2008
07.10.11
✎
09:20
|
Эти балбесы-разработчики даже не знали что все эта система для х32 сервера 1с работает т.к. изначально у меня стоял х64 сервер 1с и они не могли ничего сделать, то что эта хрень для сервера 1с х32 работает самостоятельно экспериментальным путем вычислил
|
|||
17
Amiralnar
07.10.11
✎
09:23
|
Пробовал трассировть подключение к ключу? Может, если проблема в 1С, можно будет подправить?
|
|||
18
Amiralnar
07.10.11
✎
09:30
|
Конфа должна обращаться к системе защиты через ВК.
Возможны два варианта: 1 - ВК не возвращает ничего. Это плохо. 2 - ВК возвращает не так, как ждет конфа. Это поправимо. |
|||
19
dimetra2008
07.10.11
✎
09:35
|
>Пробовал трассировть подключение к ключу? Может, если проблема в 1С, можно будет подправить?
Не пробывал, не знаю как это делается |
|||
20
Goggy
07.10.11
✎
09:42
|
(1) моск купи дядя.
(0) Всё работает на х64 прекрасно. Там 2 компоненты в папке бин должны лежать с одинаквым название и одна с дописаным "х64". При запуске конфы протрассируй модуль приложения, там ф-ция отвечающая за подключение компоненты. (19)Ну тогда один вариант, обратиться к специалисту. |
|||
21
dimetra2008
07.10.11
✎
09:49
|
Точно
в папке: C:\Program Files (x86)\1C\Licence 2.0\Bin лежит два файла LicenceAddIn64.dll LicenceAddIn.dll В конфе создается объект: МенеджерЛицензий = Новый("AddIn.Licence.LicenceExtension20"); |
|||
22
dimetra2008
07.10.11
✎
09:50
|
я так полагаю нуно написать типа:
МенеджерЛицензий = Новый("AddIn64.Licence.LicenceExtension20"); ? |
|||
23
DmitrO
07.10.11
✎
10:00
|
(22)нет. так писать вообще нельзя.
Проблема вероятно в следующем. Вероятно загрузка компоненты (и работа с ней) идет на сервере, в серверном модуле. Дело в том, что 32разрядные dll ни при каких условиях не могут быть загружены в 64разрядный процесс. И наоборот тоже. Это ограничения ОС, и это логично. Надо просто загружать соответствующий разрядности вариант компоненты. Показывай код загрузки. |
|||
24
Goggy
07.10.11
✎
10:05
|
Мне кажется просто разработчик мог не учесть варианта выбора компоненты для х64, либо просто путь по дефолту стоит "програм файлс", а верный указать надо через "програм файлз(х64)".
|
|||
25
DmitrO
07.10.11
✎
10:06
|
вероятно при загрузке вариант компоненты который грузить определяется. но определяется он по разрядности ОС, а надо проверять по разрядности сервера 1С.
|
|||
26
Goggy
07.10.11
✎
10:08
|
(24) неправильно написал "програм файлх(х86)" :)
|
|||
27
Goggy
07.10.11
✎
10:09
|
(23) прекрасно подгружает обе ДЛЛки сам пробовал на разных ОС.
|
|||
28
Goggy
07.10.11
✎
10:10
|
(22) кинь всю ф-цию в которой подключаются компоненты.
|
|||
29
dimetra2008
07.10.11
✎
10:14
|
Функция ЗапускМенеджераЛицензий() Экспорт
ВнешняяКомпонентаПодключена = ПодключитьВнешнююКомпоненту("ОбщийМакет.торо_КомпонентаСЛК_2_0", "Licence", ТипВнешнейКомпоненты.Native); Если Не ВнешняяКомпонентаПодключена Тогда Попытка УстановитьВнешнююКомпоненту("ОбщийМакет.торо_КомпонентаСЛК_2_0"); ВнешняяКомпонентаПодключена = ПодключитьВнешнююКомпоненту("ОбщийМакет.торо_КомпонентаСЛК_2_0", "Licence", ТипВнешнейКомпоненты.Native); Исключение Сообщить("Ошибка подключения компоненты СЛК!" + ОписаниеОшибки()); Возврат Ложь; КонецПопытки; КонецЕсли; Если ВнешняяКомпонентаПодключена Тогда Попытка МенеджерЛицензий = Новый("AddIn.Licence.LicenceExtension20"); Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; // Запуск по серии ключей Возврат МенеджерЛицензий.Запуск("B0A2"); Иначе Возврат Ложь; КонецЕсли; КонецФункции |
|||
30
DmitrO
07.10.11
✎
10:15
|
(25)+ вероятно потому, что в объекте Системная информация есть только ВерсияОС и нет ничего чтобы как-то узнать разрядность текущего процесса. В результате определяется что версия ОС у нас Windows_x86_64 , и идет попытка загрузить компоненту для x64, а процсесс сервера 32разрядный. В результате компонента не загрузится
|
|||
31
Goggy
07.10.11
✎
10:16
|
(30) не путай, всё гуд подгружается при такой проверке и на 32 разрядный процесс.
|
|||
32
Goggy
07.10.11
✎
10:18
|
(29) короче находиш "ОбщийМакет.торо_КомпонентаСЛК_2_0" в дереве конфы, открываеш и загружаеш туда файл "LicenceAddIn64.dll" и пробуй запускать.
З.Ы. на всякий случай выгрузи с этого макета копию файла загруженного. |
|||
33
Goggy
07.10.11
✎
10:21
|
Какая фирма разработчик то этой г0Bноконфы(тм)? :)
|
|||
34
dimetra2008
07.10.11
✎
10:21
|
>короче находиш "ОбщийМакет.торо_КомпонентаСЛК_2_0" в дереве конфы, открываеш и загружаеш туда файл "LicenceAddIn64.dll" и пробуй запускать.
З.Ы. на всякий случай выгрузи с этого макета копию файла загруженного. Сенкс, попробую, отпишусь |
|||
35
dimetra2008
07.10.11
✎
10:22
|
>Какая фирма разработчик то этой г0Bноконфы(тм)? :)
Деснол-софт, они нам ее внедряли |
|||
36
Goggy
07.10.11
✎
10:26
|
(35) А, ну тогда сойдёт. у них вакансия старшего программиста 1С 22т.р. На эту сумму и написана конфа...
|
|||
37
dimetra2008
07.10.11
✎
10:32
|
>А, ну тогда сойдёт. у них вакансия старшего программиста 1С 22т.р. На эту сумму и написана конфа...
Га-га-га я думал таких зп уже нет |
|||
38
DmitrO
07.10.11
✎
10:34
|
(29)при такой загрузке (ПодключитьВнешнююКомпоненту из макета) можно в макете разместить zip-архив с разными вариантами компонент и манифестом, тогда будет универсально и работать на сервере любой разрядности.
|
|||
39
Goggy
07.10.11
✎
10:53
|
(38) Во, а вот это интересно можешь подробней расписать или тыкнуть де почитать можно? В документации по СЛК такого нету.
Выбор компоненты идёт с помощью манифеста? Что должен содержать файлег? |
|||
40
Goggy
07.10.11
✎
11:25
|
о, H A D G E H O G s, приди и выдай мудрость СЛКшную по поводу (39) плз :)
|
|||
41
H A D G E H O G s
07.10.11
✎
11:39
|
Какую мудрость?
Открыть макет этот в конфигураторе, сохранить с расширением zip и посмотреть архив. Он должен содержать нечто подобное LicenceAddIn64_2_0_3_46.dll LicenceAddIn_2_0_3_46.dll Licence_FFWindows_x86.xpi Licence_IEWindows_x86.cab MANIFEST.XML Если это так - правьте hands.dll, иначе - правьте макет. |
|||
42
Goggy
07.10.11
✎
11:47
|
(41) Как СЛК определяет какую компоненту пользовать из этого архива? Есть документация по этому поводу?
|
|||
43
H A D G E H O G s
07.10.11
✎
11:50
|
(42) Как бы вот так
СисИнфо = Новый СистемнаяИнформация; Если СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда Компонента = "LicenceAddIn.dll"; ИначеЕсли СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда Компонента = "LicenceAddIn64.dll"; Иначе Возврат Ложь; // Пока только Windows КонецЕсли; Возврат ПодключитьВнешнююКомпоненту(КаталогКомпоненты + Компонента, "Licence", ТипВнешнейКомпоненты.Native); |
|||
44
H A D G E H O G s
07.10.11
✎
11:50
|
А, не погодь, это если по имени файла.
|
|||
45
Goggy
07.10.11
✎
11:50
|
(43) я имел в виду из макета :)
|
|||
46
H A D G E H O G s
07.10.11
✎
11:51
|
Возврат ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСЛК", "Licence");
|
|||
47
H A D G E H O G s
07.10.11
✎
11:51
|
(45) 1С ка должна определить, что подключить. Сама. Исходя от того, где код выполняется.
|
|||
48
Goggy
07.10.11
✎
11:52
|
(46) и как она тут определит какую компоненту надо подключить?
|
|||
49
Goggy
07.10.11
✎
11:53
|
(47) прикольно, незнал. А зачем там дополнительные файлы ?
Licence_FFWindows_x86.xpi Licence_IEWindows_x86.cab MANIFEST.XML |
|||
50
H A D G E H O G s
07.10.11
✎
11:55
|
(49) Плагины для огнелиса и IE
|
|||
51
H A D G E H O G s
07.10.11
✎
11:55
|
И описание того, куда что подключается в манифесте.
|
|||
52
Goggy
07.10.11
✎
11:57
|
Ну супер. На след неделе поковыряюсь с таким вариантом, на УФ удобно так будет.
|
|||
53
Goggy
07.10.11
✎
12:00
|
Пасиб
|
|||
54
Begin
07.10.11
✎
12:17
|
(0) а какой релиз конфы используете?
|
|||
55
dimetra2008
10.10.11
✎
09:50
|
Коллеги, извините что ввел вас заблуждение, на самом деле ситуация несколько иная, а именно:
Конфа находит ключ в любом случае и при использовании х32 сервера 1с и при использовании х64 сервера 1с, но когда используешь х64 1с сервер то перестает работать защищенный функционал конфы, вываливатся с ошибкой: server_addr=tcp://DV1C03:1561=Ошибка сетевого доступа к серверу (Windows sockets - 10054(0x00002746). Удаленный хост принудительно разорвал существующее подключение.) line=1078 file=Src\DataExchangeTcpClientlmpl.cpp Когда используешь х32 1с сервер то все работает без сбоев. |
|||
56
Amiralnar
10.10.11
✎
16:23
|
Падает сервер 1С. Включайте ТЖ на исключения, и посмотрите, может там что будет понятно.
|
|||
57
dimetra2008
11.10.11
✎
02:21
|
Что такое ТЖ и как оно включается?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |