Odoo 19.4 临时修改前端打印机IP地址 - xiaohao0576/odoo-doc GitHub Wiki
打开POS界面,F12调出开发者模式,打开console
查看打印机列表和配置
// 1) 先拿到当前 POS 实例
const pos = window.posmodel || odoo.__WOWL_DEBUG__.root.env.services.pos;
const tp = pos.ticketPrinter;
// 2) 看当前前端已加载的打印机
const allLoaded = pos.models["pos.printer"].getAll(); // 所有已加载 pos.printer
const kitchen = tp.preparationPrinters; // 厨房单
const receipt = tp.receiptPrinters; // 小票单
console.table(allLoaded.map(p => ({
id: p.id, name: p.name, use_type: p.use_type, printer_ip: p.printer_ip, use_lna: p.use_lna
})));
console.table(kitchen.map(p => ({
id: p.id, name: p.name, printer_ip: p.printer_ip, use_lna: p.use_lna
})));
console.table(receipt.map(p => ({
id: p.id, name: p.name, printer_ip: p.printer_ip, use_lna: p.use_lna
})));
修改打印机的配置
const newIp = "192.168.1.88";
const newUseLna = true;
tp.printers.forEach(p => {
p.printer_ip = newIp;
p.use_lna = newUseLna;
});
// 重新初始化前端打印实例,让新配置生效(不写后端)
await tp.initPrinters();
// 再确认
console.table(tp.printers.map(p => ({
id: p.id, name: p.name, use_type: p.use_type, printer_ip: p.printer_ip, use_lna: p.use_lna
})));
精简命令,直接修改
const tp = posmodel.ticketPrinter;
const newIp = "tg855.hogantech.net/644909540";
const newUseLna = false;
tp.printers.forEach(p => {
p.printer_ip = newIp;
p.use_lna = newUseLna;
});
await tp.initPrinters();
console.table(tp.printers.map(p => ({
id: p.id, name: p.name, use_type: p.use_type, printer_ip: p.printer_ip, use_lna: p.use_lna
})));