Подключение ККТ (Торгового оборудования) в разрезе Пользователя или Клиента RDP

Оборудование - ККМ

ККТ ККТ по RDP Подключение ККТ Комплексная автоматизация Кассовое оборудование Подключение кассы

30
Старые конфигурации (Комплексная автоматизаци 1.1, УТ 10.3...) не поддерживают разрез пользователей или клиентов RDP при подключение кассового оборудования. Решил немного освежить идею статьи https://infostart.ru/public/197612/ и комментарии Сергея Муравьёва и Сергея Капустина собрав воедино. В этой статье-заметке вы узнаете, как с минимальными доработками изменить видимость ККТ в разрезе пользователей или терминальных сессий по RDP даже с вводом новых документов по работе с ККТ.

Задача: Установить доступ видимости ККТ в разрезе пользователей.

Нашел замечательную статью - //infostart.ru/public/197612/ по всей видимости Денис Аграновский к ней потерял интерес, поэтому комментарии к статье оказались намного актуальнее. Так как статья написанна в 2013 году, уже много что поменялось. Особенно понравились комментарии  Сергея Муравьёва и Сергея Капустина. Их код в принципе довольно актуальный несмотря на то, что был написанн в 2015 и 2016 гг, а сейчас на дворе 2017 и был введён новый документ "Кассовая смена" для работы с ККТ! Правильно сказал Сергей Муравьев, что с изменением типового регистра сведений на добавление новых ресурсов придёт и к изменению запросов, а теперь и документов.

По этому Сергей Муравьёв предложил использовать ресурс "Компьютер" и для других разрезов, используя разделитель. Допустим "_" вполне устраивает многих.

Для удобства работы с ККТ и его настройкой я изменил форму обработки, выведя поля "Компьютер" для последующего изменения. Можно, конечно, снять режим просмотра с регистра сведений "Торговое оборудование" и изменять там, кому как удобнее. Но администраторы ККТ используют эту обработку при подключении новых ККТ в моём случае.

Оригинальный код Сергея Капустина - разрез терминальных сессий:

Комментарий: данный код позволяет для обычных не терминальных пользователей записывать компьютеры локальные "ИмяКомпьютера", а для пользователей, работающих на терминале, запись ведется типа "ИмяСервера_ИмяКлиентаКомпьютера" в результате чего теримнальные пользователи больше не видят сумасшедший список подключенных ККТ.

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

    Если мИмяКомпьютера = Неопределено Тогда
        мИмяКомпьютера = ВРег(ИмяКомпьютера());
                         WshShell = Новый COMОбъект("WScript.Shell"); 
                         
                         ИмяКомпьютераКлиента = WshShell.expandEnvironmentStrings("%CLIENTNAME%"); 
                         
                         ИмяСессии = WshShell.expandEnvironmentStrings("%SESSIONNAME%");
                          
                         Если ИмяСессии="Console" Тогда
                             //Имя Компьютера будет равно имени терминального сервера
                         Иначе     
                              //Терминальный клиент
                              мИмяКомпьютера = мИмяКомпьютера + "_"+ ИмяКомпьютераКлиента;
                         КонецЕсли;
              
    КонецЕсли;

    Возврат мИмяКомпьютера;
КонецФункции

Моя интерпретация - разрез пользователей:

Комментарий: мне не совсем подошла идея с разрезом терминальных сессий из-за того, что были обнаруженны одинаковые имя клиентских машин. Машины не находятся в едином пространстве и по этому был добавлен разрез пользователей, который точно уникален.

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

    Если мИмяКомпьютера = Неопределено Тогда
        
        мИмяКомпьютера = ВРег(ИмяКомпьютера());        
        WshShell = Новый COMОбъект("WScript.Shell");                          
        ИмяПользователя = WshShell.expandEnvironmentStrings("%USERNAME%"); 
        мИмяКомпьютера = мИмяКомпьютера + "_" + ИмяПользователя;

    КонецЕсли;

    Возврат мИмяКомпьютера;
    
КонецФункции

После изменения функции и корректировки регистра сведений, данные не повлияли на документ "Кассовой смены" и не отразились никак на работе ККТ, пользователи не заметили никаких изменений, даже открытые смены до обновления не пришлось переоткрывать.

Развивать мысли можно дальше, добавить кнопку информирования, которая будет сообщать данную строчку под запущенным клиентом, опять же для удобства, допустим, работы администратора ККТ.

Можно расширить количество разрезов, добавив, допустим, ИмяСервера_ИмяКлиента_ИмяПользователя, можно расширять и модифицировать  дальше при необходимости.

Главное удобство - это работает с минимальными изменениями в связи с вводом новых документов для работы с ККТ.

30

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. smirnov.es 15 28.09.17 09:21 Сейчас в теме

