El 29/01/15 a les 08:43, Guillem Barba Domingo ha escrit:


El 29/01/2015 8:27, "Raimon Esteve" <raimonest...@gmail.com <mailto:raimonest...@gmail.com>> va escriure:
>
> 2015-01-28 23:06 GMT+01:00 Luis Deiana <luis.deian...@gmail.com <mailto:luis.deian...@gmail.com>>:
> >
> >
> > El miércoles, 28 de enero de 2015, 12:47:52 (UTC-3), Jordi Esteve
> > (Zikzakmedia) escribió:
> >>
> >> On 28/01/15 14:17, Jesús Martín Jiménez wrote:
> >>
> >>
> >>
> >> El 28 de enero de 2015, 14:14, Luis Deiana <luis.d...@gmail.com <mailto:luis.d...@gmail.com>> escribió:
> >>>
> >>> Buenos dias, cuando se vende a un cliente no habitual utilizo un cliente > >>> llamado "Cliente Mostrador" y necesito que Tryton me muestre todas las > >>> ventas que no se hicieron a este cliente. Por lo tanto lo filtro según el
> >>> link 1* de la siguiente manera:
> >>>
> >>> Entidad: !Cliente Mostrador
> >>> tambien probe: Entidad: !=Cliente Mostrador
> >>>
> >>> No me reconoce el filtro y me muestra todas las ventas incluidas las del
> >>> Cliente Mostrador
> >>>
> >>> Utilizo Tryton 3.2
> >>>
> >>> 1*
> >>> http://doc.tryton-erp.es/trytond_doc/tryton_buscador.html#operaciones-con-el-filtro
> >>>
> >>>
> >> Prueba de poner los dos puntos después del igual.
> >>
> >> Entidad !=: Cliente Mostrador
> >>
> >>
> >> Esto no me suena que funcione bien como filtro. Debería ser
> >>
> >> Entidad: !"Cliente Mostrador"
> >>
> >
> > Ninguna de las opciones dio resultado, el espacio me lo recibe si lo cambio > > por guion bajo (Clienet_Mostrador). Pero la negacion no me la reconoce de
> > ninguna manera.
>
> Revisalo porque es tal como te lo he comentado.
>
> todos los string con espacio, se debe usar las comillas. Si usas el
> buscador interno, verás que lo pone en comillas si hay un espacio:
>
> Nombre: "Cliente Varios"
>
> Y la negación, con "!"
>
> Nombre: !"Cliente Varios"

Esto funciona en general pero no en esta ocasión.
Mejor dicho: esta negación funciona si es contra "Nombre" pero no contra "Entidad"

El modelo Party tiene definido este search_rec_name (aproximadamente):
def search_rec_name():
  return ['OR',
    ('name',) + clause[:1],
    ('code',) + clause[1:],
    ]

Creo que esta OR hace que la negación no funcione.
Éste lunes o martes me encontré con un caso igual en otro modelo pero tengo pendiente investigarlo (ver exactamente como trata la negación).

Creo que no se puede, pero a ver si esto funciona:
"Entidad/Nombre": !"Cliente Mostrador"


Si, exacto, este es el problema, Guillem se me ha adelantado con la explicación.

La negación funcionará bien con campos simples, donde no esté redefinido el método search_rec_name() para incluir otros criterios con 'OR'. Prueba a buscar facturas, ventas, ... distintas a un cierto número de factura/venta/... y verás que te funcionará.

Yo diría que en el caso de tercero, como se busca por nombre o por código, no funciona, pues te devuelve todos los terceros ya que todos los terceros tienen un código distinto a tu criterio.

--
Jordi Esteve
Consultor Zikzakmedia SL
jest...@zikzakmedia.com
Mòbil 679 170 693

Zikzakmedia SL
St. Jaume, 9, baixos, 2a
08720 Vilafranca del Penedès
Tel 93 890 2108

Responder a