helpf.pro
Регистрация

v8.2 УП: Подключение торгового оборудования через RDP (терминал)

koteparvatti
20.03.2014 12:40Прочитано: 16750
Добрый день!
УТ 10.3
Поделитесь опытом, может кто сталкивался с такой задачей?
Необходимо разделить работу оборудования по сессиям.
Сейчас 1С пытается подключить всё подключенное к компьютеру оборудование, т.к.
пользователи работают через RDP и компьютер определяется как TERMINAL.
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
20.03.2014 12:46Ответ № 1
Непонятна ситуация,есть, допустим, два клиентских компьютера, есть сервер терминалов.
1. Если торговое оборудование подключено к клиентской машине, то как второй клиент может её подключить?
2. Если торговое оборудование подключено к серверу терминалов (что с трудом представляется), то как оба клиента могут с ним работать?
.....
Это я представляю ситуацию, когда под торговым оборудованием подразумевается, например, один сканер (или касса, неважно), тогда, даже если допустить ситуацию, что с одного клиента запущены две терминальные сессии, как сотрудники будут делить один сканер?
Изменено 20.03.14 12:49:21
koteparvatti
20.03.2014 12:54Ответ № 2
Пример:
Есть 2 ККМ подключенные к клиентским машинам. Настроенные.
Через RDP кассиры подключаются к 1С.
ККМ подключается в 1С через ТорговоеОборудование, НО т.к. в 1С оба эти пользователя определяются как с компьютера TERMINAL происходит затык.
Например, заходит подключается третий пользователь у которого не установлена ККМ, когда юзер пытается открыть список документов ЧЕК ККМ(например) у него вылетает ошибка: Не удалось подключить оборудование.
А оно и не должно подключатся, но т.к. для 1С компьютер с которого пользователь подключается определяется как TERMINAL, программа пытается подключить всё подключенное к компьютеру TERMINAL оборудование.
надеюсь доходчиво на этот раз)
о_О
Mokey
20.03.2014 13:51Ответ № 3
Тут важно понимать, что RDP - это сервер, он может быть и в космосе, без разницы, и сеанс 1С запускается именно на сервере, как возможно торговое оборудование подключить в таком варианте? Я пока не пойму, или не догоняю Вашу проблему (сам обслуживаю базу с RDP доступом, при этом не знаю, где сервер находится, т.к. за него другой отдел отвечает). Другой вопрос, что можно пробросить локальные ресурсы в сеанс (принтеры, диски и т.д.), но они будут иметь привязку к данному клиенту... при чём тут третий?
oreol100
21.03.2014 08:30Ответ № 4
Не прокатит. Надо устанавливать платформу на каждый комп, и подключатся не через терминал. Или второй вариант - пользоваться не стандартными настройками торгового оборудования, например Атоловскими.
Изменено 21.03.14 08:31:45
koteparvatti
24.03.2014 16:50Ответ № 5
Mokey
"Другой вопрос, что можно пробросить локальные ресурсы в сеанс (принтеры, диски и т.д.), но они будут иметь привязку к данному клиенту... при чём тут третий?"
Так он получается не "третьим"..
Клиент получается для 1С - TERMINAL. Т.к. TERMINAL - это название сервера(компа) RDP через который юзеры заходят в 1С.

Решил проблему.
Добавил в РегистрСведений.ТорговоеОборудование ресурс - ИмяКлиента.
В процедуру "ПодключитьКлиента()" в обработке СерверТО добавил проверку на совпадение ИмяКлиента с "%CLIENTNAME%" (то есть реальным именем компьютера клиента который подключается через RDP)
И вуаля !

To oreol100
Атоловские драйверы мне пригодились только для теста различных устройств.
Муть редкостная)) Лучше без них обойтись
koteparvatti
24.03.2014 16:50Ответ № 6
Но всё же хотелось бы найти более "профессиональное решение"
Поэтому оставлю вопрос открытым
Bell
24.03.2014 17:38Ответ № 7
(2) Такого не может бытьь. Наверное Третий входит под РДП соединением 1го или 2 го. (Сколоко пользователей столько и РДП)У меня от 3 до 7 касс нет проблем (2003) ни с оборудованием ни со входами от пользователей прочих. Смотри настройки как 1с т.к и винды.
А елси хочешь сделать очень хорошо. Поставать на клиентские ашимы thin client (тонкие клиенты ) и все будет гуд, Сейчас если с ноля идет разворот я всем советую их стаить проблем вообще нит ни с чем никаких.
Изменено 24.03.14 17:43:49
koteparvatti
23.04.2014 13:44Ответ № 8
Вопрос закрыт!
s_chagin
23.07.2014 11:45Ответ № 9

Автор, раскрой код решения, pls!

SlavaVNL
31.07.2015 08:05Ответ № 10

Спасибо автору за идею. Накопал на просторах вот это:

обработка ТОСервер: Модуль объекта. 

Код 1C v 8.х
 Функция ПолучитьИмяКомпьютераТО() Экспорт
   //((заменим на имя физического компа
//типовой код комментируем.
//Если мИмяКомпьютера = Неопределено Тогда
// мИмяКомпьютера = ВРег(ИмяКомпьютера());
//КонецЕсли;
     Если мИмяКомпьютера = Неопределено Тогда
        WSS = Новый COMОбъект("WScript.Shell");
        WSSE = WSS.Environment("Process");
        мИмяКомпьютера = ВРег(WSSE.Item("ClientName"));
        Если ПустаяСтрока(мИмяКомпьютера) Тогда
            мИмяКомпьютера = ВРег(ИмяКомпьютера());
        КонецЕсли;
    КонецЕсли;
//если зайти в терминальной сессии консольно, то получим "CONSOLE",
// в этом случае применяем типовую функцию
    Если мИмяКомпьютера = "CONSOLE" Тогда
        мИмяКомпьютера = ВРег(ИмяКомпьютера());
    КонецЕсли;
//))
Возврат мИмяКомпьютера;
КонецФункции // ПолучитьИмяКомпьютераТО()

Из очевидных плюсов - нет необходимости добавлять новый реквизит.

Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.