Включите язык принтера непосредственно в SAP Smart Forms

Я пытаюсь печатать из SAP Smart Forms на принтер AUI BP9000 (Epson Emulation). В качестве теста отправляем на принтер команду штрих-кода Epson:

[ESC][SI]123456789[ESC][SO] 

Штрих-код (код 39) печатается нормально, если мы отправим эту строку прямо на принтер. Проблема возникает, когда мы пытаемся печатать из Smart Forms. В смарт-формах мы «перетаскиваем» штрих-код на форму, но когда мы пытаемся распечатать, штрих-код не печатается из-за того, как принтер интерпретирует штрих-код, отправленный из смарт-форм.

Я хочу выяснить, можно ли создать «Hex-контейнер» в Smart Forms, чтобы при печати формы принтер видел команду ESC и печатал штрих-код.

Пример:

Smart Form:

[HexContainer for ESC SI][barcode information][HexContainer for ESC SO]

What the printer sees:

[ESC SI]123456789[ESCP SO]

person NickitaeWSamuels    schedule 21.02.2018    source источник
comment
обычно вы должны создать (если он еще не существует) новый тип устройства в SAP, который содержит соответствующие команды управления для возможностей устройства. Затем в смарт-форме вы должны использовать стиль смарт-формы с форматом штрих-кода (например, штрих-код Code39) для печати штрих-кода, а не команды, специфичные для принтера, в самой смарт-форме. Таким образом, если вы когда-нибудь переключитесь с принтера epson на другой тип принтера, вам не придется прикасаться к смарт-форме.   -  person Dirk Trilsbeek    schedule 21.02.2018


Ответы (1)


Этого можно добиться, включив шестнадцатеричный код в текст SAPscript с помощью HEX...ENDHEX, а затем включите этот текст SAPscript в смарт-форму. Но, как указал @Dirk, смарт-форма не будет переносима на другие модели принтеров, поэтому вам лучше выбрать «управление печатью» на уровне типа устройства и вызывать его из смарт-формы (узел введите команду).

person Sandra Rossi    schedule 23.02.2018