- Распечатать
Bartender расширяет функциональность печати в приложениях Tulip.
:::(Info) ()Загрузите юнит-тест Bartender из библиотеки Tulip.:::
Bartender от Seagull Scientific - это ведущий в отрасли клиент печати, который широко используется в производственном мире в качестве интерфейсного слоя между ERP/MES-решениями и постоянно расширяющимся списком принтеров, сетевых конфигураций и прочего.
Вкратце, Bartender управляет принтерной стороной этого уравнения и открывает конечные точки API, которые функции коннектора Tulip могут использовать для печати документов. В этом документе мы рассмотрим эту интеграцию.
Сетевые соображения
Клиент Bartender обычно размещается на сервере (или компьютере) в интернет-сети вашего предприятия. Обычно к нему нет доступа из внешних систем. Поскольку Tulip работает в облаке, нам нужно открыть доступ к вашему экземпляру Bartender в облаке.
Для этого есть несколько способов:
- В качестве туннеля в вашу сеть может выступать хост On-Prem Connector. Процесс настройки этих коннекторов может быть немного сложным и, вероятно, потребует поддержки со стороны вашей ИТ-команды.
- Устройство Tulip Edge, подключенное к вашей сети, может выступать в качестве узла коннектора в вашей сети. Это, безусловно, самый простой способ создания туннеля, и для его настройки не потребуется помощь ИТ-специалистов. Edge MC можно приобрести за 150 долларов.
- Можно создать SSH-туннель для доступа к экземпляру bartender. Это наиболее технически сложный вариант, и для его создания почти наверняка потребуется помощь ИТ-отдела. Этот вид туннеля не имеет встроенных средств защиты, как решение, разработанное Tulip.
Кроме того, мы будем использовать портал печати, предлагаемый Bartender. Он доступен только в планах "Автоматизация" и "Предприятие".
Настройка
:::(Info) (ПРИМЕЧАНИЕ) Эта процедура была создана как часть первоначального исследования интеграции с Bartender, функции, представленные в приложении для модульного тестирования, могут немного отличаться. :::
Конфигурация ярлыка в Bartender
В Bartender я создал пример ярлыка под названием Label Example.btw, этот документ доступен для скачивания (прикреплен внизу статьи). Важной настройкой является обеспечение того, чтобы каждое динамическое поле на вашей этикетке было привязано к входу на вашей шаблонной форме. В данном случае я также переименовал эти поля ввода, чтобы наши ключи при использовании ярлыка в Tulip были более интуитивно понятны.
Наконец, я записал IP-адрес моего сервера Bartender.
Когда Bartender настроен, вы должны иметь доступ к порталу печати с любой машины в той же сети по адресу:
http://[ip сервера]/bartender.
Я настоятельно рекомендую протестировать вашу форму из портала печати, чтобы убедиться, что ваш экземпляр Bartender настроен правильно.
Конфигурация тюльпана
Примечание: В этом примере я буду использовать Edge MC в качестве хоста коннектора.
- Подключите свой Edge MC к сети
- Перейдите в конфигурацию коннектора
- Установите в поле "Running on" значение Connector host вашего Edge MC.
- Установите Host на IP вашего сервера Bartender Server
- Установите порт на "5160", как указано на сервере Bartender Server.
Функции коннектора
Для печати в Bartender требуется пять функций коннектора:
- Получите список папок в экземпляре Bartender. Выберите папку, из которой вы хотите печатать.
- Получите список принтеров и выберите принтер, на который вы хотите распечатать.
- Получите список файлов в нужной папке. Выберите файл, который нужно распечатать.
- Сделайте запрос к конечной точке печати, который вернет идентификатор запроса.
- Передайте принтер, путь к ярлыку, идентификатор запроса и
:::(Info) (ПРИМЕЧАНИЕ) Принтеры, папки и документы (1, 2 и 3 выше) не изменятся, если не изменится конфигурация Bartender. Они могут быть установлены статически в ваших производственных приложениях:
Получить папки
Входы: Примечание
Выходные данные: Список папок в вашем экземпляре Bartender. Каждая папка имеет 3 атрибута:
- Уникальный идентификатор
- Имя
- Путь - если эта папка находится внутри других папок, то это будет путь к ней.
Получить принтеры
Входные данные: Примечание
Выходные данные: Список принтеров, настроенных в вашем экземпляре Bartender.
Получить элементы папки
Входы: Уникальный идентификатор папки, полученный из функции Get Folders.
Выходные данные: Список имен всех файлов в этой папке и абсолютный путь к ней.
Получить идентификатор запроса
Входы: Имя принтера, абсолютный путь к файлу (путь к папке + имя файла) и уникальный идентификатор папки (из функции Get Folders).
Выходные данные: Текстовое значение, этот идентификатор ответа будет использоваться при печати.
:::(Info) (ПРИМЕЧАНИЕ) Эту функцию необходимо вызывать каждый раз, когда выполняется печать. Уникальный идентификатор печати необходим для каждого задания печати. :::
Печать
Входы: Имя принтера, абсолютный путь к файлу (путь к папке + имя файла) и уникальный идентификатор папки (из функции Get Folders), идентификатор ответа (из Get RequestID) и любые динамические поля в этикетке.
Выходные данные: Текстовое значение, указывающее на успешность печати.
:::(Info) (ПРИМЕЧАНИЕ) Динамические поля в этой метке должны соответствовать полям в конфигурации метки в Bartender. Пример функции Print настроен на работу с файлом Label Example.btw, который поставляется вместе с Library Unit Test. :::