Sistema de gestión de solicitudes de compras - Tareas #5921 · recientes de los paquetes de...

12
Sistema de gestión de solicitudes de compras - Tareas #5921 Tareas # 5919 (Nueva): Investigación de soluciones tecnológicas Evaluar posibilidad de parametrización de Tryton 01/26/2018 02:20 PM - Andrés Pías Status: En curso Start date: 01/26/2018 Priority: Normal Due date: Assignee: Andrés Pías % Done: 10% Category: Estimated time: 0.00 hour Target version: Spent time: 12.50 hours Description Evaluar si es factible utilizar y adaptar la herramienta Tryton a los requerimientos definidos para el sistema que han sido esbozados en la [[Wiki]]. En especial, sería bueno determinar si las etapas del workflow de la gestión de las solicitudes son totalmente configurables o no. Related issues: Related to Sistema Contabilidad y Gestión (ERP) - Tareas # 5153: Instalar la ... Cerrada 02/24/2016 History #1 - 01/26/2018 02:30 PM - Andrés Pías - Related to Tareas #5153: Instalar la herramienta Tryton added #3 - 01/30/2018 04:06 PM - Andrés Pías - Status changed from Nueva to En curso Intenté actualizar Tryton a la ultima versión 4.6 sin éxito en Coati, (luego de dejarlo operacional nuevamente). Al parecer se necesitan versiones mas recientes de los paquetes de Python. Lo mejor va a ser que primero se actualiza Coati desde Jessie a Strech. #4 - 02/02/2018 01:26 PM - Andrés Pías - % Done changed from 0 to 10 Trabajo inicial fallido El Lunes volví a poner en marcha Tryon+Postgres en Coati en su versión 3.8 (como estaba) El Martes actualicé en base a los repos de Tryton (porque manejan versiones mas actualizadas de los paquetes), guiándome por esto pues no vi un procedimiento claro de actualización de Tryton. Fuí actualizando de a poco, primero cambié el soruce list a deb http://debian.tryton.org/debian/ jessie-4.0 main Hice update, upgrade y me pidió hacer un dist-upgrade. En algún momento al estar actualizando a la 4.6, al hacer el útlimo dist-upgrade, falló al momento de configurar python3-zeep: Configurando python3-zeep (0.23.0-2~8jessie+1) ... File "/usr/lib/python3/dist-packages/zeep/asyncio/transport.py", line 34 async def _load_remote_data_async(): ^ SyntaxError: invalid syntax Porqué concluías que requiere versiones más recientes de python? Yo lo que veo es 6 paquetes rotos, con diversos problemas de dependencias, no específicamente python. 05/12/2020 1/12

Transcript of Sistema de gestión de solicitudes de compras - Tareas #5921 · recientes de los paquetes de...

Sistema de gestión de solicitudes de compras - Tareas #5921

Tareas # 5919 (Nueva): Investigación de soluciones tecnológicas

Evaluar posibilidad de parametrización de Tryton

01/26/2018 02:20 PM - Andrés Pías

Status: En curso Start date: 01/26/2018

Priority: Normal Due date:

Assignee: Andrés Pías % Done: 10%

Category: Estimated time: 0.00 hour

Target version: Spent time: 12.50 hours

Description

Evaluar si es factible utilizar y adaptar la herramienta Tryton a los requerimientos definidos para el sistema que han sido esbozados en la

[[Wiki]]. En especial, sería bueno determinar si las etapas del workflow de la gestión de las solicitudes son totalmente configurables o no.

Related issues:

Related to Sistema Contabilidad y Gestión (ERP) - Tareas # 5153: Instalar la ... Cerrada 02/24/2016

History

#1 - 01/26/2018 02:30 PM - Andrés Pías

- Related to Tareas #5153: Instalar la herramienta Tryton added

#3 - 01/30/2018 04:06 PM - Andrés Pías

- Status changed from Nueva to En curso

Intenté actualizar Tryton a la ultima versión 4.6 sin éxito en Coati, (luego de dejarlo operacional nuevamente). Al parecer se necesitan versiones mas

