Importar datos via web services desde profit
Buenas, estoy tratando de importar los clientes y proveedores desde el sistema profit administrativo 2k8 versión corporativa (sql server) via web services, pero luego de instalar la localización de Venezuela para la versión 6.0 no puedo importar los partners porque me pide que tenga una dirección y no puedo crear la dirección porque no tengo patner :-(
código python:
def create_
# create new partner
partner = {
'ref': px.str_
'vat': px.str_
'name': px.str_
'lang': 'es_VE',
'customer': is_cust,
'supplier': not(is_cust),
}
partner_id = px.object_
# create new address for partner
address = {
'type' : 'invoice',
'name': px.str_
'street': px.str_
'zip': px.str_
'city': px.str_
'phone': px.str_
'fax': px.str_
}
address_id = px.object_
La pregunta es: ¿Existe alguna manera (desde web services) de iniciar una transacción, crear ambos registros y luego lanzar un commit?
Puedo crear los dos datos en un sólo paso?.
Dejo las funciones de conversión por si e son útiles a alguien más:
def str_import(s):
"""
This function "clean" the strings imported from profit
"""
s = s.replace(' ',' ')
s = s.replace('\n','')
s = s.replace('\t','')
s = s.strip()
s = unicode(s, 'latin-
return s
def str_rif(s):
"""
This function set RIF to standart format: (VEJ12345678)
"""
s = str_import(s)
s = s.replace(' ','')
s = s.replace('-','')
s = s.replace('.','')
s = s.capitalize()
s = '%s%s' % ('VE',s)
return s
Question information
- Language:
- Spanish Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Javier Duran
- Solved:
- 2011-07-29
- Last query:
- 2011-07-29
- Last reply:
- 2011-07-29
|
#1 |
La pregunta es: ¿Existe alguna manera (desde web services) de iniciar una transacción, crear ambos registros y luego lanzar un commit?
Si.
Siguiendo tu ejemplo:
omitimos el campo partner_id en la dirección ya que esta relación se creará automáticamente al crear al partner.
# create new address for partner
address = {
'type' : 'invoice',
'name': px.str_
'street': px.str_
'zip': px.str_
'city': px.str_
'phone': px.str_
'fax': px.str_
}
le agregamos al diccionario partner la dirección para que se cree con el partner asociado:
# create new partner
partner = {
'ref': px.str_
'vat': px.str_
'name': px.str_
'lang': 'es_VE',
'customer': is_cust,
'supplier': not(is_cust),
'address': [(0,0, address)],
}
# creamos el partner
partner_id = px.object_
Aquí puedes encontrar la explicación de los valores de la tupla:
http://
De todos modos se corrigio en el trunk de la localización este inconveniente para que permita crear un partner sin dirección, aquí tienes el enlace:
http://
Juan Márquez (jmarquez) said : | #2 |
Thanks Javier Duran - Vauxoo, that solved my question.