Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
1143 Tampilan

On my situation, i had add a new field in pos.order.line (it's 'selected_location_id')
class PosOrderLinesExtended(models.Model):

_inherit = 'pos.order.line'


selected_location_id = fields.Many2one('stock.location', string="POS Location")

@api.model

def _load_pos_data_fields(self, config_id):

data = super()._load_pos_data_fields(config_id)

print("dataaaa",data)

data += ['selected_location_id']

return data


def create(self, vals):

_logger.info("📥 pos.order.line vals nhận được: %s", vals)

return super().create(vals)


In pos, i create a new Component to select stock location with some location have a field to checck select on pos,

patch(PosStore.prototype, {

async addLineToOrder(vals, order, opts = {}, configure = true) {

const location = await makeAwaitable(this.dialog, LocationPopup);

if (location) {

vals.selected_location_id = location.id;

}

const line = await super.addLineToOrder(vals, order, opts, configure);

line.selected_location_id = location?.id;

console.log("lineeeeeee",line)

return line;

}

});


but when i validate the posorder in pos, it not give back select a location to field  in pos.order.line

all of my module custom in this link:
https://github.com/IdalisNguyen/POS-Select-Location.git

Someone explain to me why I can't get the data from above pos to return to the variable below model?
Thanks you for your attention

Avatar
Buang
Jawaban Terbai

Hii,


Add this patch in your JS, for example in pos_select_location/static/src/js/pos_loader_patch.js:

import { PosGlobalState } from 'point_of_sale.models';

import { patch } from 'web.utils';


patch(PosGlobalState.prototype, {

    _loaderParams() {

        const params = super._loaderParams();

        if (!params.pos_order_line_fields.includes('selected_location_id')) {

            params.pos_order_line_fields.push('selected_location_id');

        }

        return params;

    },

});

This ensures selected_location_id is part of the order lines fields that are sent to backend.


Clear browser cache & upgrade module

./odoo-bin -u pos_select_location -d your_db


i hope it is use full

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
0
Agu 25
471
1
Agu 25
610
0
Nov 24
2366
0
Des 22
2912
1
Nov 24
2775