recientes de los paquetes de Python. Lo mejor va a ser que primero se actualiza Coati desde Jessie a Strech.

#4 - 02/02/2018 01:26 PM - Andrés Pías

- % Done changed from 0 to 10

Trabajo inicial fallido

El Lunes volví a poner en marcha Tryon+Postgres en Coati en su versión 3.8 (como estaba)

El Martes actualicé en base a los repos de Tryton (porque manejan versiones mas actualizadas de los paquetes), guiándome por esto pues no vi un

procedimiento claro de actualización de Tryton.

Fuí actualizando de a poco, primero cambié el soruce list a

deb http://debian.tryton.org/debian/ jessie-4.0 main

Hice update, upgrade y me pidió hacer un dist-upgrade.

En algún momento al estar actualizando a la 4.6, al hacer el útlimo dist-upgrade, falló al momento de configurar python3-zeep:

Configurando python3-zeep (0.23.0-2~8jessie+1) ...

File "/usr/lib/python3/dist-packages/zeep/asyncio/transport.py", line 34

async def _load_remote_data_async():

^

SyntaxError: invalid syntax

Porqué concluías que requiere versiones más recientes de python? Yo lo que veo es 6 paquetes rotos, con diversos problemas de dependencias,

no específicamente python.

05/12/2020 1/12

Googleando el error encontré que async recién estuvo disponible a partir de Python 3.5 y Coati lo tiene en versión 3.4.

Desinstalé para volver a instalar tryton y sus paquetes (incluído python3-zeep):

apt-get purge tryton-modules-all

apt-get purge python3-zeep

python3-zeep* tryton-modules-all* tryton-modules-stock-package-shipping-dpd

Y con esto se lió feo la cosa.

Pasaje a repositorios Debian Strech estable

Debido a los problemas, decidimos pasar a la Debian Stretch que integra el Tryton 4.2. Esto fue necesario para poder solucionar los problemas que tenía y

la razón de porque sucede la explica Daniel:

Lo que veo ahora (con aptitude) es que le paquete tryton-server está roto, o más bien rompe 5 módulos que sólo existen en versión 3.4, y que

deberían tener una > 4.4

Incluso una, la que te decía, me parece una incompletud del repo de tryton: propne nueva versión del tryton server, pero no de 6 módulos (en

particular -calendar).

Entonces:

Procuremos primero reconfigurar un tryton en la jessie, y luego actualizar. El proceso de upgrade de la debian es más seguro mientras estamos en

una "pure debian". si la 4.2 nos alcanza, me parece el camino indicado

Primero resolvimos los conflictos: apliquemos la primer propuesta de aptitud, que sólo deja paquetes sin instalar.

Se cambian los source.list ... Daniel desactivó los repositorios externos de Tryton, para que la herramienta se instalara desde repos Debian.

Se volvió a habilitar los backportst

Se hace un update

Luego ejecutó aptitude

Volvimos a versiones antiguas que estaban disponibles en los repositorios de debian de los paquetes Tryton (versión 4.2). corrigiendo los errores en rojo

que salían de errores de dependencia.

Luego tuvimos trabajando para pasar a Strech con eso íbamos a llegar a la versión 4.2 de Tryton, nos basamos en esto

En esta actualización mayor hicimos un par de comprobaciones previas:

dpkg --audit

aptitude search "~ahold"

script -t 2>~/actualiza-a-stretch1 -a ~/actualiza-a-stretch1

apt-get clean

apt-get autoremove

Se cambian los source.list para pasar a Strech

Luego hicimos la actualización: update, upgrade y luego dist-upgrade

#5 - 02/04/2018 07:28 PM - Andrés Pías

Post Actualización

Luego de hacer el dist-upgrade, fue necesario desinstalar Postgres en su versión 9.4, la cual no se había desinstalado previamente porque tenía datos:

root@coati:~# dpkg -l "*postgres*"

Deseado=desconocido(U)/Instalar/eliminaR/Purgar/retener(H)

