class ente_externo(models.Model): """Registra los Entes Externos""" _name = 'ente_externo' _rec_name = 'ente_externo_nombre' ente_externo_rif = fields.Char('Rif', help='Registra el Rif del Ente Externo') ente_externo_cedula = fields.Char( 'Cedula del Funcionario Responsable', help='Registra la Cedula Funcionario Responsable del Ente Externo') ente_externo_nombre = fields.Char( 'Nombre del Funcionario Responsable', size=200, required=True, help='Registra el Nombre del Funcionario Responsable del Ente Externo') ente_externo_telf = fields.Char( 'Telefono del Funcionario Responsable', size=100, required=True, help= 'Registra el Numero de telefono del Funcionario Responsabledel Ente Externo' ) ente_externo_correo = fields.Char( 'Correo del Funcionario Responsable', size=200, required=True, help='Registra el Correo del Funcionario Responsable del Ente Externo')
class movimiento(models.Model): """Registra los Tipos movimientos de bienes""" _name = 'movimiento' _rec_name = 'nom_mov' nom_mov = fields.Char('Nombre del Movimiento', size=100, required=True, help='Registra el Nombre del Movimiento') cod_mov = fields.Char('Codigo del Movimiento', size=100, required=True, help='Registra el Codigo del Movimiento ') sw_desin = fields.Boolean('Desincorporado', help='Registra si el bien fue Desincorporado') _sql_constraints = [('nom_mov', 'unique(nom_mov)', 'El Nombre del Movimiento debe ser Unico!')]
class mov_deta(models.Model): #_inherit ='bienes' """Registra el detalle de los movimientos""" _name = 'mov_deta' _rec_name = 'movimiento_id' global res res = () bienes_ids = fields.Many2many('bienes', 'bienes_numbien', help='Registra el Numero de Bien') bi_nombre = fields.Char('Descripcion del Bien', help='Descripcion del Bien') bi_fecha_inv = fields.Date('Fecha del Ultimo Movimiento del Bien') #bi_oficina_cedente = fields.Many2one('oficinas','Oficina Cedente',domain = "[('oficinas','=','bienes_id.oficinas_id')]") bi_oficina_cedente = fields.Many2one('oficinas', 'Oficina Cedente') #bi_resp_uso_cedente = fields.Many2one('personas','Responsable de Uso Cedente', domain = "[('personas','=','bienes_id.resp_uso_id')]") bi_resp_uso_cedente = fields.Many2one( 'personas', 'Responsable de Uso Cedente', domain="[('oficinas_id','=',bi_oficina_cedente)]") movimiento_id = fields.Many2one( 'movimiento', 'Nombre del Movimiento', required=True, help='Registra el codigo de Vinculacion con los Tipos de Movimientos ') movimiento_codigo = fields.Char(string='Codigo', related='movimiento_id.cod_mov', store=False) ofi_receptora = fields.Many2one( 'oficinas', 'Oficina Receptora', size=2, help='Registra la Oficina Receptora del Bien') resp_uso_receptor = fields.Many2one( 'personas', 'Responsable de uso Receptor', domain="[('oficinas_id','=',ofi_receptora)]", help='Registra el Responsable de uso Cedente del Bien') fecha_mov = fields.Date(string='Fecha del Movimiento', size=8, required=True, help='Registra la Fecha del Movimiento') analista_bienes = fields.Many2one( 'personas', 'Analista de Bienes', domain="[('oficinas_id','=',12)]", required=True, help='Registra el Analista que realizo el Movimiento') nro_acta = fields.Text('Acta del Movimiento', help='Registra Acta del Movimiento') fecha_acta = fields.Date(string='Fecha del Acta', help='Registra la Fecha del Acta del Movimiento') ente_externo_id = fields.Many2one( 'ente_externo', 'Ente Externo', help='Registra el codigo de Vinculacion con los Entes Externos') observacion = fields.Text('Observacion', help='Observaciones') state = fields.Selection([('1', 'Registrado'), ('2', 'Realizar Movimiento'), ('3', 'Movimiento Realizado ')], 'Estado') # @api.one # @api.onchange('movimiento_id') # def generar_movimiento_compra(self): # #cod_movi == self.movimiento_id.cod_mov # if self.movimiento_id.cod_mov == '01': # self.bi_oficina_cedente = 13 # self.ofi_receptora = 23 @api.one @api.onchange('fecha_mov') def validar_fecha(self): if self.fecha_mov < self.bi_fecha_inv: raise ValidationError( "Error ! No puedes crear registros en donde la fecha del movimiento %s sea menor a la fecha del inventario" % (self.fecha_mov)) _defaults = { 'state': '1', }