Я не знаю, почему он не работает для чеков POS, но позвольте мне сказать вам, что POS - это система, которая может работать без подключения к серверу. Все, что он выполняет, должно всегда использовать js Я имею в виду всегда на стороне клиента Итак, мое решение состоит в том, чтобы использовать библиотеку QRrcode. js, поскольку она легко доступна здесь.
Добавьте этот файл библиотеки в модуль в папке path /<your_module/static/src/lib/
, а также в свой почтовый ящик. бэкэнд, как показано ниже, и этот файл необходимо добавить в манифест, а также в список файлов «data».
<odoo>
<data>
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/<module_name>/static/src/lib/qrcode.js"></script>
</xpath>
</template>
</data>
</odoo>
Правильный путь к файлу.
Затем вы можете использовать эту библиотеку в любой POS-квитанцию Qweb, как показано ниже, для печати QR-кода.
<div t-attf-id="#{receipt.qr_string}"></div>
<script type="text/javascript">
var lot_name = "<t t-esc="receipt.qr_string"/>";
var qrcode = new QRCode(receipt.qr_string , {
text: "http://jindo.dev.naver.com/collie",
width: 100,
height: 100,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
qrcode.makeCode(receipt.qr_string);
</script>