| Estado=No/Inst/ficheros-Conf/desempaqUetado/medio-conF/medio-inst(H)/espera-disparo(W)/pendienTe-disparo

|/ Err?=(ninguno)/requiere-Reinst (Estado,Err: mayúsc.=malo)

||/ Nombre Versión Arquitectura Descripción

+++-==================================-======================-======================-==========================================================================....ii postgresql-9.4 9.4.15-0+deb8u1 amd64 object-relational SQL database, version 9.4 serverii postgresql-9.6 9.6.6-0+deb9u1 amd64 object-relational SQL database, version 9.6 serverii postgresql-client-9.4

=================================================

....

ii postgresql-9.4 9.4.15-0+deb8u1 amd64 object-relational SQL database, version 9.4 server

ii postgresql-9.6 9.6.6-0+deb9u1 amd64 object-relational SQL database, version 9.6 server

ii postgresql-client-9.4 9.4.15-0+deb8u1 amd64 front-end programs for PostgreSQL 9.4

ii postgresql-client-9.6 9.6.6-0+deb9u1 amd64 front-end programs for PostgreSQL 9.6

05/12/2020 2/12

....

un postgresql-doc-9.4 <ninguna> <ninguna> (no hay ninguna descripción disponible)

un postgresql-doc-9.6 <ninguna> <ninguna> (no hay ninguna descripción disponible)

Procedía a desisntalarla simplemente, porque no tenía datos importantes. Para un servidor de producción, convendría primero actualizar el cluster antes

de desisntalar.

root@coati:~# apt-get remove postgresql-9.4 postgresql-client-9.4

Se reinicia:

service postgresql start

Continuamos con la Post-instalación mirando el apartado "Prepararse para la siguiente distribución" de la guía oficial de debian

Purgamos el sistema, viendo y eliminando todos los ficheros de configuración que quedaron de paquetes eliminados previamente tras hacer la

actualización:

aptitude search '~c'

aptitude purge '~c'

Configuración de Postgres

Como partimos de una instalación 9.6 nueva, fue necesario volver a crear usuario y base para Tryton (en el nuevo cluster 9.6).

Se crea el usuario tryton de postgressql con una clave (ver /root/Claves/TrytonClaves):

su - postgres

createuser --createdb --no-createrole --no-superuser --pwprompt tryton

Por si nos conectamos desde interfaces externas al servidor (se entiende que se refiere a desde otra maquina):

adduser tryton ssl-cert

Se crea una base de datos con nombre udelarerp:

su - postgres -c "createdb --encoding=UNICODE --owner=tryton udelarerp"

Configuración de Tryton

Editamos todas las configuraciones de Tryton en /etc/tryton/trytond.conf

Configuramos la base de datos. Por defecto, el Postgres 9.6 escucha en el puerto 5433, que esta sobre SSL.

uri = postgresql://tryton:******@localhost:5433/udelarerp

Permitimos que el servidor escuche en cualquier interfaz IPV4, ya además de utilizar el cliente web SOA, la idea es poner conectarse remotamente desde

otra máquina con tryton-client:

# Listen on all interfaces (IPv4)

listen = 0.0.0.0:8000

Reiniciar:

service tryton-server restart

Se inicializa la base de datos (cambia Proc para Tryton 4.2):

05/12/2020 3/12

trytond-admin -c /etc/tryton/trytond.conf -d udelarerp --all

Nos solicita password del usuario administrador ('admin') para loguearse en Tryton. Le puse la misma password que el usuario tryton de postgresql: ver

/root/claves/

Se reinicia:

service tryton-server restart

El cliente web en https://tryton.interior.edu.uy/ había quedado inaccesible. O sea, con la versión del cliente SAO que tenía en /srv/saoOLD (versión Tryton

3.8) no me podía loguear en la interfaz web.

Reinstalación del SAO Client

El sitio de github oficial describe la instalación así, sin embargo tuve problemas instalándolo de esta manera como root, por lo que me basé en lo

documentado en #5153

Instalo ultima versión de nodejs