Но все-таки, переходите уже на УФ
ogre2007; dj_serega; Sergafan10; Dmitri93; Interrupted; rpgshnik; +6 Ответить
2. rpgshnik 837 28.09.17 09:25 Сейчас в теме
Будем, но видимо не так скоро))
3. user703659_elvan.1c 28.09.17 13:26 Сейчас в теме
Для АТОЛ-а 55Ф не получается фокус в "Комплексной автоматизации" 1.1.90.1, а для эмулятора ККТ и принтера чеков(ReceiptPrinter.epf) - все замечательно. Для АТОЛ-ов находит обработку у кого нибудь?
Прикрепленные файлы:
4. rpgshnik 837 28.09.17 13:41 Сейчас в теме
(3)хм... Доработки не было? По идее ресурс Компьютер используют все... Если конечно атоловская обработка не работает иначе. В моем случае эмулятор и штрих-мовские отработали на ура.
Попробую посмотреть, интересно.
5. user703659_elvan.1c 28.09.17 14:34 Сейчас в теме
Доработки ТО не было. Я имя компьютера составляю добавляя имя пользователя в транслитерации. 3 года назад поставил успешно(для ТСД).
Прикрепленные файлы:
8. rpgshnik 837 29.09.17 05:13 Сейчас в теме
(5) Какая-та допись у вас видимо, может из-за неё какой конфликт
Прикрепленные файлы:
6. user703659_elvan.1c 28.09.17 15:15 Сейчас в теме
мИмяКомпьютера = ВРег(ИмяКомпьютера())+"#"+Элв_ДополнительныйМодуль.ПолучитьСтрокуНаЛатинском(ВРег(ИмяПользователя()));
9. rpgshnik 837 29.09.17 05:24 Сейчас в теме
(6) Специально скачал обработку АТОЛ ККТ
Подключил три кассы АТОЛ (выделил зеленым)
Всё работает нормально.
Я думаю вам стоит посмотреть код своих доработок (которые вы отметили красным).
Прикрепленные файлы:
12. user703659_elvan.1c 29.09.17 09:56 Сейчас в теме
Спасибо (9). Проверю. Вероятно обработка Атоловская не находит ИмяПользователя() . Попробую
через имя компьютера.
20. user703659_elvan.1c 03.10.17 12:56 Сейчас в теме
(12) ШтрихМ-овская обработка ККТ последняя (1.7) с составным определением имени компьютера , используя ИмяПользователя(), работает. Проверил
7. MrFlanker 147 28.09.17 16:00 Сейчас в теме
Данный код для кнопочки откроет регистр сведений "ТорговоеОборудовние" с разрешением изменять вручную.


Процедура кнРегТОНажатие(Элемент)
	// Вставить содержимое обработчика.
	Форма = РегистрыСведений.ТорговоеОборудование.ПолучитьФорму("ФормаСписка");
	Форма.ЭлементыФормы.РегистрСведенийСписок.ТолькоПросмотр = Ложь;
	Форма.ЭлементыФормы.РегистрСведенийСписок.ИзменяетДанные = Истина;
	Форма.Открыть();
	
КонецПроцедуры


Показать
SashaSashaSashka; rpgshnik; +2 Ответить
10. vano-ekt 1112 29.09.17 08:11 Сейчас в теме

и подключить ККТ в разрезе пользователей
ice-net; ogre2007; dj_serega; swimdog; Winstoncuk; user621724_Dimav1979; Interrupted; rpgshnik; +8 Ответить
11. rpgshnik 837 29.09.17 08:21 Сейчас в теме
(10)
Прикрепленные файлы:
ice-net; ogre2007; dj_serega; Winstoncuk; Smirnov1980; Interrupted; +6 Ответить
13. feva 130 29.09.17 14:40 Сейчас в теме
А есть видео где она ставит ККТ онлайн без ОФД и ИТС?
ice-net; dj_serega; myALKleon; vano-ekt; rpgshnik; +5 Ответить
14. user621724_Dimav1979 256 30.09.17 06:06 Сейчас в теме
(13) А есть видео где она ставит ККТ онлайн без ОФД и ИТС?
Прикрепленные файлы:
ice-net; asmuk; feva; rpgshnik; vano-ekt; +5 Ответить
15. rpgshnik 837 30.09.17 06:43 Сейчас в теме
16. @lexandr 145 01.10.17 15:47 Сейчас в теме
Помоему данная статья дублирует уже существующую Настройка торгового оборудования. Вней я привел несколько вариантов решения проблемы подключения торгового оборудования в терминальном режиме на неуправляемых формах.
17. rpgshnik 837 02.10.17 04:11 Сейчас в теме
(16) по моему моя статья, на что я и ссылаюсь, резюме статьи https://infostart.ru/public/197612/ (которая датирована 2013 г. и явно появилась раньше вашей). А ваша статья с заголовком "Настройка торгового оборудования в конфигурации "Управление торговлей" ред. 10.3 при работе в терминальном режиме" узко направленная, или правильно называйте статьи чтобы было легче их искать.
18. webester 27 02.10.17 09:11 Сейчас в теме
Краткое содержание для тех кому лень читать:
В функции определения компьютера автор к имени клиентского компа, добавил еще имя пользователя. Собственно все. Непонятно почему так коротко получилось? Где история, как делали раньше, где истории как мучались клиенты? Больше воды, богу воды!
rpgshnik; +1 Ответить
19. rpgshnik 837 02.10.17 09:23 Сейчас в теме
(18) да не говорите, можно было налить воды, как у нас один пользователь распечатал чек с одного региона на кассу другого региона :D геморроя было много.
22. maksimkatula 04.10.17 08:12 Сейчас в теме
(19) Ага, такая же фигня была, печатают чек, не вылезает, в другой комнате ФР весело штампует чеки))) Спасибо за статью, в это плане и шёл, так как в БП 3.0 разрез пользователь идёт :-)
rpgshnik; +1 Ответить
21. Denger 04.10.17 08:10 Сейчас в теме
УТ 10.3, сделал немного по другому, ТОСервер-ПодключитьОборудование в запрос добавил строки
Если СокрЛП(Вид)="ККТ с передачей данных" тогда // ККТ с передачей данных
Запрос.Текст=Запрос.Текст+"И РегТО.КассаККМ = &Касса";
Запрос.УстановитьПараметр("Касса", УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяКассаККМ"));
КонецЕсли;
mevgenym; rpgshnik; +2 Ответить
23. rpgshnik 837 04.10.17 08:29 Сейчас в теме
24. Ankare 05.10.17 18:16 Сейчас в теме
Александра не перестает удивлять своими новыми профессиями. Главное перспективно
dj_serega; rpgshnik; +2 Ответить
Оставьте свое сообщение