Имя: Пароль:
1C
1С v8
Как в коде серверного модуля определить, что база подключена через веб-сервер?
0 Chai Nic
 
10.04.13
18:49
Как в коде серверного модуля определить, что база подключена через веб-сервер? Функция глобального контекста СтрокаСоединенияИнформационнойБазы() в случае публикации через веб-сервер выдает строку, аналогичную строке обычного подключения, то есть с помощью неё можно отличить клиент-сервер от файловой, но нельзя определить веб-подключение. Так как это сделать?
1 MM
 
10.04.13
18:58
Получить массив ПолучитьСеансыИнформационнойБазы(), найти в нём элемент НомерСеансаИнформационнойБазы() и затем прочитать ИмяПриложения из элемента массива с типом СеансИнформационнойБазы.
2 Chai Nic
 
10.04.13
19:09
(1) Если подключение было через веб, но с помощью тонкого клиента - выдается "1CV8C", то есть тонкий клиент.. неотличимо от обычного обращения тонкого клиента к ИБ.
3 MM
 
10.04.13
19:15
Может поможет AppID из ISessionInfo ?
4 Cyberhawk
 
10.04.13
19:19
ИнформацияПрограммыПросмотра (UserAgentInformation)
Использование: Только чтение.
Описание: Информация о веб-браузере (userAgent).


Тип: Строка.
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Во всех режимах, кроме веб-клиента, содержит пустую строку.

IPАдресПодключения
Описание: Содержит IP-адрес, с которого осуществляется подключение клиента к веб-серверу
Примечание: В случаях подключения клиента не через веб-сервер содержит пустую строку.
5 Chai Nic
 
10.04.13
19:24
(4) Аналогично. Не различается "тонкий клиент" и "тонкий клиент через веб".
6 Cyberhawk
 
10.04.13
19:27
(5) т.е. описание в СП "IPАдресПодключения
Примечание: В случаях подключения клиента не через веб-сервер содержит пустую строку." некорректно?
7 Chai Nic
 
10.04.13
19:27
(6) Да, но и в случае подключения тонкого клиента через веб-сервер также возвращает пустую строку.. непустая только через браузер.
8 Chai Nic
 
10.04.13
19:28
(3) Как обратиться к этому объекту?
9 Cyberhawk
 
10.04.13
19:31
(5) а справка - о программе - вариант работы - сжатие отличается в этих двух режимах?
10 Chai Nic
 
10.04.13
19:37
(9) Вот что выдается тонким клиентом в обычном режиме
Режим: Файловый (без сжатия)

А вот что при подключении через веб-сервер
Режим: Веб-сервер (сжатие: усиленное)


Однако, как к этой информации получить доступ в серверном модуле, вот вопрос?
11 Chai Nic
 
10.04.13
19:39
(10) Или хотя бы на клиенте как получить эту информацию? Передать её на сервер в принципе дело техники.
12 Cyberhawk
 
10.04.13
19:46
(10) а строки соединения не отличаются?
13 Cyberhawk
 
10.04.13
19:46
+(12) на клиенте ессно. На сервере всегда должен возвращать srvr
14 Chai Nic
 
10.04.13
19:48
(13) Да отличаются, конечно. На одном веб-адрес, на другом каталог. А толку? Как это из кода достать?
15 Chai Nic
 
10.04.13
19:49
(14) В смысле отличаются в окне "О программе", а функция СтрокаСоединенияИнформационнойБазы выдает одно и то же
16 Cyberhawk
 
10.04.13
19:49
(15) функцию на клиенте выполняете?
17 Chai Nic
 
10.04.13
19:55
(16) И на клиенте, и на сервере функция возвращает одно и то же - "File="C:\Documents and Settings\admin\Рабочий стол\IB";", хоть через веб-сервер, хоть при прямом доступе тонкого клиента к базе.
18 Chai Nic
 
10.04.13
21:33
(1) Всё-таки нашел работающий способ. В реквизите Компьютер объекта СеансИнформационнойБазы в случае подключения через веб возвращается пустая строка, а при обычном подключении - имя компьютера. Спасибо за подсказку!
ЗЫ Жаль только что в документации это поведение явно не регламентировано, и вполне могут в какой-то версии начать возвращать имя компьютера и для веб-клиента..