curl -sL https://deb.nodesource.com/setup_9.x | bash -

apt-get install -y nodejs

Instalación desde el repositorio Github

Los fuentes están en Github acá.

Dentro de /srv, renombro la carpeta sao a sao-old

Cree una nueva carpeta sao dentro de /srv:

mkdir sao

Dentro de /srv/sao:

npm install grunt

sudo npm install -g grunt-cli sudo npm install -g bower

Se clona el repositorio

git clone https://github.com/tryton/sao.git

La clonación genera otro directorio sao.

La idea es dejar intacta ese nuevo directorio sao, no borrar el .git para en otro momento hacer un pull directamente y así actualizar de esa manera.

Dentro de /srv/sao/sao:

npm install

bower install --allow-root

npm i -g bower

grunt

Instala con advertencias:

npm WARN deprecated [email protected]: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this

by migrating to Yarn: http

Luego se debe configurar la ubicación donde está instalado el cliente SAO

Vamos a /etc/tryton/trytond.conf

En root dentro de la sección [web] ponemos

root = /srv/sao/sao

Se reinicia:

service tryton-server restart

05/12/2020 4/12

Vamos al navegador, elegimos la base de datos de un combo, ponemos usuario 'admin' y la clave definida anteriormente.

Si bien me conecto y accedo al menú, no puede ver items de información, pareciera que no existieran usuarios, ni grupos. Si puedo crear un usuario

nuevo, pero no queda visible.

Instalación desde Tar.gz (RECOMENDADA)

Al ver que no funcionaba de manera correctamente, buscamos instalarlo desde tar.gz también.

Bajar el tar.gz de la versión 4.2.0. Tiene que ser la misma versión que el Tryton instalado.

wget https://github.com/tryton/sao/archive/4.2.0.tar.gz

tar -xzvf 4.2.0.tar.gz

En /srv/saotargz/sao-4.2.0:

npm install

bower install --allow-root

npm i -g bower

grunt

Definimos la nueva ubicación del cliente

root = /srv/saotargz/sao-4.2.0

Se reinicia:

service tryton-server restart

Al fin el cliente web quedó funcionando nuevamente!

Actualización 09/05/2018

Se observa algunas problemas de funcionamiento del cliente sao (ejemplo en los filtros por identificación usuario, que en cliente GTK si funciona). Dado

que en la versión del servidor es 4.6 y la del cliente sao es 4.2, se procede a a actualizar.

Se actualiza a última versión de Node.js

root@coati:

curl -sL https://deb.nodesource.com/setup_10.x | bash -

apt-get install -y nodejs

Se vuelve a probar instalación desde git y con el usuario desarrollo:

desarrollo@coati:

Se crea la carpeta tryton-sao dentro del HOME del usuario desarrollo (/home/desarrollo/tryton-sao/)

mkdir tryton-sao

git clone https://github.com/tryton/sao.git

cd sao

npm install

root@coati:

npm install -g grunt-cli

desarrollo@coati:

grunt

05/12/2020 5/12

Running "default" task

Running "concat:dist" (concat) task

File dist/tryton-sao.js created.

Running "jshint:dist" (jshint) task

>> 1 file lint free.

Running "jshint:grunt" (jshint) task

>> 1 file lint free.

Running "jshint:tests" (jshint) task

>> 1 file lint free.

Running "uglify:dist" (uglify) task

>> 1 file created.

Running "less:dev" (less) task

>> 1 stylesheet created.

Running "less:default" (less) task

>> 1 stylesheet created.

Running "po2json:all" (po2json) task

File "locale/bg.json" created.

File "locale/ca.json" created.

File "locale/cs.json" created.

File "locale/de.json" created.

File "locale/es.json" created.

File "locale/es_419.json" created.

File "locale/fa.json" created.

File "locale/fr.json" created.

File "locale/hu_HU.json" created.

File "locale/it_IT.json" created.

File "locale/ja_JP.json" created.

File "locale/lo.json" created.

File "locale/lt.json" created.

File "locale/nl.json" created.

File "locale/pl.json" created.

