2015-05-05 8:36 GMT+02:00 Guillem Barba Domingo <guillemba...@gmail.com>:
> El 04/05/2015 23:35, "Antonio Roncero" <ronc...@gmail.com> va escriure:
>>
>> ok, solucionado. Efectivamente crea un address vacio
>
> Solo como aclaración; no es Tryton servidor el que crea una dirección al
> crear el tercero sino el cliente Tryton, que como el formulario del tercero
> tiene definido el campp addresses para que se muestre en modo formulario,
> tiene este efecto.

Esto era en Open :D

http://hg.tryton.org/modules/party/file/a426a130de25/party.py#l105

>
> Proteus emula _a todos los efectos_ el comportamiento del cliente.
>
>> Aquí el código funcional
>
>> party = Party()
>> party.name = partner.name
>> party.vat_number = 'XXX...XX'
>> party.vat_country = 'XX'
>> print partner.name
>> first = True # flag para detectar si es el primero
>>
>> for address in partner.address: # con el debuger solo entra una vez pero
>> crea dos direcciones
>>     address_new = Address()
>>     address_new.name = address.name
>>     address_new.street = address.street
>>     ....
>>     if first:
>>         party.address[0] = address_new
>>         first = False
>>     else:
>>         party.addresses.append(address_new)
>> party.save()
>>
>>
>>
>>
>> El lunes, 4 de mayo de 2015, 21:45:03 (UTC+1), Karla Stenger escribió:
>>>
>>>
>>>
>>> El 4 de mayo de 2015, 14:56, Antonio Roncero <ron...@gmail.com> escribió:
>>>>
>>>> Gracias Raimon,
>>>>
>>>> pero la asignacion party.addresses = address_news lanza una excepcion de
>>>> "attribute error"
>>>>
>>>> El lunes, 4 de mayo de 2015, 18:36:27 (UTC+1), raimonesteve escribió:
>>>>>
>>>>> 2015-05-04 19:26 GMT+02:00 Antonio Roncero <ron...@gmail.com>:
>>>>> > Hola,
>>>>> >
>>>>> > estoy usando proteus en un script para importar terceros. El tema es
>>>>> > que
>>>>> > cuando genero un tercero que solo tiene una dirección, en tryton me
>>>>> > aparecen
>>>>> > dos y si tiene dos, me aparecen tres.
>>>>> >
>>>>> > Esta es la parte involucrada de codigo
>>>>> >
>>>>> > party = Party()
>>>>> > party.name = partner.name
>>>>> > party.vat_number = 'XXX...XX'
>>>>> > party.vat_country = 'XX'
>>>>> > print partner.name
>>>>> address_news = []
>>>>> > for address in partner.address: # con el debuger solo entra una vez
>>>>> > pero
>>>>> > crea dos direcciones
>>>>> >     address_new = Address()
>>>>> >     address_new.name = address.name
>>>>> >     address_new.street = address.street
>>>>>     address_news.append(address_new)
>>>>> >     ....
>>>>> party.addresses = address_news
>>>>> > party.save()
>>>>> >
>>>>> > Alguna idea? gracias
>>>>>
>>>>> nota:
>>>>> sin testear
>>>>>
>>>>> Raimon
>>>
>>>
>>> Hola,
>>> cuando estuve con eso descubrí que party.addresses tiene un elemento
>>> vacío desde el momento en que se hace party.save()
>>>
>>> Ahora, no logro entender si lo que te sucede es que te crea una address
>>> _duplicada_ (en cuyo caso mi descubrimiento no sirve de nada) o simplemente
>>> una address extra _vacía_.
>>>
>>> Si el caso es el segundo, es muy sencillo modificar la address vacía, o
>>> si ves que la address ya no está vacía, crear una nueva (en caso que tengas
>>> una party con mas de una address).
>>>
>>> Ojala te sirva de algo,
>>> Saludos,
>>> Karla.
>>>
>>> --
>>> -------------------------
>>> Karla  Mª  Stenger  Sábat
>>> karla....@gmail.com



-- 
Albert Cervera i Areny
Tel. 93 553 18 03
@albertnan
www.NaN-tic.com

Responder a