Имя: Пароль:
1C
1С v8
Определение устройства
0 KKrKKdd
 
18.11.13
13:32
Добрый день! Подскажите пожалуйста, как быстро и легко программно определить с какого устройства выполнен вход (пк или устройство с ос IOS)??? Мне это нужно для изменения форм в зависимости от размера экрана.
1 fmrlex
 
18.11.13
13:33
(0) Вход куда?
2 KKrKKdd
 
18.11.13
13:35
на веб сайт с размещенной там бд
3 KKrKKdd
 
18.11.13
13:44
или другими словами как написать проверку что ос = IOS?
4 1dvd
 
18.11.13
13:45
Это 8.3 Вэб-клиент чтоли?
5 KKrKKdd
 
18.11.13
13:47
он самый
6 roman844
 
18.11.13
13:48
(0) мож это поможет, надо проверять только.
СистемнаяИнформация (SystemInfo)
ВерсияОС (OSVersion)
Использование:

Только чтение.
Описание:

Тип: Строка.
Версия операционной системы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
7 1dvd
 
18.11.13
13:48
(5) а что сразу не сказал?
8 KKrKKdd
 
18.11.13
13:51
(7) а есть принципиальная разница для определения ос?
нашла для семерки вообще. работает правда на ios не тестила пока...

ScrptCtrl=Новый COMОбъект("MSScriptControl.ScriptControl");
  ScrptCtrl.Language="vbscript";
  ScrptCtrl.AddCode("
  |Function GetVer()
  |    Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"")
  |    Set colOperatingSystems = objWMIService.ExecQuery(""Select * from Win32_OperatingSystem"")
        |    strInfo=vbNullString
        |    For Each objOperatingSystem in colOperatingSystems
        |        strInfo=objOperatingSystem.Caption & "" "" & objOperatingSystem.Version
  |        Exit For
  |    Next
  |    GetVer=strInfo
  |End Function
  |");
  ТекстВерcии=СокрЛП(ScrptCtrl.Run("GetVer"));
// Сообщить(ТекстВерcии);
Исключение
// Сообщить(ОписаниеОшибки());
КонецПопытки;
9 1dvd
 
18.11.13
13:53
(8) пробовала (6)?
10 KKrKKdd
 
18.11.13
14:00
(9) короче мой метод выдает "Microsoft Windows 7 Максимальная  6.1.7601"
а (6) "version 6.1 Service Pack 1 (Build 7601)"
нужно теперь на ios попробовать какой метод позволит наверняка определить устройство...
спасибо всем-превсем!!!
11 roman844
 
18.11.13
14:01
Без com-объектов можно так
СисИнфо = Новый СистемнаяИнформация;
    Сообщить("Вер. " + СисИнфо.ВерсияОС + " тип " + СисИнфо.ТипПлатформы);
12 KKrKKdd
 
18.11.13
14:02
о есть еще СисИнфо.ТипПлатформы - там он пишет что это win...
13 roman844
 
18.11.13
14:02
вот результат - Вер. version 6.2  (Build 9200) тип Windows x86
14 KKrKKdd
 
18.11.13
14:02
(11) да да... хорошая штука. спасибо!
15 acsent
 
18.11.13
14:03
Код в (8) не будет работать в браузере
16 KKrKKdd
 
18.11.13
14:04
(15) отладчик веб отрабатывает. не будет работать через интернет?
17 KKrKKdd
 
06.12.13
06:47
(11) короче на пк эта функция работает, а вот на ios выходит такая ошибка игнорируя попытку
http://s7.uploads.ru/acGml.png
18 Kupogun
 
06.12.13
06:49
(17) а фото где?
19 roman844
 
06.12.13
08:20
(17) по подробнее можешь написать
20 Kupogun
 
06.12.13
09:05
СистемнаяИнформация обращается к какой-то системной функции, которая есть в ВинОС и нет в эплОС?
21 KKrKKdd
 
06.12.13
09:12
(20) Получается что так. все остальное работает. стоит написать эту функцию даже в попытке, выходит вышеупомянутое сообщение. на дальнейшую работу не влиет.
22 Kupogun
 
06.12.13
09:16
был бы апач можно было поизвращаться и решить эту проблему так:
http://forum.codenet.ru/q66109/
23 roman844
 
06.12.13
11:20
Тип платформы для системной информации в справке обозначен как:
Linux_x86 (Linux_x86)
Linux_x86_64 (Linux_x86_64)
Windows_x86 (Windows_x86)
Windows_x86_64 (Windows_x86_64).
От сюда можно сделать вывод, что работать будет только под этими ОС.
24 roman844
 
06.12.13
11:25
кстате, можно попробывать через javascript получить тип браузера и тип ОС.
25 roman844
 
06.12.13
11:33