Настройка торгового оборудования в конфигурации "Управление торговлей" ред. 10.3 при работе в терминальном режиме

12.04.17

Интеграция - ККМ

У пользователей 1С:Управление торговлей, использующих терминальный доступ для работы в программе, могут возникнуть проблемы при подключении торгового оборудования. Эти проблемы связаны с тем, что в конфигурации УТ 10.3 настройки торгового оборудования хранятся с привязкой к имени компьютера, а работа в режиме терминального доступа означает, что у всех работающих с программой будет одно и тоже имя компьютера. В статье рассмотрим способы решения данной проблемы.

Настройки торгового оборудования в конфигурации "Управление торговлей" ред. 10.3 хранятся в регистре сведений "Торговое оборудование":

Каждое оборудование привязывается к имени компьютера. Соответственно, если мы работаем в терминальном режиме, имя компьютера у нас получается одно и то же у каждого пользователя. Поэтому оборудования добавленное для одного пользователя получится подключенным к каждому сотруднику, работающему с программой. Это очень часто приводит к ошибкам, таким, как невозможность подключения любого оборудования с одним com портом на разных компьютерах, также если у одного из пользователей будет подключено оборудование (например, com-портовый сканер штрих кодов), то у всех остальных пользователей, работающих с программой, будет выскакивать ошибка, что это устройство у них не подключено.

Решение проблемы становится очевидным, это добавление к имени компьютера информации о пользователе. Это решит проблему и позволит делать независимую настройку торгового оборудования для каждого пользователя. Имя компьютера 1С получает в обработке "ТОСервер", в функции ПолучитьИмяКомпьютераТО. Вот текст этой функции:





// Функция возвращает строку c именем компьютера для нужд торгового оборудования.
//
// Возвращаемое значение:
//  Строка - имя компьютера для торгового оборудования.
//
Функция ПолучитьИмяКомпьютераТО() Экспорт

	Если мИмяКомпьютера = Неопределено Тогда
		мИмяКомпьютера = ВРег(ИмяКомпьютера());
	КонецЕсли;

	Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()

Штатными средствами 1С получить имя пользователя windows в терминальном сеансе мы не сможем. Поэтому если решать проблему штатными средствами 1С, то можно только получить имя пользователя в программе и прибавить его к имени компьютера, выглядеть это будет так:





// Функция возвращает строку c именем компьютера для нужд торгового оборудования.
//
// Возвращаемое значение:
//  Строка - имя компьютера для торгового оборудования.
//
Функция ПолучитьИмяКомпьютераТО() Экспорт

	Если мИмяКомпьютера = Неопределено Тогда
		мИмяКомпьютера = ВРег(ИмяКомпьютера()+ИмяПользователя());
	КонецЕсли;

	Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()

В таком случае, для пользователя с именем "Администратор" и сервером терминалов с именем "Server" данная процедура вернет имя компьютера равное "SERVERАДМИНИСТРАТОР". Это, конечно, решит нашу проблему, но в некоторых случаяюх это будет не совсем удобно. Например если у пользователя нет доступа к настройке торгового оборудования, а ему нужно, например, подключить сканер штрих кодов. В таком случае придется добавлять указанному пользователю права, заходить под ним в программу, настраивать ему необходимое оборудование и заново ограничить права. Поэтому рассмотрим еще один вариант решения данной проблемы.

Получить имя пользователя операционной системы в терминальном сеансе мы можем средствами Windows Script Host.  WSH позволит получить имя пользователя в терминале, которое можно также сложить с именем компьютера и получить уникальное значение для каждого пользователя в терминальной сессии. Выглядеть это будет так:





// Функция возвращает строку c именем компьютера для нужд торгового оборудования.
//
// Возвращаемое значение:
//  Строка - имя компьютера для торгового оборудования.
//
Функция ПолучитьИмяКомпьютераТО() Экспорт

	Если мИмяКомпьютера = Неопределено Тогда
		WSHNetwork = Новый ComОбъект("WScript.Network");
		ИмяПользователяWindows = WSHNetwork.UserName;
		мИмяКомпьютера = ВРег(ИмяКомпьютера()+ИмяПользователяWindows);
	КонецЕсли;

	Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()