File "locale/pt_BR.json" created.

File "locale/ru.json" created.

File "locale/sl.json" created.

File "locale/zh_CN.json" created.

Done, without errors.

Se modifica el parámetro "root" en el archivo /opt/python/trytond.conf para que apunte a /home/desarrollo/tryton-sao/sao

Se reinicia el servidor tryton y queda operativa y solucionados los problemas de funcionamiento detectados en el cliente sao

desarrollo@coati:

kill id proceso trytond

cd /opt/python

source bin/activate

/opt/python/bin/trytond -v -c /opt/python/trytond.conf --logconf /opt/python/log/logconf &

(python) desarrollo@coati:/opt/python$ Wed May 09 20:51:41 2018] INFO:server:using /opt/python/log/logconf as logging configuration file

Wed May 09 20:51:44 2018] WARNING:py.warnings:/opt/python/lib/python3.5/site-packages/trytond/modules/__init__.py:143:

DeprecationWarning: This method will be removed in future versions. Use 'parser.read_file()' instead.

module_config.readfp(fp)

Wed May 09 20:51:44 2018] INFO:trytond.modules:ir:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:res:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:country:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:currency:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:tests:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:party:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:company:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:product:registering classes

Wed May 09 20:51:44 2018] INFO:trytond.modules:stock:registering classes

05/12/2020 6/12

Wed May 09 20:51:44 2018] INFO:trytond.modules:request:registering classes

Wed May 09 20:51:44 2018] INFO:werkzeug: * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)

Tryton-client

Con el cliente de escritorio sucedió algo parecido

Para instalarlo desde repositorios de Ubuntu 16.04, contamos con la versión 3.8:

apt-cache policy tryton-client

tryton-client:

Instalados: (ninguno)

Candidato: 3.8.4-1

Tabla de versión:

3.8.4-1 500

500 http://uy.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

500 http://uy.archive.ubuntu.com/ubuntu xenial/universe i386 Packages

La versión 3.8 es incompatible dado que en el servidor tenemos la versión 4.2

Por eso lo que hice fue bajar el .deb a mano desde acá

para luego instalarlo desde la propia interfaz gráfica.

Esta versión funcionó bien.

#6 - 02/22/2018 12:57 PM - Andrés Pías

Hice cambios en las configuraciones de Tryton y ERPNext, por lo que los accesos cambiaron.

Acceso Tryton

Host para cliente escritorio: tryton.interior.edu.uy:8080

Cliente web: https://tryton.interior.edu.uy

Hay creadas al momento dos base de datos sistRRMM y udelarErp

Preferentemente estamos usando udelarerp

Si quieren acceso avísenme y se los creo.

#7 - 04/06/2018 04:41 PM - Andrés Pías

- Assignee changed from Cielito - Coord. regional to Andrés Pías

Miguel desarrollo una primera versión de módulo de manejo de solicitudes para Tryton.

Acá resumo los pasos que di para intentar activarlo en Tryton.

Instalación módulo "Request".

Se creó una nueva base de datos limpia en la cual instalar este nuevo módulo:

service tryton-server stop

su - postgres -c "createdb --encoding=UNICODE --owner=tryton desarrolloSolicitudes"

trytond-admin -c /etc/tryton/trytond.conf -d desarrolloSolicitudes --all

service tryton-server start

En esta base le creé un usuario a Miguel como Administrador (Para hacer que la persona sea Administrador, hay que agregarla al grupo de

administradores)

El directorio donde están instalados los módulos es este: /usr/lib/python2.7/dist-packages/trytond/modules

Ahí dentro copié el nuevo modulo request descomprimido.

En el archivo tryton.cfg de configuración se determinan dependencias y también tuve que bajarle la versión para indicar que estamos en 4.2:

[tryton]

version=4.2

05/12/2020 7/12

depends:

company

currency

ir

res

party

product

stock

xml:

request.xml

configuration.xml

El módulo no quedó automáticamente detectado entonces fue necesario reiniciar:

service tryton-server restart

Tras lo cual aparecen estos errores:

