Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
1762 Ansichten

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
Verwerfen
Beste Antwort

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
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Juli 23
2463
1
Juli 23
1796
1
Juni 23
3015
2
Aug. 23
2069
1
Juni 23
2295