При данной настройке, можно зайти в терминальной сессии пользователя в  программу 1С под правами администратора, настроить нужое пользователю оборудование, и у него все будет работать, когда он зайдет под собой в программу.

Вот два простых способа, позволяющих настраивать торговое оборудование иднивидуально под каждого пользователя. Данная проблема актуальна не только для УТ 10.3, но также и Рознице ред 1.0 и БП 2.0 - вобщем всем программным продуктам 1С на "не управляемых формах". В конфигурациях УТ 11, Розница 2.0, УНФ и прочих программных продуктах на управляемых формах работа с торговым оборудованием переделана и использует все новые преимущества БСП, поэтому данная проблема при использовании этих программ не возникает.

Торговое оборудование терминал терминальная ссесия подключение сервер rdp

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    788121    4753    9507    

2816

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    330484    1898    3031    

1013

ККМ Розничная торговля Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обмен между 1С:Розница и Frontol 6 при торговле от нескольких организаций, а также ряд других полезных функций. Данный модуль синхронизации незаменим для тех, кто ведёт учет по нескольким организациям в 1С:Розница, а на РМК (рабочем месте кассира) установлен Frontol или планируется его установка. Подходит для 1С:Розница 2.3 / 3.0, 1С:УНФ 3.0

1500 руб.

22.03.2019    81697    451    478    

175

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.4, 11.5, КА 2.4, 2.5, Розница 3.0, 2.3 и 2.2, УНФ 1.6, УНФ 3x, ERP 2.4, 2.5, БП 3, БГУ2 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4000 руб.

27.08.2018    119166    1015    571    

845

ККМ Кассовые операции Розничная торговля Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест. Поддержка драйверов Атол, Штрих и VikiPrint. Поддержка 54-ФЗ и разрешительного режима, ФФД 1.05,1.2. Подключается к 1С Торговля и склад 7.7, 1С:УТ 10/11, 1С:УНФ, 1С:Розница 1/2, 1С:БП 2/3, 1С КА 1/2., 1С:ERP, УПП. Ускоряет печать из терминального сеанса Windows. Работает с разрешительным режимом даже из старых конфигураций. Предоставляет REST API для печати через веб-сервис.

3000 руб.

02.09.2016    134490    130    192    

171

Кассовые операции ККМ Системный администратор Программист Бухгалтер Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Программа для управления ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового файла (ini файла) с изменениями включена 1 лицензия Для любых программ, которые умеют работать с текстовыми файлами. Внутри комплекта есть готовые к использованию обработки

4800 руб.

31.07.2017    168432    577    605    

199

Кассовые операции ККМ Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Расширение для 1С:Управление торговлей 11.5, которое позволяет пробивать чеки ККМ и списывать товар с разных складов. Склад списание товара можно указывать в табличной части рабочего места кассира (РМК).

5880 руб.

12.04.2023    8610    36    2    

31

ККМ Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Создание электронных чеков по документам 1С РеализацияТоваров (РасходнаяНакладная), КорректировкаРеализации, СчетНаОплату, ЗаказКлиента, ЧекККМ. Соответствует требованиям 54-ФЗ. Одна облачная касса может использоваться всеми подразделениями организации, без привязки к рабочим местам. Электронные чеки отправляются на email клиента и всегда доступны в 1С, по требованию можно распечатать. Легкая настройка: после регистрации кассы на сайте АТОЛ.ОНЛАЙН, в обработке необходимо указать логин, пароль и идентификатор группы ККТ (берутся в личном кабинете АТОЛ.ОНЛАЙН). Одну кассу можно использовать с 1С при расчетах с физ. и юр. лицами и для интернет-магазина. Эквайринг позволяет делать ссылки на форму оплаты по документам 1С и проверять состояние оплаты.

21600 руб.

