Принтеры и печать этикеток через сервер


Mobile SMARTS позволяет использовать произвольное количество принтеров и поддерживает печать этикеток, как из учетной системы, так и из мобильного клиента.

Информация о принтерах и схема их применения содержится в справочнике Cleverence.Warehouse.PrintersBook.

Каждый принтер (Cleverence.Warehouse.Printer), кроме уникального идентификатора, описывает имя и строку соединения (Printer.ConnectionString). Система может работать с любыми принтерами, поддерживающими печать в Windows (посредством windows driver). В качестве ConnectionString может использоваться либо имя принтера, например «EasyCoder PD4 (203 dpi)», либо строка соединения с принтером вида «\\server\printer» (для удаленного принтера).

Для выгрузки справочника принтеров применяется функция StorageConnector.SetPrinters.

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

Шаблоны этикеток

Для задания внешнего вида выводимых данных, в системе применяются шаблоны этикеток.

Все шаблоны этикеток имеют уникальное имя и хранятся на сервере. Их получение и сохранение осуществляются функциями StorageConnector.GetLabelTemplate и StorageConnector.SetLabelTemplate соответственно.

Для создания шаблонов используется специализированный редактор, вызов которого может быть реализован непосредственно из учетной системы (функция StorageConnector.EditTemplate). Этот же редактор встроен в панель управления.

Редактор позволяет размещать на поверхности этикетки текстовые, штрихкодовые и графические элементы, а также задавать привязку этих элементов к данным при помощи свойства «Отображаемые данные». Например, можно разместить на шаблоне этикетки элемент «Текст» и в отображаемых данных указать «название товара», – это будет означать, что у шаблона этикетки появился аргумент «название товара», значение которого следует передавать при печати конкретной этикетки. Т.е. при печати текст в элементе будет заменен на то, что будет передано в качестве значения аргумента «название товара».

-этикеток-Mobile-Smarts Принтеры и печать этикеток через сервер

 

Печать из учетной системы

Для печати непосредственно из учетной системы применяется функция StorageConnector.PrintLabel. В качестве параметров эта функция использует уникальный идентификатор принтера Printer.Id и объект этикетки Cleverence.Warehouse.Label.

Для вывода в шаблон этикетки пользовательской информации, необходимо с помощью функции Label.Add, определить значение переменных, заданных при создании этикетки в редакторе.

 

Печать через сервер из мобильного клиента

Для печати этикеток с ТСД используется специальное действие «Печать этикетки». При этом не указывается, на какой принтер будет происходить печать, т.к. выбор принтера – отдельный процесс, выполняемый сервером терминалов Mobile SMARTS. Для выбора принтера на котором будет происходить печать, используется коллекция привязок принтеров (ProductsBook.PrinterMappings), редактируемая в панели управления. Каждая такая привязка задает принтер для сочетания склада, типа документа и пользователя (можно указать только часть ограничений).

При печати сервер ищет наиболее полное совпадение из имеющихся и выбирает соответствующий ему принтер. Если ни одна привязка не подходит, выдается ошибка печати. В случае если Вы не описали привязками абсолютно все возможные сочетания параметров, то система будет искать наиболее подходящий. Например, если каждый ваш склад использует по одному принтеру, то вполне достаточным будет описывать соответствие только идентификатора склада идентификатору принтера, не задавая конкретное имя пользователя и тип документа.

Для печати на один единственный принтер достаточно добавить под него одну привязку без каких-либо ограничений. Соответственно, добавив к существующим одну привязку только с параметром PrinterId, без указания склада и т.п., вы как бы заведете принтер по умолчанию, печать на который будет производиться в тех случаях, когда более подходящий принтер найден не был.

Свойство «Параметры» в действии печати этикетки задают перечень данных, которые попадут в шаблон этикетки. Для этого списка нет стандартных обязательных значений – имена параметрам определяются нарисованным шаблоном этикетки. У элементов шаблона этикетки в дизайнере есть свойство «Отображать данные» — это именно то имя, которое следует использовать как имя параметра в действии печати этикетки. Имена произвольные.