acumatica и печать этикеток zpl - PullRequest
       13

acumatica и печать этикеток zpl

0 голосов
/ 20 октября 2018

Можно ли создать zpl-файл и автоматически отправить его на термопринтер из конструктора отчетов?Сценарий использования заключается в том, что нам нужно напечатать «теги» для наших серийных и серийных товаров.У нас есть собственный отчет о выходе, и мы должны иметь возможность отправить его в формате файла zpl на принтер тегов.

1 Ответ

0 голосов
/ 20 октября 2018

Acumatica DeviceHub имеет «сырой режим», специально разработанный для принтеров этикеток.Я тщательно тестировал его на принтерах Zebra и ZPL, работая над модулем расширенного выполнения.

Printer Configuration in DeviceHub

A последнее сообщение в блоге Сергея Маренича рассказывает об DeviceHub;Вы не найдете никакой информации о том, как использовать необработанный режим, но он объясняет основы Device Hub, очереди печати и как отправить задание.Device Hub теперь является частью Acumatica 2018 R2 (раньше он был доступен в виде отдельной загрузки с расширенным модулем предварительной версии выполнения), и в браузере исходного кода вы можете найти немало примеров его использования, включая этотс SOShipmentEntry, который работает с метками.PX.SM.SMPrintJobMaint.CreatePrintJobForRawFile - это функция, которую нужно вызвать.

if (lableFiles.Count > 0)
                {
                    FileInfo mergedFile = MergeFiles(lableFiles);
                    if (upload.SaveFile(mergedFile))
                    {
                        if (PXAccess.FeatureInstalled<FeaturesSet.deviceHub>())
                            PX.SM.SMPrintJobMaint.CreatePrintJobForRawFile(adapter, new NotificationUtility(this).SearchPrinter, SONotificationSource.Customer, SOReports.PrintLabels, Accessinfo.BranchID, new Dictionary<string, string> { { "FILEID", mergedFile.UID.ToString() } },
                                PXMessages.LocalizeFormatNoPrefix(SOShipmentEntryActionsAttribute.Messages.PrintLabels, mergedFile.ToString()));

                        targetUrl = PXRedirectToFileException.BuildUrl(mergedFile.UID);
                    }
                    else
                    {
                        throw new PXException(Messages.FailedToSaveMergedFile);
                    }
                }   
...