1. obmanOZ 1 30.12.16 11:03 Сейчас в теме

Подключение касс к УТ 10.3

Доброго дня!
Ребят, ВЫ может знаете методику подключения касс к УТ 10.3 ? У меня просто в магазине 5 касс.... 3 физических и 2 эмулятора будет. Я просто пробовал под одной настраивать кассу... потом заходил на другом компе в 1С а она ругается что касса не подключена.. т.е. получается она пытается найти кассу с того компа...
Так ведь не должно быть.. я где то туплю... может быть что тут принцип ТИСа 9.2 ? Тобишь я допустим создам пользователя "НастройкаКасс" дам ему полные права... и буду на каждом компе им заходить и настраивать кассы?
Я пробовал заходить на терминальные сервер под разными пользователями, П1 и П2 ... первому ставлю в настройках Кассу1 второму ставлю Кассу2 . возвращаюсь к первому открываю настройку у него в торговом оборудовании стоит Касса2...
Найденные решения
11. obmanOZ 1 30.12.16 11:48 Сейчас в теме
Судя по гуглу я не один с такой проблемой.. парень предлагает вот так сделать

Функция ПолучитьИмяКомпьютераТО() Экспорт
   //((заменим на имя физического компа 
	//типовой код комментируем. 
	//Если мИмяКомпьютера = Неопределено Тогда
	//	мИмяКомпьютера = ВРег(ИмяКомпьютера());
	//КонецЕсли;
     Если мИмяКомпьютера = Неопределено Тогда
        WSS = Новый COMОбъект("WScript.Shell");
        WSSE = WSS.Environment("Process");
        мИмяКомпьютера = ВРег(WSSE.Item("ClientName"));
        Если ПустаяСтрока(мИмяКомпьютера) Тогда
            мИмяКомпьютера = ВРег(ИмяКомпьютера());
        КонецЕсли;
    КонецЕсли;
//если зайти в терминальной сессии консольно, то получим "CONSOLE",
// в этом случае применяем типовую функцию
    Если мИмяКомпьютера = "CONSOLE" Тогда  
        мИмяКомпьютера = ВРег(ИмяКомпьютера());
    КонецЕсли;
	//))
	Возврат мИмяКомпьютера;
