Имя: Пароль:
1C
 
проблема, на платформе 8.1 работает, на 8.2 - нет
0 Vstur
 
23.12.16
00:05
Подскажите, куда копать...
Вводные:
- сложная интегрированная конфигурация на основе УТ 10.3 + куча сторонних модулей, в числе котрых и логистика с использованием карт CityGuide, старых, еще вер.3
или даже отдельно модуль тот же логистики с использованием карт CityGuide
Т
1 Vstur
 
23.12.16
00:10
Сорри
Толстый клиент. Все равно, файловая или клиент-сервер.
На клиенте с 32-битной ОС (любой) все работает и на 8.1 и на 8.2
На клиенте с 64-битной ОС (любой) на 8.1 работает, на 8.2 падает.

Падает на создании объекта CityGuideControl.
Под работает имею в виду, создается объект и визуализируются карты.

Объяснений найти не могу. В чем может быть различие.
2 Garykom
 
гуру
23.12.16
00:52
1. Обратиться сюда http://www.probki.net/sdk.aspx и сюда http://www.1cbit.ru/1csoft/bit-upravlenie-transportnoy-logistikoy/

Если не помогло, то
2. Нанять кого то чтобы переписал на другие открытые карты, например на http://openstreetmap.ru/#map=3/62/88 вот так https://habrahabr.ru/post/230951/ или так http://1cprofi.com/content/view/80/27/
3 France
 
23.12.16
01:46
(1) сторонние модули? СОМ объекты?.. вот тут и копать.. и до обеда: с публикациями СОМ проблемы скорее всего..
4 VladZ
 
23.12.16
06:44
(1) Из истории: когда только появились 64-битные ОС были проблемы с драйверами. На принтера точно были.. И еще на какое-то оборудование, не помню уже. Отсюда совет: если нужно специфичное ПО - 64бита лучше не ставить.

Теперь к вопросу: Кто виновать? И что делать?
Пишем разработчику (тому кто придумал CityGuideControl). Возможно, они используют кривые библиотеки, которые не дружат с 64разрядами.
5 Vstur
 
23.12.16
07:51
А как эти гипотезы объясняют, что под 64-bit на платформе 8.1 все работает, а на 8.2 - нет.
6 zva
 
23.12.16
07:56
(0) Что значит падает? В логах винды какая ошибка?
7 VladZ
 
23.12.16
07:58
(5) Видимо 8.2 использует какую-то "волшебную хрень", которая не нравится CityGuide.
8 cons74
 
23.12.16
08:01
Может 8.1 "вся" 32-битная, а 8.2 пытается что-то использовать 64-битное.
9 Vstur
 
23.12.16
09:08
(6)
Падает - это прекращает работу с обезличенным сообщением в журнале:

Имя журнала:   Application
Источник:      Application Error
Дата:          21.12.2016 14:36:56
Код события:   1000
Категория задачи:(100)
Уровень:       Ошибка
Ключевые слова:Классический
Пользователь:  Н/Д
Компьютер:     yyy.xxx.local
Описание:
Имя сбойного приложения: 1cv8.exe, версия: 8.2.18.109, отметка времени: 0x51dc0d70
Имя сбойного модуля: unknown, версия: 0.0.0.0, отметка времени 0x00000000
Код исключения: 0xc000041d
Смещение ошибки: 0x75284f69
Идентификатор сбойного процесса: 0x1104
Время запуска сбойного приложения: 0x01d25b7e66afa3f9
Путь сбойного приложения: C:\Program Files (x86)\1cv82\8.2.18.109\bin\1cv8.exe
Путь сбойного модуля: unknown
Код отчета: c692c77d-c771-11e6-b734-00155d4d3204
10 Vstur
 
23.12.16
09:09
(8)
Дык... клиент 64-битный появился только в 8.3.9.....
11 dmpl
 
23.12.16
09:12
(1) В объекте CityGuideControl происходит необработанное исключение. В 8.1 платформа это дело обрабатывала сама, а 8.2 валится, т.к. не обрабатывает это исключение.
12 shust
 
23.12.16
09:15
Попробуйте запустить 1с от администратора, + попробуйте отключить UAC
13 Vstur
 
23.12.16
09:18
(12)
Это все проделано в первую очередь. UAC - это первое,что выключаю после установки ОС.
14 shust
 
23.12.16
09:25
Значит длл-ка не регистрируется автоматически, попробуйте вручную зарегистрировать используемые длл.
15 Vstur
 
23.12.16
09:27
(14)
Также неоднократно проделано.
16 dmpl
 
23.12.16
09:29
(15) Ловите строчку, на которой происходит падение - и дальше думайте, что тут не так.
17 Vstur
 