23.08.2022    11406    28    4    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Titan-nic@hotmail.ru 12.04.17 17:45 Сейчас в теме
Это ккм тоже касается?
2. @lexandr 143 12.04.17 23:32 Сейчас в теме
3. omut 12.04.17 23:52 Сейчас в теме
УТ 10.3 в терминалке? 2017 год? Новая статья? Автор, вы гений. Пишите еще.
4. @lexandr 143 15.04.17 00:16 Сейчас в теме
(3)Есть клиенты которые еще на 7.5 работают (именно на 7.5, а не на 7.7 версии программы) и да год 2017, но нечего мешать если все работает.
Мах; Designer1C; kamsky93; AloneWolf; WellMaster; Yury1001; Fejerverk; +7 Ответить
5. omut 15.04.17 11:21 Сейчас в теме
(4) я не про технологии, а про очередное переиздание вами много лет как широко известных решений.
6. ice-net 19 17.04.17 09:19 Сейчас в теме
(5) А какая разница переиздание или нет? Вам от этого лучше/хуже? Не пригодилось - проходите мимо, пригодилось - отлично! Кому-то, возможно, поможет, а вот ваш негатив точно никому не поможет =)
Мах; Sprinter2000; kamsky93; GOshaSaveiko; Cat-Ek; madmos; +6 Ответить
10. Yury1001 1472 19.04.17 11:02 Сейчас в теме
(4) да, да у меня такой есть, конфигурация Торговля 8. 1999 года с конвертирована с 7.5. Понятное дело что от оригинала там ничего не осталось тысячи часов доработок от десятка программистов и слезть с неё стоит 1 миллион рублей - вариантов нет.
12. kmvbad 06.08.18 21:22 Сейчас в теме
(3) А что? Сейчас 2018, а мне это понадобилось. Да и не только к УТ 10.3 это относится.
Мах; Grotgt; Sprinter2000; Abbra; +4 Ответить
13. likan 29.06.20 09:55 Сейчас в теме
(3) год 2020, проблема также актуальна...
7. Saipl 7 17.04.17 19:05 Сейчас в теме
Мы решили эту проблему назначением каждому рабочему месту уникального СОМ - порта, 20 рабочих станций 20 СОМ -портов.
8. webester 26 18.04.17 10:35 Сейчас в теме
(0)Пара мелких замечаний: Навряд ли доставаемый вами параметр будет меняться при открытии каждой формы. Имеет смысл кэшировать. Выполнять один раз при старте системы и запоминать результат. Второе, если уж вы не против использования скриптов, результат работы которых иногда бывает непредсказуемым, то скриптом можно получить имя машины клиента подключенного к терминальному серверу. В таком случае 1С будет получать имя машины как будто она подключена без сервера терминалов. И да согласен с коллегами, вопрос, этот обжеван вроде как уже сотню другую раз. Вы скопировали уже существующее решение или не смогли осилить поиск? Не как предъява, просто интересно.
9. Zombi 7 19.04.17 08:15 Сейчас в теме
Я эту проблему решил добавлением прав, например "СканерДоступен" и проверяю в той же процедуре доступность этого права. Если пользователь не работал со сканером и он ему вдруг понадобился, я просто ставлю галку на нужной роли.
11. Designer1C 454 03.05.17 14:44 Сейчас в теме
Спасибо за тему !
У себя сделал с привязкой к имени клиентского компьютера, если он определяется через терминальную сессию
В моём случае получилось более универсально, так как драйверы на ТО ставятся на определённый компьютер.
С одного компьютера могут работать разные пользователи.

Функция ПолучитьИмяКомпьютераТО() Экспорт

	Если мИмяКомпьютера = Неопределено Тогда
		мИмяКомпьютера = ВРег(ИмяКомпьютера()); // Стандартная функция определения текущего компьютера. Это может быть имя и терминального сервера, в том числе.
		// Если пользователь зашёл через RDP на сервер, то следует определить имя клиентского компьютера, а не имя сервера.
		WSS = Новый COMОбъект("WScript.Shell");
		WSSE = WSS.Environment("Process");
		мИмяКомпьютераКлиента = ВРег(WSSE.Item("ClientName"));
		Если ЗначениеЗаполнено(мИмяКомпьютераКлиента) Тогда
			мИмяКомпьютера = мИмяКомпьютераКлиента;
		КонецЕсли;
	КонецЕсли;
	Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()
Показать
Serg0FFan; cronys; Sprinter2000; d4rkmesa; unduty; madmos; UniversaLL; Mixei; @lexandr; +9 Ответить
14. user791870 03.07.20 16:04 Сейчас в теме
Оставьте свое сообщение