Archivo mensual: octubre 2009

OpenERP HacKeRs

S0m3 H4ck#R5

S0m3 H4ck#R5


Sequencias en OpenERP

El control de las secuencias de OpenERP, es incrementar por parte de el metodo get_id de la clase ir_sequence


def get_id(self, cr, uid, sequence_id, test='id=%s', context=None):
try:
cr.execute('SELECT id, number_next, prefix, suffix, padding FROM ir_sequence WHERE '+test+' AND active=%s FOR UPDATE', (sequence_id, True))
res = cr.dictfetchone()
if res:
cr.execute('UPDATE ir_sequence SET number_next=number_next+number_increment WHERE id=%s AND active=%s', (res['id'], True))
if res['number_next']:
return self._process(res['prefix']) + '%%0%sd' % res['padding'] % res['number_next'] + self._process(res['suffix'])
else:
return self._process(res['prefix']) + self._process(res['suffix'])
finally:
cr.commit()
return False

Esto a nuestra realidad no se aplica, cuando se valida una factura por ejemplo, ya se asigna una sequencia, entonces lo que se propone modificar es, ir.sequence para que en linea de un numero de secuencia correcto y sin saltos.


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.