23.12.16
09:32
Более того. Картография CityGuide защищена своим hasp-ключом.
Есть web-приложение Admin Control Center, с помощью которого можно смотреть то, что относится к ключам, кол-ву лицензий, сеансам пользователей по захвату лицензий на ключах и т.п.
И под 8.1, и под 8.2 видно, что пользовательский сеанс открывается, лицензия CityGuide захватывается. Т.е. с этой точки зрения все ок.
Вот только 8.2 падает, а 8.1 - работает....
18 dmpl
 
23.12.16
09:33
(17) Рекомендую начать поиски с мест обращения к этой компоненте, которые заключены в Попытка - Исключение.
19 shust
 
23.12.16
09:33
Тогда отладчик только поможет понять.
20 Vstur
 
23.12.16
09:47
Строчка сразу же была поймана, это вызов метода, где параметром передается
"CITYGUIDECONTROL.CityGuideControlCtrl.1"
Это строка, идентифицирующая ActiveX. (ProgID).

Далее в отладчике 1с лезть некуда...
21 Cool_Profi
 
23.12.16
09:48
А производители сего поделия что говорят?
22 Vstur
 
23.12.16
09:50
(21)
Снято с поддержки за давностью....
23 dmpl
 
23.12.16
09:51
(20) В 8.1 какое поведение на этой строке?
24 Cyberhawk
 
23.12.16
09:51
"UAC - это первое,что выключаю после установки ОС" // Это не избавляет от необходимости запуска в elevated-режиме
25 Cyberhawk
 
23.12.16
09:51
И слово "выключаю" некорректно - его можно лишь понизить до минимума, но не выключить. Иначе не было бы необходимости из (24)
26 Vstur
 
23.12.16
09:57
(20)
в 8.1 нормально проходит эту строку.
И в любой 32-битной платформе тоже.
27 dmpl
 
23.12.16
10:00
(26) Без исключений (включите остановку по ошибке)? Тогда сравнивайте свойства объекта - там можно обнаружить много интересного. Например, Read once свойства...
28 Vstur
 
23.12.16
10:16
А все равно, обрамлять фрагмент попыткой-исключением, или нет, хоть с отладкой "останов по ошибке", хоть как, все равно вылетает просто 1с на этой же строке....и конец...
29 dmpl
 
23.12.16
10:19
(28) Так в 8.1 надо ловить исключения. Если есть исключение в внешней компоненте - к бабке не ходи - 8.2 будет падать. Не умеет она обрабатывать это.
30 Vstur
 
23.12.16
10:20
(29)
логично
31 Про100Филя
 
23.12.16
10:25
(0) Версию ОС в студию. У меня длл-ки на 10-ке отваливались, на ms server 2016 тоже не работали.
32 Vstur
 
23.12.16
10:29
64-bit Win7
64-bit Server2008R2 (несколько разных исталяций)
33 Vstur
 
23.12.16
10:31
(28)
Под 8.1 исключения не происходит.
После вызова метода в самом объекте внешне (в отладчике) ничего не меняется и не происходит. Просто проходит строку и работает дальше...
34 mistеr
 
23.12.16
10:35
(22) Ну и чего ты еще хочешь? Пользуйся поддерживаемыми версиями или создавай все условия для работы этого старья.

Из любопытства, попробуй создать этот объект из WSH.
35 Vstur
 
23.12.16
10:38
(34)
пока на всех локальных клиентских машинах XP 32, доступ из вне через терминальный сервер 2003 32-bit, поэтому до сих пор не спотыкались об это.
страшит перспектива появления клиентов на 64-bit OS.
36 Vstur
 
23.12.16
10:39
А платформа давно переведена на 8.2, никакого отката на 8.1 быть не может....
37 Vstur
 
23.12.16
11:17
Аналогичная проблема, если вместо карт CityGuide использовать карты Google.
При прочих равных на 8.1 нормально, на 8.2 вылет на клиенте с 64-битной ОС.
38 mistеr
 
23.12.16
16:59
(37) А там какой объект?
39 Vstur
 
23.12.16
17:12
(38)
На примере СитиГида в (20) объект Карты
40 Vstur
 
23.12.16
17:26
(37)
только понял вопрос, для GoogleMaps летит на аналогичной конструкции:
Карты.AddMap(1, "Shell.Explorer.2", ЭтотОбъект, ИндексКарты);
41 mistеr
 
23.12.16
17:36
(40) Нифига не аналогичной.

Протести в другом хостовом приложении. В Экселе например.
42 Vstur
 
23.12.16
17:43
(41)
что-то типа :
Новый COMОбъект("Excel.Application")
?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший