From 53ad5dffb3146ec636dcadac52853ddc42d329e0 Mon Sep 17 00:00:00 2001 From: santiky Date: Thu, 9 Sep 2021 16:40:05 +0200 Subject: [PATCH] =?UTF-8?q?Funcionando=20la=20l=C3=B3gica=20de=20almacenes?= =?UTF-8?q?,=20falta=20la=20parte=20de=20facturaci=C3=B3n.=20-=20el=20part?= =?UTF-8?q?ner=20tiene=20que=20estar=20configurado=20como=20acepta=20dep?= =?UTF-8?q?=C3=B3sitos=20para=20evitar=20errores.=20-=20en=20el=20onchange?= =?UTF-8?q?=20del=20accept=20en=20el=20partner=20se=20crea=20su=20ubicaci?= =?UTF-8?q?=C3=B3n=20de=20almac=C3=A9n.=20-=20E=C3=B1=20usuario=20crea=20u?= =?UTF-8?q?n=20albar=C3=A1n=20de=20tipo=20dep=C3=B3sito=20de=20entrada=20o?= =?UTF-8?q?=20salida=20y=20se=20configuran=20autom=C3=A1ticamente=20las=20?= =?UTF-8?q?ubicaciones=20de=20dep=C3=B3sito=20del=20partner=20en=20el=20al?= =?UTF-8?q?bar=C3=A1n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stock_picking_deposito/__manifest__.py | 5 +-- stock_picking_deposito/data/data.xml | 30 +++++++++++++ .../models/stock_picking.py | 42 +++++++++++++++---- .../views/stock_picking.xml | 26 ------------ 4 files changed, 65 insertions(+), 38 deletions(-) delete mode 100644 stock_picking_deposito/views/stock_picking.xml diff --git a/stock_picking_deposito/__manifest__.py b/stock_picking_deposito/__manifest__.py index 9eaa99c..deb7ad6 100644 --- a/stock_picking_deposito/__manifest__.py +++ b/stock_picking_deposito/__manifest__.py @@ -2,8 +2,8 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) { "name": "Stock Picking Depósito", - "summary": "", - "version": "12.0.1.0.0", + "summary": "Permite la gestión de depósitos en el almacén.", + "version": "12.0.1.0.1", "development_status": "Alpha", "category": "Warehouse Management", "website": "https://criptomart.net", @@ -15,7 +15,6 @@ "stock", ], "data": [ - "views/stock_picking.xml", "views/view_res_partner.xml", "data/data.xml", ], diff --git a/stock_picking_deposito/data/data.xml b/stock_picking_deposito/data/data.xml index 825d912..73609cd 100644 --- a/stock_picking_deposito/data/data.xml +++ b/stock_picking_deposito/data/data.xml @@ -13,5 +13,35 @@ + + Recepción en depósito + stock.picking + + DEPIN/ + + + + Salida en depósito + stock.picking + + DEPOUT/ + + + + Salida en Depósito + internal + + + True + + + + Recepción en Depósito + incoming + + + True + + diff --git a/stock_picking_deposito/models/stock_picking.py b/stock_picking_deposito/models/stock_picking.py index 0764e54..49e4ddf 100644 --- a/stock_picking_deposito/models/stock_picking.py +++ b/stock_picking_deposito/models/stock_picking.py @@ -1,20 +1,44 @@ # Copyright 2021 Criptomart # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +#import logging + from odoo import api, models, fields +from odoo.exceptions import ValidationError + +#_logger = logging.getLogger(__name__) -""" class PickingType(models.Model): - _inherit = 'stock.picking.type' -""" - -class StockPicking(models.Model): + is_deposit = fields.Boolean( + string='Depósito', + help='Éste albarán es un depósito, no es una venta final.', + default= False, + ) +class Picking(models.Model): _inherit = 'stock.picking' - is_deposit = fields.Boolean( - string='Es un Depósito', - help='Éste albarán es un depósito, no una compra final', - ) + @api.onchange('picking_type_id','partner_id') + def onchange_picking_type(self): + super(Picking, self).onchange_picking_type() + if self.picking_type_id.is_deposit and self.partner_id: + self.change_dest_location() + + def change_dest_location(self): + if self.picking_type_id.code == 'internal': + if not self.partner_id.deposit_sale_accept: + raise ValidationError("Éste cliente no acepta material en depósito, configúralo antes de crear depósitos para él.") + return + self.update({ + 'location_dest_id': self.partner_id.deposit_sale_location_id.id, + }) + elif self.picking_type_id.code == 'incoming': + if not self.partner_id.deposit_buy_accept: + raise ValidationError("Éste proveedor no acepta depósitos, configúralo antes de crear depósitos para él.") + return + self.update({ + 'location_dest_id': self.partner_id.deposit_buy_location_id.id, + }) + diff --git a/stock_picking_deposito/views/stock_picking.xml b/stock_picking_deposito/views/stock_picking.xml deleted file mode 100644 index e416894..0000000 --- a/stock_picking_deposito/views/stock_picking.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - stock.picking.form.deposito.inherit - - stock.picking - - - - - - - -