El 15/03/16 a les 21:31, Fabyc ha escrit:
Hola.
On Thursday, January 28, 2016 at 5:04:38 PM UTC-5, Jordi Esteve
(Zikzakmedia) wrote:
Hola Fernando,
El 28/01/16 a les 14:45, Fernando Sánchez ha escrit:
> Estimada comunidad,
>
> Reciban mi saludo cordial, a la vez tengo una consulta respecto
al uso
> de lector de código de barras con tryton 3.4.
>
> Sucede que estamos usando un lector de códigos Argox AS8000 y al
> registrar los códigos en el formulario de plantillas de
productos, nos
> posicionamos en el campo de código (sección variantes) ,
disparamos el
> lector y el código del producto aparece en el campo. Hasta ahí
perfecto.
>
> Tuvimos dificultad al usar el mismo lector para recibir
productos en
> almacén, en el formulario de recepción de productos desde el
proveedor
> (pienso que debe ser igual en el de envíos a clientes), al
agregar una
> nueva linea nos muestra el formulario respectivo, dentro de
ellos el
> campo producto. Posicionamos el cursor en este campo y al leer el
> código de barras, este aparece y en una fracción de segundo
> desaparece. Siendo este un producto cuyo código ya esta
registrado en
> la base de datos.
> Pienso que tiene que ver con la funcionalidad asociada al campo,
que
> es uno de busqueda.
>
> A ver si alguien vivió esta situación y me da alguna luz para poder
> resolver el problema.
Seguramente será que el cliente Gtk de Tryton por defecto no
autocompleta los campos m2o y m2m cuando la búsqueda obtiene un único
resultado.
Nosotros modificamos ligeramente el cliente Gtk de Tryton para que lo
hiciera, prueba de descargarte el que hay disponible aquí
http://www.zzsaas.com/es/descarga-tryton.html
<http://www.zzsaas.com/es/descarga-tryton.html>
¿Habrá algún repositorio de donde descargar el código fuente de los
parches
aplicados para el soporte de la fuincionalidad en mención y/o algunas
otras
más necesarias para la utilización en un super mercado?
Busqué en el repositorio de Zikzakmedia en Bitbucket pero no encuentro el
cliente modificado.
No, no está en bitbucket. Te mando adjunto el patch de "Autocomplete
m2m, m2o and o2m when search restul is 1" para v3.8, pero es
prácticamente el mismo para otras versiones.
--
Jordi Esteve
Consultor Zikzakmedia SL
[email protected]
Mòbil 679 170 693
Zikzakmedia SL
St. Jaume, 9, baixos, 2a
08720 Vilafranca del Penedès
Tel 93 890 2108
# HG changeset patch
# User resteve <[email protected]>
# Date 1447629341 -3600
# Mon Nov 16 00:15:41 2015 +0100
# Branch zz3.8
# Node ID f336e6457599e83752979cc46e3f417235b5986a
# Parent 347f9902b024955d14614a062bc0433bd96d9dea
Autocomplete m2m and o2m when search result is 1
diff -r 347f9902b024 -r f336e6457599 tryton/gui/window/view_form/view/form_gtk/many2many.py
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py Tue Sep 29 12:59:17 2015 +0200
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py Mon Nov 16 00:15:41 2015 +0100
@@ -11,6 +11,7 @@
from tryton.common.placeholder_entry import PlaceholderEntry
from tryton.common.completion import get_completion, update_completion
from tryton.common.domain_parser import quote
+from tryton.common import RPCExecute, RPCException
_ = gettext.gettext
@@ -43,6 +44,7 @@
self.wid_text = PlaceholderEntry()
self.wid_text.set_placeholder_text(_('Search'))
self.wid_text.set_property('width_chars', 13)
+ self.wid_text.connect('key_press_event', self.on_keypress)
self.wid_text.connect('focus-out-event', lambda *a: self._focus_out())
self.focus_out = True
hbox.pack_start(self.wid_text, expand=True, fill=True)
@@ -145,6 +147,20 @@
self.focus_out = False
+ domain2 = [('rec_name', 'ilike', '%' + value + '%'), domain]
+ try:
+ ids = RPCExecute('model', self.attrs['relation'], 'search',
+ domain2, 0, 2, None, context=context)
+ except RPCException:
+ ids = []
+ if len(ids) == 1:
+ self.focus_out = True
+ self.screen.load(ids, modified=True)
+ self.screen.display(res_id=ids[0])
+ self.screen.set_cursor()
+ self.wid_text.set_text('')
+ return
+
def callback(result):
self.focus_out = True
if result:
diff -r 347f9902b024 -r f336e6457599 tryton/gui/window/view_form/view/form_gtk/one2many.py
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py Tue Sep 29 12:59:17 2015 +0200
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py Mon Nov 16 00:15:41 2015 +0100
@@ -12,6 +12,7 @@
from tryton.common.placeholder_entry import PlaceholderEntry
from tryton.common.completion import get_completion, update_completion
from tryton.common.domain_parser import quote
+from tryton.common import RPCExecute, RPCException
_ = gettext.gettext
@@ -49,6 +50,8 @@
self.wid_text = PlaceholderEntry()
self.wid_text.set_placeholder_text(_('Search'))
self.wid_text.set_property('width_chars', 13)
+ if self.attrs.get('add_remove'):
+ self.wid_text.connect('key_press_event', self.on_keypress)
self.wid_text.connect('focus-out-event',
lambda *a: self._focus_out())
hbox.pack_start(self.wid_text, expand=True, fill=True)
@@ -194,8 +197,6 @@
vbox.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
- if self.attrs.get('add_remove'):
- self.wid_text.connect('key_press_event', self.on_keypress)
but_switch.props.sensitive = self.screen.number_of_views > 1
@@ -453,6 +454,22 @@
if self.screen.current_view.view_type == 'tree':
sequence = self.screen.current_view.attributes.get('sequence')
+ domain2 = [('rec_name', 'ilike', '%' + text + '%'), domain]
+ try:
+ ids = RPCExecute('model', self.attrs['relation'], 'search',
+ domain2, 0, 2, None, context=context)
+ except RPCException:
+ ids = []
+ if len(ids) == 1:
+ self.focus_out = True
+ self.screen.load(ids, modified=True)
+ self.screen.display(res_id=ids[0])
+ if sequence:
+ self.screen.group.set_sequence(field=sequence)
+ self.screen.set_cursor()
+ self.wid_text.set_text('')
+ return
+
def callback(result):
self.focus_out = True
if result: