我正在尝试创建一种形式,这将简化我尚未注册的产品的添加到我的小商店的命名法。为此,我创建了以下形式的模块:
<t t-extend="ConfirmPopupWidget">
<t t-jquery="p.body" t-operation="replace">
<div class="product-container">
<div id="search_row" style="padding-bottom: 12px;padding-top: 11px;border-bottom: 1px solid gray;">
<label>Barcode </label>
<input style="height: 18px;" type="text" id="is_ean13" class="search" placeholder="EAN13 Barcode"/>
</div>
<div class="form-group">
<label for="is_name" class="col-sm-2 control-label">Product Name </label>
<div class="col-sm-10">
<input type="text" id="is_name" class="form-control" placeholder="Product name" style="height: 32px;background-color:#D2D2FF"/>
</div>
</div>
<div class="form-group">
<label for="is_sale_price" class="col-sm-2 control-label">Sale price</label>
<div class="col-sm-10">
<input type="text" id="is_sale_price" class="form-control" placeholder="Sale Price"/>
</div>
</div>
<div class="form-group">
<label for="is_internal_reference" class="col-sm-2 control-label">Internal Reference</label>
<div class="col-sm-10">
<input type="text" id="is_internal_reference" class="form-control" placeholder="Internal Reference"/>
</div>
</div>
</div>
</t>
</t>
我想从条形码扫描仪填充ean13条形码字段“is_ean13”,它已经被POS接口使用,但无法使其正常工作。
odoo.define('instant_sale.add_product', function (require) {
"use strict";
var bus = core.bus;
// bind event handler
bus.on('barcode_scanned', this, function(barcode) {
this.scan(barcode);
})
});
因为它是在https://media.readthedocs.org/pdf/odoo-development/latest/odoo-development.pdf第38页写的,但似乎我遗漏了一些东西,因为我无法捕捉到任何事件。
如何在POS界面中捕获条形码事件。任何帮助都非常感谢。谢谢!
当条形码扫描器扫描某些东西时,它会像是键盘一样写入,然后点击输入。这是您获取扫描信息的方式。
因此,您需要在打开视图时将焦点放在字段输入上,以便扫描程序在正确的html输入中进行写入。