Apr 6 16:05:14 coati trytond[22366]: Traceback (most recent call last):

Apr 6 16:05:14 coati trytond[22366]: File "/usr/bin/trytond", line 24, in <module>

Apr 6 16:05:14 coati trytond[22366]: from trytond.application import app

Apr 6 16:05:14 coati trytond[22366]: File "/usr/lib/python2.7/dist-packages/trytond/application.py", line 8, in <module>

Apr 6 16:05:14 coati trytond[22366]: Pool.start()

Apr 6 16:05:14 coati trytond[22366]: File "/usr/lib/python2.7/dist-packages/trytond/pool.py", line 97, in start

Apr 6 16:05:14 coati trytond[22366]: register_classes()

Apr 6 16:05:14 coati trytond[22366]: File "/usr/lib/python2.7/dist-packages/trytond/modules/__init__.py", line 374, in register_classes

Apr 6 16:05:14 coati trytond[22366]: mod_file, pathname, description)

Apr 6 16:05:14 coati trytond[22366]: File "/usr/lib/python2.7/dist-packages/trytond/modules/request/__init__.py", line 5, in <module>

Apr 6 16:05:14 coati trytond[22366]: from .request import *

Apr 6 16:05:14 coati trytond[22366]: File "/usr/lib/python2.7/dist-packages/trytond/modules/request/request.py", line 7, in <module>

Apr 6 16:05:14 coati trytond[22366]: from trytond.model import (ModelView, ModelSQL, MultiValueMixin, ValueMixin,

Apr 6 16:05:14 coati trytond[22366]: ImportError: cannot import name MultiValueMixin

Apr 6 16:05:14 coati systemd[1]: tryton-server.service: Main process exited, code=exited, status=1/FAILURE

Apr 6 16:05:14 coati systemd[1]: tryton-server.service: Unit entered failed state.

Apr 6 16:05:14 coati systemd[1]: tryton-server.service: Failed with result 'exit-code'.

Apr 6 16:05:14 coati systemd[1]: tryton-server.service: Service hold-off time over, scheduling restart.

Apr 6 16:05:14 coati systemd[1]: Stopped Tryton Server WSGI App.

Apr 6 16:05:14 coati systemd[1]: Started Tryton Server WSGI App.

Apr 6 16:05:15 coati trytond[22369]: Traceback (most recent call last):

Apr 6 16:05:15 coati trytond[22369]: File "/usr/bin/trytond", line 24, in <module>

Apr 6 16:05:15 coati trytond[22369]: from trytond.application import app

Apr 6 16:05:15 coati trytond[22369]: File "/usr/lib/python2.7/dist-packages/trytond/application.py", line 8, in <module>

Apr 6 16:05:15 coati trytond[22369]: Pool.start()

Apr 6 16:05:15 coati trytond[22369]: File "/usr/lib/python2.7/dist-packages/trytond/pool.py", line 97, in start

Apr 6 16:05:15 coati trytond[22369]: register_classes()

Apr 6 16:05:15 coati trytond[22369]: File "/usr/lib/python2.7/dist-packages/trytond/modules/__init__.py", line 374, in register_classes

Apr 6 16:05:15 coati trytond[22369]: mod_file, pathname, description)

Apr 6 16:05:15 coati trytond[22369]: File "/usr/lib/python2.7/dist-packages/trytond/modules/request/__init__.py", line 5, in <module>

Apr 6 16:05:15 coati trytond[22369]: from .request import *

Apr 6 16:05:15 coati trytond[22369]: File "/usr/lib/python2.7/dist-packages/trytond/modules/request/request.py", line 7, in <module>

