Las secuencias son utilizadas para serializar un campo (o varios 
campos), en especifico. Es especialmente util en ambientes multi empresas, 
en donde cada una de ellas puede tener una secuencia diferente para un 
mismo campo. Por ejemplo, queremos que nuestras facturas de venta generen 
un correlativo diferente para cada empresa.

   Esto se logra por lo general en tres tres pasos:

1.- Crear una secuencia.

obj_sequence = Pool().get('ir.sequence')

vals_seq={
            'name': 'nombre',
            'code': 'sale.sale',
            'padding': 6,
            'company': company_id,
            'prefix': 'prefix',
            'type': 'incremental',
} 

seq = obj_sequence.create(vals_seq) 

 
2.- Asignar el valor de la secuencia a una propiedad.
    En el caso de 'sale.sale', utilizamos el model 'sale.configuration' que 
contiene un campo de tipo 'property' llamado 'sale_sequence' en donde 
guardamos el valor de la secuencia creada anteriormente:

config_obj = Pool().get('sale.configuration') 

config_obj.write(1, {'sale_sequence' : seq.id})

        
3.- Llamar a la funcion 'get_id' del objeto ir.sequence para obtener el 
siguiente numero de secuencia en el formato establecido.

Sequence = Pool().get('ir.sequence')

Config = Pool().get('sale.configuration')

config = Config(1) 

next_number = Sequence.get_id(config.sale_sequence.id)


    Espero no haya sido muy confusa la explicación,

   Saludos,
 
El jueves, 6 de diciembre de 2012 20:38:59 UTC-5, Sergio escribió:
>
> Buenos días
>
> Llevo varios días mirando código de módulos como party, sale, invoice... 
> para entender el funcionamiento de secuencias en tryton. También he buscado 
> información en la web pero no he encontrado (o sabido buscar) nada que me 
> aclare el uso de secuencias. Alguien puede darme un breve explicación sobre 
> este tema?
>
> Muchas gracias
>

-- 
[email protected] mailing list

Responder a