Skip to Content
मेन्यू
This question has been flagged
1 Reply
1602 Views

Hello everyone,

I have a doubt, or rather a problem to solve....

I have created a button with the following conditions within the model stock.picking = makes the connection between the views of Receipts and Subcontrating Deliveries, this button appears a colour, according to the state of the order, and I need to add one more condition, that if the order has a transfer in receipts associated with subcontrating then, this button should appear, if not the button should be invisible.

It happens, that I need to create a field related to the name and the picking_type_id, I did that creation, but I think it's not well done, because in the view it's not working either, can someone help me and give me a clarification?

Below is my code and my xml.

Thanks in advance! :)



Avatar
Discard
Best Answer

you can try this way:

Define a new computed field in the stock.picking model that checks for the associated transfer in receipts and subcontrating. This field will determine the visibility of the button.

from odoo import models, fields, api

class StockPicking(models.Model):
_inherit = 'stock.picking'

is_transfer_receipt = fields.Boolean(compute='_compute_is_transfer_receipt', store=True)

@api.depends( 'picking_type_id')
def _compute_is_transfer_receipt(self):
for picking in self:
is_transfer_receipt = False
if picking.name and picking.picking_type_id.code == 'receipt':
transfer_receipts = self.env['stock.picking'].search([
('origin', '=', picking.name),
('picking_type_id.code', '=', 'subcontrating'),
])
if transfer_receipts:
is_transfer_receipt = True
picking.is_transfer_receipt = is_transfer_receipt


Make sure to replace 'your_button_field_name' with the actual field name you have defined for your button.

Avatar
Discard
Related Posts Replies Views Activity
1
जुल॰ 23
2322
1
जुल॰ 23
1685
1
जून 23
2883
2
अग॰ 23
2021
1
जून 23
2202