Apr 6 16:05:15 coati trytond[22369]: from trytond.model import (ModelView, ModelSQL, MultiValueMixin, ValueMixin,

Apr 6 16:05:15 coati trytond[22369]: ImportError: cannot import name MultiValueMixin

El problema que se produce se debe a que el elemento MultiValueMixin del modelo de Tryton recién estuvo disponible a partir de la versión

4.4:http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html y tenemos la 4.2 instalada en Coati.

Miguel convendría actualizar con pip?

#8 - 04/09/2018 02:19 PM - Andrés Pías

Tryton dejó de funcionar el reiniciar el servicio. Hubo que descomentar en varios lados el uso de MultiValueMixin y ValueMixin, ya que estas clases del

modelo se importaron pero no se usaron:

- Archivo request.py (línea 7 y 9)

- Archivo configuration.py (línea 4, 6, 23 y 19)

No solo se quitó la importación de los paquetes, sino también el uso de esta clases en la declaración de otras clases, como Configuration. En la mayoría

05/12/2020 8/12

de los casos no veo que haya generado grandes problemas. Sin embargo para la clase Configuration fue donde tuve que hacer mayores cambios, tuve

que comentar dos líneas:

class Configuration(ModelSingleton, ModelSQL, ModelView):

'Request Configuration'

__name__ = 'request.configuration'

# request_sequence = fields.MultiValue(request_sequence)

# request_country = fields.MultiValue(request_country)

Quedé en la duda de si esto afectó algo mas o no. Luego de hacer esto, Tryton levantó finalmente, pero no veo desde los clientes donde está el módulo

instalado para activarlo.

#9 - 04/11/2018 04:06 PM - Andrés Pías

Vamos a crerar un entorno virtual de Python donde instalar Tryton en versión 4.6

Primero creé un usuario llamado desarrollo con el cual va a correr

Instalmos virtualenv:

pip install virtualenv

Cree una carpeta python dentro de /opt le doy permisos al usuario desarrollo sobre la misma. Tuto insteresante

Creo el entorno y lo activo:

virtualenv /opt/python --python=python3

cd /opt/python

source bin/activate

Asegurarse de tener actualizado el pip:

pip install -U pip

Instalar el Tryton:

pip install trytond

Hubo que instalar además esto para que funcione:

pip install bcrypt

pip install psycopg2

05/12/2020 9/12

Copiamos archivo de config:

cp /etc/tryton/trytond.conf /opt/python/

Nos ubicamos en /opt/python

chown desarrollo:desarrollo trytond.conf

Borro la base de datos y la vuelvo a crear:

su - postgres -c "dropdb desarrolloSolicitudes"

su - postgres -c "createdb --encoding=UNICODE --owner=tryton desarrolloSolicitudes"

trytond-admin -c / /opt/python/trytond.conf -d desarrolloSolicitudes --all

Copiamos el módulo para dentro:

/opt/python/lib/python3.5/site-packages/trytond/modules$ cp -R /home/apias/request .

Podemos correr Tryton de esta manera:

trytond -v -c /opt/tryton/trytond.conf

Al levantar sale el mensaje de que faltan dependencias:

trytond.exceptions.MissingDependenciesException: ['company', 'currency', 'party', 'stock', 'product']

Vamos instalando nuevos módulos:

pip install trytond_company

pip install trytond_currency

pip install trytond_party

pip install trytond_stock

pip install trytond_product

Instalamos mirando esto http://tryton-documentation.readthedocs.io/en/latest/installation_configuration/installation.html

No aparecían los módulos. Fue necesario reinicializar la base de datos para que funcione:

trytond-admin -c /opt/python/trytond.conf -d desarrolloSolicitudes --all

05/12/2020 10/12

Luego desde la interfaz en modules, seleccioné todos los módulos y le puse Check for activation : company, country, currency, party, product, stock y

request.py.

Luego se le dió Que realice las activaciones / atualizaciones pendientes.

Demoró un tiempo, luego de lo cual finalmente funcionó.

#10 - 04/17/2018 05:12 PM - Andrés Pías

Instalación de nueva versión módulo Request.

Vamos a instalar una nueva versión del módulo que generó Miguel.

- Primero que nada lo que se hizo fue desactivar el módulo actual: Modules -> seleccionar Request -> Switch -> Mark por deactivate (beta).

- Luego se borra la carpeta del módulo: /opt/python/lib/python3.5/site-packages/trytond/modules/request.

- En git.interior.edu.uy creo un usuario que se llama desarrollo.

- genero una clave publica/privada en coati y subo la clave en la interfaz web.

- En Coati creo el directorio /opt/python/desarrollotryton

- Dentro del mismo clono el repositorio donde estamos trabajando:

git clone [email protected]:apias/solcompras-litoralnorte.git

Con esto se crea un directorio solcompras-litoralnorte.

- Dentro de solcompras-litoralnorte, desempaqueto el request dentro de esta carpeta.

- Sincronizo los cambios con el repositorio gir central:

git add -A

git commit -a -m "Versión madura del módulo Request"

git push -u origin master

- Pongo el enlace simbólico desde el módulo al directorio.

ln -s /opt/python/desarrollotryton/solcompras-litoralnorte/request/ /opt/python/lib/python3.5/site-packages/trytond/modules/request

- Después lo que hago es activar el módulo y ver si funciona.

- Levantamos nuevamente el servicio:

trytond -v -c /opt/python/trytond.conf

- Activamos el módulo desde la interfaz web

Seleciono el módulo Request, Mark for Activation. Action, Perform Pending Activation/Upgrade, Start Upgrade.

Observaciones acerca del funcionamiento del módulo

Al crear un Adquired Service, que diferencia hay entre amount y quantity?

Me confunde sinónimos de Parties en varios lados: Person, Company y Party.

Al estar enganchados los Presupuestos, con Party, vos podrías definir un presupuesto para la Compañía Chadre que no tiene mucho sentido. Hay que ver

de separar lo que es Udelar de todo lo demás.

#11 - 04/19/2018 02:39 AM - Miguel Pertusatti

Aclaraciones acerca del funcionamiento del módulo:

Al crear un Adquired Service, que diferencia hay entre amount y quantity?

Por ejemplo en el caso de Pasajes: 'Acquired amount' sería el monto total adquirido para ese trayecto y 'Acquired quantity' es la cantidad de

pasajes, estos datos surgen de la Licitación donde se contrata el Servicio, también está el dato 'Price' que representa el precio individual de un

pasaje y que debería ser igual a 'Acquired amount'/'Acquired quantity', pero se incluyó por las dudas que exista alguna condición que establezca un

precio diferencial.

05/12/2020 11/12

Me confunde sinónimos de Parties en varios lados: Person, Company y Party.

Party es una Entidad genérica que representa a personas físicas o jurídicas que se relacionan de alguna forma con el Sistema y a las cuales se les

puede definir direcciones postales o electrónicas y vías de comunicación, pueden estar relacionados con agentes internos o externos.

A algunas Entidades internas se les crea y asocia un Party para aprovechar su funcionalidad, por ejemplo a los Usuarios, a las Company , a los

Employee, etc.

Las Company representa el árbol de subdiviciones de la Organización que tiene algún grado de autonomía o administración separada, es en ésta

entidad donde propongo vincular los presupuestos.

Al estar enganchados los Presupuestos, con Party, vos podrías definir un presupuesto para la Compañía Chadre que no tiene mucho sentido. Hay que ver

de separar lo que es Udelar de todo lo demás.

Los presupuestos no están enganchados con party. Chadre es un Proveedor y se lo define en Party, pero no es Company, Para cada PDU se

debería crear un registro en Company cuyo padre es la Company 'CENUR Litoral Norte', a su vez para cada uno de estas Company se debe crear

y vincular un Party,

Cada Funcionario que puede realizar solicitudes debe tener un usuario que estará relacionado con una Company (esto define a que presupuesto se

carga su solicitud), también se crea y relaciona con un Party para poder guardar sus datos (direcciones, teléfonos, etc.)

Las personas para las cuales se pueden solicitar servicios (pasaje, alojamientos, etc.) deberían definirse en Employee las cuales están

relacionadas con una Company.

#12 - 08/27/2018 03:45 PM - Andrés Pías

- File trytond.conf added

Files

trytond.conf 6.81 KB 08/27/2018 Andrés Pías

05/12/2020 12/12