pypyme-giotto Mailing List for pyPYME (Page 8)
Status: Planning
Brought to you by:
pyneo
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(93) |
Dec
(231) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(12) |
Feb
(43) |
Mar
(27) |
Apr
(47) |
May
(55) |
Jun
(68) |
Jul
(98) |
Aug
(59) |
Sep
(91) |
Oct
(7) |
Nov
(3) |
Dec
(2) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(5) |
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Jose <coo...@py...> - 2005-08-04 11:59:03
|
Hola a todos, He personalizado el repositorio SVN para que cada vez que hagamos un commit env=C3=ADe un mensaje de correo a esta lista con el res=C3=BAmen de = las modificaciones realizadas. As=C3=AD podremos estar mejor informados de todo lo relacionado con el c=C3=B3digo. Saludos, Jose |
From: Luis M. F. <lu...@va...> - 2005-08-02 16:41:46
|
Hola Jose, supongo que a pesar de no intervenir en la lista nada y con grandes problemas para leer incluso, debido al tr=C3=A1fico de la misma, a=C3=BAn= te acuerdas de que un d=C3=ADa te ped=C3=AD colaborar en el proyecto. Supongo que fu=C3=AD demasiado ambicioso, pero bueno, no he dejado de seg= uir el proyecto, y ahora estoy recapitulando todo lo que se ha ido haciendo y ver si puedo empezar a programar un poco, jugar con el sistema y a ayudar en "algo" en concreto. Por este motivo, te pedir=C3=ADa que me remitieras un usuario de subversion para poder descargarme f=C3=A1cilment= e el c=C3=B3digo. Tengo dudas sobre pyContainer, pero vaya, con la buena documentaci=C3=B3n= que ya vas haciendo de como crear el entorno y tal, me imagino que mis dudas igual est=C3=A1n resueltas por ahi (como por ejemplo si el PyContainer se ejecuta aparte como servicio o si es un m=C3=B3dulo pero bueno, lo averig= uo si acaso). Por otra parte, soy co-coordinador de una party que se celebra en Benaguasil, en Valencia, Espa=C3=B1a (esto lo pongo porque no no se exactamente desde donde trabajar), la llamada Benaguasil Party. No es muy grande, pero ya es veterana (8 a=C3=B1os con este) y solemos hacer charlas y talleres sobre todo con temas relacionados con Software Libre. Pienso que puede ser un excelente lugar de divulgaci=C3=B3n y de presenta= ci=C3=B3n del proyecto, con diversos objetivos, darlo a conocer y captar posibles colaboradores, ya sean personas como otras asociaciones. La party es entre los dias 26, 27 y 28 de Agosto. Igual es un poco corrido, pero me gustar=C3=ADa que me dieras tu opini=C3=B3n y que posibilidad hay de que pudi=C3=A9ramos hacer alguna cosa. A esta party tambi=C3=A9n han venido e= n otras ocasiones gente de BulmaGes/Iglues y otros proyectos de software libre. Este a=C3=B1o incluso es posible que venga gente de Iglues, estoy habland= o con ellos. Nos une con ellos el hecho que est=C3=A1n realizando tambi=C3=A9= n un proyecto de softwaer libre, en concreto un ERP como nosotros, con QT y Postgresql, pero en este caso con C++. Conozco tu opini=C3=B3n en relaci=C3=B3n a la web de que hasta que no hay= a algo "presentable" no tiene sentido tener otra web, pero a=C3=BAn as=C3=AD, te= ten=C3=ADa que comentar la posibilidad de esta participaci=C3=B3n en la party, ya qu= e me parece un proyecto muy interesante ya en su concepto, as=C3=AD como un bu= en ejemplo de lo que se puede hacer con software libre, como se organiza un proyecto, y que herramientas hay a nuestra disposici=C3=B3n para desarrollarlo. Com=C3=A9ntame alguna cosa, y mientras tanto, env=C3=ADame el usuario que= quiero empezar a ver c=C3=B3digo. Un abrazo! P.D: la URL de la web de la party est=C3=A1 abajo. --=20 Luis M. Fuertes mailto:lu...@va... http://www.valux.org http://www.benaguasil.org | http://party.benaguasil.org |
From: Jose <coo...@py...> - 2005-07-28 17:08:01
|
Hola a todos, Estos dias he ido subiendo a SVN varias cosas: - el primer borrador de lo que alg=C3=BAn d=C3=ADa ser=C3=A1 el instalador= de m=C3=B3dulos y componentes [1]. Por ahora debe ejecutarse en linea de comandos (tal y como se explica en el propio c=C3=B3digo) y personalizarse en la secci=C3= =B3n __main__ - algunas correcciones [2] - el prototipo (s=C3=B3lo contiene el interfaz de usuario, no ejecuta ninguna operaci=C3=B3n) de la gesti=C3=B3n de b=C3=BAsqueda/filtrado de reg= istros [3]. Por ahora s=C3=B3lo est=C3=A1 enlazado en el bot=C3=B3n correspondiente de = la barra de herramientas del formuolario-lista. Mi intenci=C3=B3n es incorporar una variante, que s=C3=B3lo devuelve 1 registro, para el formulario-ficha (ya que, en este caso, s=C3=B3lo se utiliza para buscar un determinado registro= , no para recuperar una lista de registros) - al incorporar nuevos mantenimientos he observado que el fichero de definici=C3=B3n de los esquemas pod=C3=ADa acabar siendo ingestionable. Por= ello he cambiado la estructura original [4]: [...]/schemas/ firebird/ clear.sql create.sql postgresql/ ... fill.sql por otra m=C3=A1s amplia, pero m=C3=A1s gestionable: [...]/schemas/ firebird/ clear/ tabla1.sql tabla2.sql ... create/ tabla1.sql tabla2.sql ... postgresql/ clear/ ... fill/ __init__.py tabla1.py tabla2.py ... Observar=C3=A9is que ahora resuelvo la inicializaci=C3=B3n de las tablas m= ediante c=C3=B3digo Python. Esto lo he hecho as=C3=AD porque: * reduce la cantidad de datos que hemos de escribir * simplifica su gesti=C3=B3n, ya que aprovecha toda la funcionalidad de acceso a base de datos de Thalassa (desde el m=C3=B3dulo instalador [1]) - la implementaci=C3=B3n del mantenimiento de pa=C3=ADses [5], a partir de= c=C3=B3digo de Marcelo Jose [1] http://dev.pypyme.org/trac/changeset/77 [2] http://dev.pypyme.org/trac/changeset/78 [3] http://dev.pypyme.org/trac/changeset/79 [4] http://dev.pypyme.org/trac/changeset/80 [5] http://dev.pypyme.org/trac/changeset/81 |
From: Jose <coo...@py...> - 2005-07-28 00:27:16
|
El mar, 26-07-2005 a las 23:05, maram escribi=F3: > Jose wrote: > > =BFQu=E9 problemas est=E1s teniendo con el mantenimiento de datos? >=20 > Te comento los problemas que quedan: >=20 > Cuando pulsas sobre "nuevo", cargas los datos en la ficha y apretas=20 > guardar. Pero en realidad el estado de la ficha sigue siendo nuevo, y=20 > creo deberia pasar a existente... ya que si volves a apretar guardar=20 > trata de incorporarlo nuevamente... como otro registro. Es cierto que el c=F3digo actual no lo hace bien. Aqu=ED tenemos 2 opciones: a) al guardar un registro nuevo, podemos iniciar la creaci=F3n de un nuevo registro b) al guardar un registro nuevo, podemos mantener el registro reci=E9n creado y pasar a modo "edici=F3n" Yo creo que lo m=E1s pr=E1ctico es el caso a). Si no opin=E1is en contra = lo implementar=E9 as=ED. > Tambien si estas editando un registro nuevo y por error (o no) apretas=20 > modificar, vuelve al ultimo registrado... borrando la ficha que estabas= =20 > ingresando sin previo aviso. S=ED, es un error que tengo que corregir. Jose P.D. hablando de errores, en cuanto tenga algo de tiempo intentar=E9 preparar Trac para que podamos usar su gestor de incidencias. A partir de ese momento podremos "formalizar" este proceso de forma m=E1s adecuada= . |
From: Jose <coo...@py...> - 2005-07-28 00:01:58
|
El mar, 26-07-2005 a las 22:52, maram escribi=F3: > Orden de Pago, formulario-ficha. >=20 > Al apretar el boton "nuevo" de la OP, debiera haber una funcion que=20 > entre otras cosas haga: >=20 >=20 > Validar si el metodo de numeracion del comprobante es manual o=20 > automatico > Buscar el proximo numero de OP a proponer > Ver si el numero ingresado es valido (si era manual) >=20 > Donde corresponde que vaya dicha funcion? > 1) En la capa "c" ( portia/socs/payments/c )? o en otro lado es mas=20 > apropiado? Ten en cuenta que toda la "l=F3gica" de la aplicaci=F3n deber=EDa estar implementada en la capa de servicios. Por ello, la capa 'c' (el controlador 'est=E1ndar' de los formularios-ficha) deber=E1 invocar a una funci=F3n de un objeto de la ca= pa 's' que ser=E1 el encargado de resolver peticiones de gesti=F3n de contadores (ver siguiente p=E1rrafo). > 2) Este comportamiento creo es comun a otros comprobantes, habra una=20 > funcion generica y luego una especifica en el modulo que herede de esta= ? Tengo previsto implementar una clase especializada en la gesti=F3n de contadores. Estar=E1 apoyada en una tabla de la base de datos y deber=E1 complementarse con un sistema que permita inicializarlos (normalmente ser=E1 parte de la configuraci=F3n de la aplicaci=F3n). Como t=FA mismo indicas, la mayor parte de los "documentos" (facturas, albaranes, =F3rdenes,...) requerir=E1n el uso de un contador. Jose |
From: Jose <coo...@py...> - 2005-07-27 23:47:09
|
El mar, 26-07-2005 a las 22:44, maram escribi=F3: > Orden de Pago, formulario-ficha. >=20 > En el campo: CODIGO_PROVEEDOR, como hago la busqueda... > 1) Al presionar "enter" en el campo COD_PROV, pasa a busqueda ficha-lis= ta? >=20 > 2) Al ingresar un codigo, si no es valido, pasa a busqueda ficha-lista? >=20 > 3) Ponemos un "boton busq de proveedor" junto al campo COD_PROV para qu= e > al presionarlo pase a busqueda... >=20 > 4) Las opciones 1,2,3 >=20 > 5) Otra opcion? Para mi gusto lo mejor es: 1. cuando el control asociado al c=F3digo "auxiliar" pierde el foco ha de determinar si se ha cambiado su valor 2. en caso afirmativo, proceder con el punto 3; en caso contrario no hacer nada 3. se busca en la base de datos el registro correspondiente al c=F3dig= o introducido 4. si se encuentra, se cargan los datos en los controles del formulario, si corresponde, o simplemente se deja pasar el foco 5. si no se encuentra podemos mostrar un QDialog que permita que el usuario realize 1 de 3 opciones: a) a=F1adir un nuevo registro en la tabla "auxiliar" (mediante un QDialog, que se corresponder=E1 con el controlador del formulario-ficha d= e la tabla "auxiliar" us=E1ndolo "en modo di=E1logo") b) iniciar un proceso de b=FAsqueda de registros de la tabla "auxiliar" c) mostrar el formulario-lista correspondiente "en modo di=E1logo" para permitir que el usuario elija 1 registro Jose |
From: Marcelo G A. <mam...@gm...> - 2005-07-27 18:51:58
|
Tengo un formulario-ficha para Proveedor Tengo un campo CODIGO para eso mismo... Tengo un campo NAME para la razon social... Ahora necesito mostrar el dato "calle" del domicilio tipo "comercial"... La Tabla "Providers" se relaciona con "Providers_Address" y esta ultima con "Address_Type" Donde tengo que definir dicha relacion para que se muestre? O sea en entity pongo el nombre de los campos de Provider, entre ellos id_provider_address, pero donde relaciono los especificos de Address ? y demas...? --=20 Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. |
From: maram <mam...@gm...> - 2005-07-27 16:19:41
|
He notado que si la columna a mostrar en la ficha lista nos de tipo texto, se produce el error: File /workspace/pypyme/org/pypyme/thalassa/core/c/list/controller.py", line 269, in _FillTable self.tabRecordset.setText(row, col, unicode(record[field_name], 'utf-8')) TypeError: coercing to Unicode: need string or buffer, float found Trate de cargar en la columna un dato Numerico (Tambien con otro tipo como Date, pues unicode no los convierte a texto) creo. saludos. P/D: Los comentarios de este tipo sobre dudas o fallas en el codigo, es correcto postearlos aqui. En otros proyectos, hay una lista para bugs. |
From: maram <mam...@gm...> - 2005-07-26 21:03:53
|
Jose wrote: > El mar, 26-07-2005 a las 16:33, maram escribió: > >>Jose wrote: >> >>>El lun, 25-07-2005 a las 18:38, Marcelo G Ametller escribió: >>> >>> >>>>On 7/22/05, Jose <coo...@py...> wrote: >>>> >>>> >>>>>Hola, >>>>> >>>>>Acabo de subir a SVN [1] un bloque de cambios que: >>>>> >>>>> - integra completamente el formulario-lista y el formulario-ficha >>>> >>>>En el formulario-ficha, he visto que faltan las acciones >>>>desencadenadas cuando por ejemplo, al ingresar un codigo, salgo del >>>>foco con tab... me deberia buscar el codigo y refrescar la ficha... >>>> >>>>es un olvido respecto al codigo que implementaba esto (para >>>>incorporarlo en mis pantallas) o hay cambios previstos? >>> >>> >>>La recodificación del controlador del formulario-ficha ha tenido el >>>efecto no deseado de anular esta funcionalidad 8-( . >>> >>>Pero cuenta con ella como funcionalidad estándar. En cuanto pueda >>>volveré a incorporar el código correspondiente. >>> >>>Jose >>> >> >>Para descartar un problema al integrar mi codigo... cual es la >>funcionalidad actual de formulario-ficha? > > > Llamo "formulario-ficha" a cualquier formulario que se utiliza para > realizar la entrada de datos. Toma como base una vista (clase QDialog o > QFrame) y la clase org.pypyme.thalassa.core.c.card.controller.Controller > o uno de sus derivados (DefaultController o DataControlController). > > Actualmente el formulario-ficha incluye el código necesario para > realizar todo el mantenimiento de datos. Sólo falta añadir la capacidad > de buscar/filtrar datos y de imprimir y corregir el error que detectaste > respecto a que no "lee" un registro cuando el usuario escribe un > "código" que se corresponde con el de un registro de la base de datos. > > Seguramente, cuando precisemos mantenimientos más complejos (del tipo > maestro-detalle), tendremos que ampliar la funcionalidad de estas clases > para que soporten los nuevos requerimientos. > > >>no puedo guardar, modificar ni consultar... (no probe borrar ni >>actualizar y supongo que el boton que enlaza con la ficha-lista todavia >>no esta) > > > El código que he subido a SVN permite realizar el mantenimiento completo > desde el formulario-ficha: añadir, modificar, borrar y refrescar el > registro en curso. Como he dicho antes falta incorporar la > búsqueda/filtrado de registros y la impresión. Ya logre probar la funcionalidad que mencionas, se me habian "mezclado" un poco las versiones... sory! > > Y, desde el formulario-lista, permite consultar, buscar y filtrar la > relación de registros de un tipo de datos y, a partir de éste, acceder > al mantenimiento de datos. > > ¿Qué problemas estás teniendo con el mantenimiento de datos? > > Jose > Te comento los problemas que quedan: Cuando pulsas sobre "nuevo", cargas los datos en la ficha y apretas guardar. Pero en realidad el estado de la ficha sigue siendo nuevo, y creo deberia pasar a existente... ya que si volves a apretar guardar trata de incorporarlo nuevamente... como otro registro. Tambien si estas editando un registro nuevo y por error (o no) apretas modificar, vuelve al ultimo registrado... borrando la ficha que estabas ingresando sin previo aviso. Marcelo |
From: maram <mam...@gm...> - 2005-07-26 20:53:56
|
Orden de Pago, formulario-ficha. Al apretar el boton "nuevo" de la OP, debiera haber una funcion que entre otras cosas haga: Validar si el metodo de numeracion del comprobante es manual o automatico Buscar el proximo numero de OP a proponer Ver si el numero ingresado es valido (si era manual) Donde corresponde que vaya dicha funcion? 1) En la capa "c" ( portia/socs/payments/c )? o en otro lado es mas apropiado? 2) Este comportamiento creo es comun a otros comprobantes, habra una funcion generica y luego una especifica en el modulo que herede de esta? Marcelo |
From: maram <mam...@gm...> - 2005-07-26 20:51:49
|
Orden de Pago, formulario-ficha. En el campo: CODIGO_PROVEEDOR, como hago la busqueda... 1) Al presionar "enter" en el campo COD_PROV, pasa a busqueda ficha-lista? 2) Al ingresar un codigo, si no es valido, pasa a busqueda ficha-lista? 3) Ponemos un "boton busq de proveedor" junto al campo COD_PROV para que al presionarlo pase a busqueda... 4) Las opciones 1,2,3 5) Otra opcion? |
From: Jose <coo...@py...> - 2005-07-26 16:20:29
|
El mar, 26-07-2005 a las 16:33, maram escribi=F3: > Jose wrote: > > NOTA 1: La elecci=F3n del directorio donde instalar la documentaci=F3= n > > presenta un problema: > >=20 > > - por una parte, desde el punto de vista del usuario, ha de estar > > integrada dentro de la aplicaci=F3n (debe localizarse dentro del =E1r= bol > > org.pypyme) > > - por otra parte, desde el punto de vista de desarrollo, no debe > > mezclarse con el c=F3digo (no debe localizarse dentro del =E1rbol > > org.pypyme) >=20 > No estoy deacuerdo en esta parte... porque no debe estar dentro del arb= ol? Por no mezclar c=F3digo y documentaci=F3n de usuario. Por una parte deber=EDan ser realizados por distintas personas (lo que puede requerir el uso de distintos permisos) y por otro porque son elementos de distinta naturaleza (al igual que los an=E1lisis, dise=F1os, tests de aceptaci=F3n y dem=E1s). El segundo punto queda algo "debilitado" en el momento que integramos el acceso a los manuales desde el propio aplicativo as=ED que, si as=ED lo vot=E1is, no veo ning=FAn problema en integrar los manuales dentro del =E1= rbol de desarrollo. Jose |
From: Jose <coo...@py...> - 2005-07-26 16:05:41
|
El mar, 26-07-2005 a las 16:33, maram escribi=F3: > Jose wrote: > > El lun, 25-07-2005 a las 18:38, Marcelo G Ametller escribi=F3: > >=20 > >>On 7/22/05, Jose <coo...@py...> wrote: > >> > >>>Hola, > >>> > >>>Acabo de subir a SVN [1] un bloque de cambios que: > >>> > >>> - integra completamente el formulario-lista y el formulario-f= icha > >> > >>En el formulario-ficha, he visto que faltan las acciones > >>desencadenadas cuando por ejemplo, al ingresar un codigo, salgo del > >>foco con tab... me deberia buscar el codigo y refrescar la ficha... > >> > >>es un olvido respecto al codigo que implementaba esto (para > >>incorporarlo en mis pantallas) o hay cambios previstos? > >=20 > >=20 > > La recodificaci=F3n del controlador del formulario-ficha ha tenido el > > efecto no deseado de anular esta funcionalidad 8-( . > >=20 > > Pero cuenta con ella como funcionalidad est=E1ndar. En cuanto pueda > > volver=E9 a incorporar el c=F3digo correspondiente. > >=20 > > Jose > >=20 >=20 > Para descartar un problema al integrar mi codigo... cual es la > funcionalidad actual de formulario-ficha? Llamo "formulario-ficha" a cualquier formulario que se utiliza para realizar la entrada de datos. Toma como base una vista (clase QDialog o QFrame) y la clase org.pypyme.thalassa.core.c.card.controller.Controller o uno de sus derivados (DefaultController o DataControlController). Actualmente el formulario-ficha incluye el c=F3digo necesario para realizar todo el mantenimiento de datos. S=F3lo falta a=F1adir la capacid= ad de buscar/filtrar datos y de imprimir y corregir el error que detectaste respecto a que no "lee" un registro cuando el usuario escribe un "c=F3digo" que se corresponde con el de un registro de la base de datos. Seguramente, cuando precisemos mantenimientos m=E1s complejos (del tipo maestro-detalle), tendremos que ampliar la funcionalidad de estas clases para que soporten los nuevos requerimientos. > no puedo guardar, modificar ni consultar... (no probe borrar ni > actualizar y supongo que el boton que enlaza con la ficha-lista todavia > no esta) El c=F3digo que he subido a SVN permite realizar el mantenimiento complet= o desde el formulario-ficha: a=F1adir, modificar, borrar y refrescar el registro en curso. Como he dicho antes falta incorporar la b=FAsqueda/filtrado de registros y la impresi=F3n. Y, desde el formulario-lista, permite consultar, buscar y filtrar la relaci=F3n de registros de un tipo de datos y, a partir de =E9ste, accede= r al mantenimiento de datos. =BFQu=E9 problemas est=E1s teniendo con el mantenimiento de datos? Jose |
From: maram <mam...@gm...> - 2005-07-26 14:30:46
|
Jose wrote: > Hola, > > Por iniciativa de Marcelo he estado pensando acerca de cómo integrar los > manuales de usuario de cada módulo desarrollado y he llegado a las > siguientes conclusiones: > > 1) la documentación suele localizarse bajo el menú 'Ayuda' > 2) la documentación no debería incluirse en la 'barra de módulos' ya > que no se trata de un bloque funcional (ni presenta, como es lógico, un > 'árbol de operaciones') sino que es un complemento (añadido o como > queramos llamarlo) informativo > 3) cada módulo deberá llevar asociado, de alguna forma, un 'manual de > usuario' > 4) la documentación debería desarrollarse de forma independiente al > código. En teoría por personal no técnico. Esto podría reflejarse en un > árbol SVN propio (p.e. > http://dev.pypyme.org/svn/doc/user_manual/[charon|portia|umbriel|...]) > 5) no hemos decidido el formato de la documentación. En su momento se > discutió (e incluso votó) pero nadie parece haberse interesado por > desarrollar este tema > 6) para integrar la documentación en el 'Centro de Control' habría que > decidir dónde instalar la documentación (me refiero al equipo del > usuario pyPYME), ver NOTA 1, y diseñar un proceso que lo integre en la > estructura de menús del 'Centro de Control', ver NOTA 2. > > NOTA 1: La elección del directorio donde instalar la documentación > presenta un problema: > > - por una parte, desde el punto de vista del usuario, ha de estar > integrada dentro de la aplicación (debe localizarse dentro del árbol > org.pypyme) > - por otra parte, desde el punto de vista de desarrollo, no debe > mezclarse con el código (no debe localizarse dentro del árbol > org.pypyme) No estoy deacuerdo en esta parte... porque no debe estar dentro del arbol? > > Para superar esta dificultad podemos: > > 1) asumir que el proceso de instalación creará un directorio 'manual' > justo debajo del directorio raíz del módulo que documenta y copiará ahí > el fichero o ficheros que formen el manual de usuario > 2) para probar su funcionamiento diseñaremos un test que, para un > módulo dado: > a) creará el directorio 'manual' > b) copiará el contenido del directorio > [...]/trunk/doc/user_manual/[módulo]/ al directorio 'manual' creado en > el punto a) > c) lanzará el 'Centro de Control' > d) al finalizar el test, vaciará y eliminará el directorio creado en > el punto a) > > NOTA 2: Propongo añadir un submenú 'Ayuda', de primer nivel (fijo, parte > del diseño del menú del formulario 'Centro de Control' al igual que el > submenú 'Fichero'): correcto... > > Fichero | [módulos: Charon|Portia|...] | Ayuda > > y dentro del menú Ayuda: > > Manuales > Datos Generales > Ficheros Maestros > Tesorería > ... > - > Acerca de... de acuerdo. > > donde la composición del menú 'Manuales' (inicialmente vacía) se > realizaría dinámicamente, analizando los ficheros 'deploy.py' de los > módulos. Para ello podríamos utilizar una nueva entrada que especificase > la información necesaria: > > manual = { > 'title' : 'Tesorería', # título a mostrar en el menú > 'path' : 'manual', # relativo al directorio raíz del módulo > 'filename': 'index.html', # o manual.pdf o el que sea > } > > ¿Qué os parece esta propuesta? > > Saludos, > Jose > > |
From: maram <mam...@gm...> - 2005-07-26 14:30:35
|
Jose wrote: > El lun, 25-07-2005 a las 18:38, Marcelo G Ametller escribió: > >>On 7/22/05, Jose <coo...@py...> wrote: >> >>>Hola, >>> >>>Acabo de subir a SVN [1] un bloque de cambios que: >>> >>> - integra completamente el formulario-lista y el formulario-ficha >> >>En el formulario-ficha, he visto que faltan las acciones >>desencadenadas cuando por ejemplo, al ingresar un codigo, salgo del >>foco con tab... me deberia buscar el codigo y refrescar la ficha... >> >>es un olvido respecto al codigo que implementaba esto (para >>incorporarlo en mis pantallas) o hay cambios previstos? > > > La recodificación del controlador del formulario-ficha ha tenido el > efecto no deseado de anular esta funcionalidad 8-( . > > Pero cuenta con ella como funcionalidad estándar. En cuanto pueda > volveré a incorporar el código correspondiente. > > Jose > Para descartar un problema al integrar mi codigo... cual es la funcionalidad actual de formulario-ficha? no puedo guardar, modificar ni consultar... (no probe borrar ni actualizar y supongo que el boton que enlaza con la ficha-lista todavia no esta) Marcelo |
From: Jose <coo...@py...> - 2005-07-25 19:14:17
|
Hola, Por iniciativa de Marcelo he estado pensando acerca de c=C3=B3mo integrar l= os manuales de usuario de cada m=C3=B3dulo desarrollado y he llegado a las siguientes conclusiones: 1) la documentaci=C3=B3n suele localizarse bajo el men=C3=BA 'Ayuda' 2) la documentaci=C3=B3n no deber=C3=ADa incluirse en la 'barra de m=C3=B3= dulos' ya que no se trata de un bloque funcional (ni presenta, como es l=C3=B3gico, u= n '=C3=A1rbol de operaciones') sino que es un complemento (a=C3=B1adido o com= o queramos llamarlo) informativo 3) cada m=C3=B3dulo deber=C3=A1 llevar asociado, de alguna forma, un 'manu= al de usuario' 4) la documentaci=C3=B3n deber=C3=ADa desarrollarse de forma independiente= al c=C3=B3digo. En teor=C3=ADa por personal no t=C3=A9cnico. Esto podr=C3=ADa = reflejarse en un =C3=A1rbol SVN propio (p.e. http://dev.pypyme.org/svn/doc/user_manual/[charon|portia|umbriel|...]) 5) no hemos decidido el formato de la documentaci=C3=B3n. En su momento se discuti=C3=B3 (e incluso vot=C3=B3) pero nadie parece haberse interesado po= r desarrollar este tema 6) para integrar la documentaci=C3=B3n en el 'Centro de Control' habr=C3= =ADa que decidir d=C3=B3nde instalar la documentaci=C3=B3n (me refiero al equipo del usuario pyPYME), ver NOTA 1, y dise=C3=B1ar un proceso que lo integre en la estructura de men=C3=BAs del 'Centro de Control', ver NOTA 2. NOTA 1: La elecci=C3=B3n del directorio donde instalar la documentaci=C3=B3= n presenta un problema: - por una parte, desde el punto de vista del usuario, ha de estar integrada dentro de la aplicaci=C3=B3n (debe localizarse dentro del =C3=A1r= bol org.pypyme) - por otra parte, desde el punto de vista de desarrollo, no debe mezclarse con el c=C3=B3digo (no debe localizarse dentro del =C3=A1rbol org.pypyme) Para superar esta dificultad podemos: 1) asumir que el proceso de instalaci=C3=B3n crear=C3=A1 un directorio 'ma= nual' justo debajo del directorio ra=C3=ADz del m=C3=B3dulo que documenta y copia= r=C3=A1 ah=C3=AD el fichero o ficheros que formen el manual de usuario 2) para probar su funcionamiento dise=C3=B1aremos un test que, para un m=C3=B3dulo dado: a) crear=C3=A1 el directorio 'manual' b) copiar=C3=A1 el contenido del directorio [...]/trunk/doc/user_manual/[m=C3=B3dulo]/ al directorio 'manual' creado en el punto a) c) lanzar=C3=A1 el 'Centro de Control' d) al finalizar el test, vaciar=C3=A1 y eliminar=C3=A1 el directorio crea= do en el punto a) NOTA 2: Propongo a=C3=B1adir un submen=C3=BA 'Ayuda', de primer nivel (fijo= , parte del dise=C3=B1o del men=C3=BA del formulario 'Centro de Control' al igual q= ue el submen=C3=BA 'Fichero'): Fichero | [m=C3=B3dulos: Charon|Portia|...] | Ayuda y dentro del men=C3=BA Ayuda: Manuales Datos Generales Ficheros Maestros Tesorer=C3=ADa ... - Acerca de... donde la composici=C3=B3n del men=C3=BA 'Manuales' (inicialmente vac=C3=ADa= ) se realizar=C3=ADa din=C3=A1micamente, analizando los ficheros 'deploy.py' de = los m=C3=B3dulos. Para ello podr=C3=ADamos utilizar una nueva entrada que espec= ificase la informaci=C3=B3n necesaria: manual =3D { 'title' : 'Tesorer=C3=ADa', # t=C3=ADtulo a mostrar en el men=C3=BA 'path' : 'manual', # relativo al directorio ra=C3=ADz del m=C3=B3d= ulo 'filename': 'index.html', # o manual.pdf o el que sea } =C2=BFQu=C3=A9 os parece esta propuesta? Saludos, Jose |
From: Jose <coo...@py...> - 2005-07-25 18:48:01
|
El lun, 25-07-2005 a las 18:38, Marcelo G Ametller escribi=F3: > On 7/22/05, Jose <coo...@py...> wrote: > > Hola, > >=20 > > Acabo de subir a SVN [1] un bloque de cambios que: > >=20 > > - integra completamente el formulario-lista y el formulario-fi= cha >=20 > En el formulario-ficha, he visto que faltan las acciones > desencadenadas cuando por ejemplo, al ingresar un codigo, salgo del > foco con tab... me deberia buscar el codigo y refrescar la ficha... >=20 > es un olvido respecto al codigo que implementaba esto (para > incorporarlo en mis pantallas) o hay cambios previstos? La recodificaci=F3n del controlador del formulario-ficha ha tenido el efecto no deseado de anular esta funcionalidad 8-( . Pero cuenta con ella como funcionalidad est=E1ndar. En cuanto pueda volver=E9 a incorporar el c=F3digo correspondiente. Jose |
From: Marcelo G A. <mam...@gm...> - 2005-07-25 16:39:02
|
On 7/22/05, Jose <coo...@py...> wrote: > Hola, >=20 > Acabo de subir a SVN [1] un bloque de cambios que: >=20 > - integra completamente el formulario-lista y el formulario-ficha En el formulario-ficha, he visto que faltan las acciones desencadenadas cuando por ejemplo, al ingresar un codigo, salgo del foco con tab... me deberia buscar el codigo y refrescar la ficha... es un olvido respecto al codigo que implementaba esto (para incorporarlo en mis pantallas) o hay cambios previstos? > - corrige el error de scroleado del formulario-lista (detectado po= r > Marcelo) comprobado. > - corrige el problema de inicializacion del contexto de los > formularios-ficha (detectado por Marcelo) comprobado. > - incluye un nuevo widget: CustomToolbarCard [2], utilizado por lo= s > formularios-ficha que heredan del 'DefaultController' en vez del > 'DataControlController' > - implementa los mantenimientos mediante un formulario-ficha sin > data-control >=20 > Como pod=E9is observar he retrocedido el soporte de los data-control > porque no est=E1 finalizado y d=E1 algunos errores, lo que me estaba > dificultando el poder ofrecer un mantenimiento completo. me parece bien. =20 > Asi que, aunque falta por incorporar el soporte a b=FAsquedas, filtrado y > pre-filtrado de registros y completar la funcionalidad de los > data-control, con esta versi=F3n ya se pueden desarrollar mantenimientos > completos. >=20 > Jose >=20 > [1]http://dev.pypyme.org/trac/changeset/75 > [2]http://dev.pypyme.org/trac/changeset/74 >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&opclick > _______________________________________________ > pypyme-giotto mailing list > pyp...@li... > https://lists.sourceforge.net/lists/listinfo/pypyme-giotto >=20 --=20 Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. |
From: Jose <coo...@py...> - 2005-07-22 16:27:58
|
Hola, Acabo de subir a SVN [1] un bloque de cambios que: - integra completamente el formulario-lista y el formulario-ficha - corrige el error de scroleado del formulario-lista (detectado por Marcelo) - corrige el problema de inicializacion del contexto de los formularios-ficha (detectado por Marcelo) - incluye un nuevo widget: CustomToolbarCard [2], utilizado por los formularios-ficha que heredan del 'DefaultController' en vez del 'DataControlController' - implementa los mantenimientos mediante un formulario-ficha sin data-control Como pod=C3=A9is observar he retrocedido el soporte de los data-control porque no est=C3=A1 finalizado y d=C3=A1 algunos errores, lo que me estaba dificultando el poder ofrecer un mantenimiento completo. Asi que, aunque falta por incorporar el soporte a b=C3=BAsquedas, filtrado = y pre-filtrado de registros y completar la funcionalidad de los data-control, con esta versi=C3=B3n ya se pueden desarrollar mantenimientos completos. Jose [1]http://dev.pypyme.org/trac/changeset/75 [2]http://dev.pypyme.org/trac/changeset/74 |
From: Jose <coo...@py...> - 2005-07-22 15:57:07
|
Hola, Acabo de subir a SVN [1] un m=C3=B3dulo de soporte de bases de datos SQLite= . No est=C3=A1 acabado pero a m=C3=AD me est=C3=A1 sirviendo para hacer prueb= as. Jose [1]http://dev.pypyme.org/trac/changeset/72 |
From: Jose <coo...@py...> - 2005-07-22 14:51:23
|
El jue, 21-07-2005 a las 20:54, Marcelo G Ametller escribi=F3: > On 7/19/05, Jose <coo...@py...> wrote: > > El mar, 19-07-2005 a las 20:17, Marcelo G Ametller escribi=F3: > > > Cuando estuve desarrollando la ficha para customers_contacts, al no > > > tener esta un campo -codigo- , note que en > > > talasa/core/cadr/decorator-common.py se referencia a ctl-first-fiel= d > > > con txtCode y este no siempre estara... como campo. Como lo > > > definiriamos para que sea cualquier campo el primero a mostrar de > > > forma global? > >=20 > > No s=E9 si acabo de entender tu pregunta. >=20 > >=20 > > El modelo de objetos del formulario-ficha est=E1 pensado para que cad= a > > formulario-ficha pueda personalizar su comportamiento. Entre otras co= sas > > puede indicar c=F3mo se llama el "primer" control de la vista sin m=E1= s que > > indicarlo al inicializar la instancia: > >=20 > > def Initialize(self): > > DataControlController.Initialize(self) > >=20 > > context =3D self.GetDefaultContext() > > ... > > context['ctl_first_field'] =3D self.[nombre_del_contro= l] > > ... > >=20 >=20 > El problema esta en que cuando llama a GetDefaultContext necesita que > en el control visual ya este un campo txtCODE, ya que lo llama antes > de poder asignarle el valor a 'ctl_first_field' S=ED, tienes raz=F3n. El uso de GetDefaultContext() presupone la existenc= ia de un control llamado 'txtCode'. Para evitar este problema creo mejor sustituir GetDefaultContext() por CustomizeDefaultContext(context), donde context ser=E1 un diccionario con las opciones personalizadas. As=ED quedar=EDa: def Initialize(self): DataControlController.Initialize(self) context =3D { 'ctl_first_field': self.[nombre_del_control], ... } self.CustomizeDefaultContext(context) > Si anulo dicha asignacion por defecto y lo asigno como decis en > instancia del objeto que estoy haciendo, funciona, pero me obliga a > asignar siempre el primer campo en todas las fichas. >=20 > Como hacemos para inicializar por defecto, el primer campo a mostrar? =BFTe sirve la propuesta que he hecho m=E1s arriba? |
From: Marcelo G A. <mam...@gm...> - 2005-07-21 18:57:35
|
On 7/19/05, Jose <coo...@py...> wrote: > El mar, 19-07-2005 a las 20:17, Marcelo G Ametller escribi=F3: > > Cuando estuve desarrollando la ficha para customers_contacts, al no > > tener esta un campo -codigo- , note que en > > talasa/core/cadr/decorator-common.py se referencia a ctl-first-field > > con txtCode y este no siempre estara... como campo. Como lo > > definiriamos para que sea cualquier campo el primero a mostrar de > > forma global? >=20 > No s=E9 si acabo de entender tu pregunta. >=20 > El modelo de objetos del formulario-ficha est=E1 pensado para que cada > formulario-ficha pueda personalizar su comportamiento. Entre otras cosas > puede indicar c=F3mo se llama el "primer" control de la vista sin m=E1s q= ue > indicarlo al inicializar la instancia: >=20 > def Initialize(self): > DataControlController.Initialize(self) >=20 > context =3D self.GetDefaultContext() > ... > context['ctl_first_field'] =3D self.[nombre_del_control] > ... >=20 El problema esta en que cuando llama a GetDefaultContext necesita que en el control visual ya este un campo txtCODE, ya que lo llama antes de poder asignarle el valor a 'ctl_first_field' Si anulo dicha asignacion por defecto y lo asigno como decis en instancia del objeto que estoy haciendo, funciona, pero me obliga a asignar siempre el primer campo en todas las fichas. Como hacemos para inicializar por defecto, el primer campo a mostrar? Espero se entienda... a veces explico medio enredado... --=20 Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. |
From: Jose <coo...@py...> - 2005-07-19 22:36:10
|
El mi=E9, 20-07-2005 a las 00:13, Marcelo G Ametller escribi=F3: > On 7/19/05, Jose <coo...@py...> wrote: > > El mar, 19-07-2005 a las 20:13, Marcelo G Ametller escribi=F3: > > > Cuando despliego una ficha/tipo lista, por ejemplo la de paises, qu= e > > > tiene muchos registros, visualmente, el la cantidad de renglones de= la > > > misma excede el tama=F1o de la ventana que la contiene, quedando lo= s > > > registros fuera de visual. > >=20 > > En ese caso deber=EDa aparecer una barra de scroll vertical para > > permitirte recorrer la lista manualmente. =BFNo es as=ED? >=20 > si, aparece la barra, pero el limite inferior de la barra no es > visible, ya que tambien la barra queda fuera de la visual. Ma=F1ana lo reviso. Jose |
From: Marcelo G A. <mam...@gm...> - 2005-07-19 22:13:23
|
On 7/19/05, Jose <coo...@py...> wrote: > El mar, 19-07-2005 a las 20:13, Marcelo G Ametller escribi=F3: > > Cuando despliego una ficha/tipo lista, por ejemplo la de paises, que > > tiene muchos registros, visualmente, el la cantidad de renglones de la > > misma excede el tama=F1o de la ventana que la contiene, quedando los > > registros fuera de visual. >=20 > En ese caso deber=EDa aparecer una barra de scroll vertical para > permitirte recorrer la lista manualmente. =BFNo es as=ED? si, aparece la barra, pero el limite inferior de la barra no es visible, ya que tambien la barra queda fuera de la visual. >=20 >=20 >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&opclick > _______________________________________________ > pypyme-giotto mailing list > pyp...@li... > https://lists.sourceforge.net/lists/listinfo/pypyme-giotto >=20 --=20 Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. |
From: Jose <coo...@py...> - 2005-07-19 20:03:26
|
El mar, 19-07-2005 a las 20:17, Marcelo G Ametller escribi=F3: > Cuando estuve desarrollando la ficha para customers_contacts, al no > tener esta un campo -codigo- , note que en > talasa/core/cadr/decorator-common.py se referencia a ctl-first-field > con txtCode y este no siempre estara... como campo. Como lo > definiriamos para que sea cualquier campo el primero a mostrar de > forma global? No s=E9 si acabo de entender tu pregunta. El modelo de objetos del formulario-ficha est=E1 pensado para que cada formulario-ficha pueda personalizar su comportamiento. Entre otras cosas puede indicar c=F3mo se llama el "primer" control de la vista sin m=E1s q= ue indicarlo al inicializar la instancia: def Initialize(self): DataControlController.Initialize(self) context =3D self.GetDefaultContext() ... context['ctl_first_field'] =3D self.[nombre_del_control] ... Si a lo que te refieres es que el controlador "por defecto" sepa a qu=E9 control asignar el foco sin darle m=E1s pistas (sin "obligarle" a que sea un control llamado "txtCode"), pues no s=E9, supongo que se podr=EDa hacer... > Ademas el txtCode que busca, debe estar definido en controllers o en > la capa view? En la vista. Referencia al control visual al que pasar el foco inicial. |