Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
374 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
0
lis 24
1831
0
pro 22
2676
1
lis 24
2120
1
lis 24
2022
1
pro 23
1438