КонецФункции // ПолучитьИмяКомпьютераТО()
Показать
Остальные ответы
Сортировка: Древо
2. obmanOZ 1 30.12.16 11:06 Сейчас в теме
у пользователей в настройках так
3. olgerd666 41 30.12.16 11:16 Сейчас в теме
Методика подключения касс следующая
1) 1 база
2) заходим на 1м компьютере - выбираем пользователя Касса1 у него ставим кассу Касса1, обработка ТО - для Касса1 на нужном ему com порту
3) заходим на 2м компьютере - выбираем пользователя Касса2 у него ставим кассу Касса2, обработка ТО - для Касса2 на нужном ему com порту
4) итд
если у вас все через эмулятор - можно обойтись одной обработкой.
4. obmanOZ 1 30.12.16 11:17 Сейчас в теме
(3) Олег, спасибо за ответ! Я так и сделал, но если снова зайти на первом компе то у него в Оборудовании стоит флаг на Касса2
5. olgerd666 41 30.12.16 11:19 Сейчас в теме
удалите все обработки и добавьте заново. и проверьте еще раз справочник с кассами - там точно все верно проставлено?
6. obmanOZ 1 30.12.16 11:29 Сейчас в теме
(5) сейчас попробую... у меня терминальный сервер... вторым сообщением тут приложил настройку пользователей
7. olgerd666 41 30.12.16 11:32 Сейчас в теме
а они не под одним сеансом работают?
8. obmanOZ 1 30.12.16 11:35 Сейчас в теме
(7) Конечно, Админ под собой, каждый из касс под своим пользователем на сервере, в скриншоте видно два окна рабочих на серваке, каждый под собой сидит...
9. obmanOZ 1 30.12.16 11:36 Сейчас в теме
(7) Мне еще подсказывают тут что возможно надо ставить все галки в настройках, а 1С сама определит какая касса и какая обработка нужна, как думаете?
10. obmanOZ 1 30.12.16 11:40 Сейчас в теме
(7) Не, не прокатило ((( Ругается что КомПорт не доступен на одной из касс
11. obmanOZ 1 30.12.16 11:48 Сейчас в теме
Судя по гуглу я не один с такой проблемой.. парень предлагает вот так сделать

Функция ПолучитьИмяКомпьютераТО() Экспорт
   //((заменим на имя физического компа 
	//типовой код комментируем. 
	//Если мИмяКомпьютера = Неопределено Тогда
	//	мИмяКомпьютера = ВРег(ИмяКомпьютера());
	//КонецЕсли;
     Если мИмяКомпьютера = Неопределено Тогда
        WSS = Новый COMОбъект("WScript.Shell");
        WSSE = WSS.Environment("Process");
        мИмяКомпьютера = ВРег(WSSE.Item("ClientName"));
        Если ПустаяСтрока(мИмяКомпьютера) Тогда
            мИмяКомпьютера = ВРег(ИмяКомпьютера());
        КонецЕсли;
    КонецЕсли;
//если зайти в терминальной сессии консольно, то получим "CONSOLE",
// в этом случае применяем типовую функцию
    Если мИмяКомпьютера = "CONSOLE" Тогда  
        мИмяКомпьютера = ВРег(ИмяКомпьютера());
    КонецЕсли;
	//))
	Возврат мИмяКомпьютера;
КонецФункции // ПолучитьИмяКомпьютераТО()
Показать
14. obmanOZ 1 01.01.17 14:17 Сейчас в теме
Всё сделал как в (11) , помогло, в настройках торгового оборудования определяется на сервер а имя физического компа с которого мапимся на сервер
(13) Спасибо за помощь!
Вопрос закрыт!
12. obmanOZ 1 30.12.16 12:02 Сейчас в теме
13. olgerd666 41 30.12.16 12:16 Сейчас в теме
ммм...чтото такое впоминаю, но уже не уверен, вроде бы чтото есть с привязкой оборудования к имени компьютера и имени сеанса(?),пользователя(?). Вы ищете в правильную сторону.... а все нашел
4. Разделение оборудования по сессиям.

В типовых конфигурациях до сих пор не реализован механиз разделения оборудования по сессиям, и в нашем случае при открытии товарных документов любым пользователем, 1С пытается включить всё подключенное к текущему компьютеру оборудование (в нашем случае это 8 сканеров и два ФР) естественно сделать этого не может, о чём радостно сообщает пользователю несметным количеством ошибок.

Было решено использовать следующий алгоритм. Т.к. оборудование подключено к рабочим станциям, то перед подключением оборудования получаем имя компьютера с которого подключается сеанс. Для этого обращаемся к переменной среды CLIENTNAME. В регистр сведений Торговое оборудование добавлено строковое поле ИмяКлиента. И в модуле обработки СерверТО в процедуре ПодключитьОборудование() добавлена проверка на совпадение имени подключенного клиента с именем клиента для оборудования:

// Добавим проверку по клиенту, если это терминал.
Если ЗначениеЗаполнено(СтрокаТО.ССБ_ИмяКлиента) Тогда
WshShell = Новый COMОбъект("WScript.Shell");
ИмяКомпьютераКлиента = WshShell.expandEnvironmentStrings("%CLIENTNAME%");
Если НЕ СтрокаТО.ССБ_ИмяКлиента = ИмяКомпьютераКлиента Тогда
Продолжить;
КонецЕсли;
КонецЕсли;

Лучше выполнить этот кода в попытке, т.к. переменная среды доступна только в контексте терминального подключения и при вызове из локальных подключений может вызвать ошибку.
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный консультант-разработчик 1С
Краснодар
зарплата от 60 000 руб. до 60 000 руб.
Полный день



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день