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

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

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

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

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

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

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

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

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

Вакансии

Программист 1С
Чебоксары
зарплата от 50 000 руб. до 70 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 150 000 руб.
Полный день

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

Консультант 1С
Москва
зарплата от 100 000 руб. до 140 000 руб.
Временный (на проект)