У меня есть точная ситуация, описанная в этом вопросе: Связь Device Hub с очередью принтера
Из-за того, что у вопроса нет ни принятого, ни приемлемого ответа, я снова задаю вопрос.
Я настроил DeviceHub с помощью Acumatica, и мой принтер отображается. Я отправляю задание на печать через PXAction. После выполнения действия DeviceHub регистрирует успешный прием задания, но очередь принтера не получает его.
Вот мой код, потому что это StackOverflow:
public PXAction<PX.Objects.CR.BAccount> PrintAddressLabel;
[PXButton(CommitChanges=true)]
[PXUIField(DisplayName = "Print Label")]
protected void printAddressLabel()
{
BAccount baccount = Base.Caches[typeof(BAccount)].Current as BAccount;
string bAccountID = baccount.BAccountID.ToString();
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters["BAccountID"] = bAccountID;
PXReportRequiredException ex = null;
ex = PXReportRequiredException.CombineReport(ex, "ZRCRADDR", parameters);
SMPrintJobMaint.CreatePrintJobGroup("DYMOLABEL", ex, "Address Label");
}
Может ли кто-нибудь указать мне полезное направление?
EDIT:
После дальнейшего тестирования я обнаружил следующее:
Acumatica будет успешно печатать на моем принтере DeviceHub с использованием встроенных процессов печати. Однако при печати одного из этих заданий в журналах DeviceHub отображается событие POLL
. При попытке печати из моего кода DeviceHub записывает событие NT
, которое никогда не попадает в очередь принтера.
При дальнейшем тестировании в 2019 году R1 журналы немного изменились. Печать счетов из Acumatica также приводит к событию NT
. Однако есть одна строка, отличающаяся от задания, созданного в Acumatica, и задания, созданного в коде.
Зеленый = работа от Acumatica
Оранжевый = работа из кода
В задании, отправленном с кодом, отсутствует строка Printer DYMOLABEL - printing PDF to \\*printer*
.