Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- No Identificado
- Federation ID
- Codigo
- Fecha de activacion
- views:
- ------
- En una columna va el "label" y en la otra columna va el "field".
- <group col="2" id="medicament">
- <label name="medicament"/>
- <field name="medicament"/>
- </group>
- colspan: cuantas columnas ocupa una celda.
- col: cantidad de columnas.
- ========================================================================================================================================
- Flujo de compras
- ================
- ========================================================================================================
- Gestión de Compras: http://doc.zzsaas.com/4.2/purchase/purchase.html
- -------------------
- Estados de una compra: /Borrador > Presupuesto > Confirmada > En proceso > Realizada/ > Cancelada/
- ----------------------
- Cuando cambian los estados de una compra.
- De "Borrador" a "Presupuesto" solo cambia el estado de la compra.
- De "Presupuesto" a "Confirmada" solo cambia el estado de la compra.
- De "Confirmada" a "Procesar" genera 2 movimientos:
- i- genera un "Movimiento" "Desde proveedor" y en "Espera desde proveedor". Desde ubicacion:"Proveedor" A ubicación:"Zona de Entrada"(Hay que finalizar este movimiento para enviar la mercaderia hacia zona de entrada). Estamos esperando que el proveedor envie la mercadería. Cuando finalizo el movimiento la compra cambia el "Estado envío" a "Recibida". En movimientos cuando se finaliza el mismo sale el movimiento de "En espera desde proveedor" y cambia el estado a "Finalizado".
- ii- genera una factura en estado "Borrador".
- ¿Qué debo hacer primero: "finalizar el movimiento" o "contabilizar la factura la factura"?
- La compra en sí, engloba todo el proceso que se llevará a cabo: desde que nos presentan un presupuesto de compra hasta la formalización del pedido. Todo ello se gestiona en un mismo documento que irá cambiando de estado según vaya avanzando el proceso de compra.
- Estados: Borrador, Presupuesto, Confirmado, En proceso.
- Estado "Borrador"
- -----------------
- Siempre que generamos una compra nueva se nos creará en estado Borrador ya que es el único estado que permite la edición de los campos.
- Este estado representa aquellas compras que todavía no se han terminado de definir. Podemos dejarla guardada en este estado hasta el momento que consideremos oportuno o cambiarla al estado "Presupuesto" para cambiar el estado de la compra.
- Estado "Presupuesto"
- --------------------
- Representa que nuestro proveedor nos ha presentado un presupuesto pero que todavía no le hemos dado una respuesta sobre él(hay que tomar una desición en base al presupuesto que nos presentaron).
- Una vez tengamos la compra en estado "Presupuesto" se rellenará automáticamente el campo Referencia según la secuencia que le hayamos indicado en la Configuración de la compra.
- Una vez decidamos qué hacer con el presupuesto, podremos cambiar el estado de la compra a "Cancelar" o "Confirmar" según si la respuesta sea afirmativa o negativa. Además, si necesitamos realizar alguna modificación lo podremos hacer cambiando al estado "Borrador" de nuevo.
- Si nuestra respuesta sobre el presupuesto es negativa, al clicar en el botón Cancelar, el estado de la compra pasará a Cancelada.
- Estado "Confirmado"
- -------------------
- Con ello indicamos que hemos aceptado el presupuesto, pero que todavía no se ha procesado la compra. Tenemos que tener presente que una vez confirmada la compra, no la podremos cancelar ni podremos hacer que esta pase a un estado anterior.
- Una vez confirmada una compra esta nos generará los movimientos de existencias relacionados, pero no nos creará ningún albarán de proveedor, que deberemos crear manualmente.
- Estado "En proceso"
- -------------------
- Indicamos que nuestro proveedor está procesando la compra, por lo que la gestión dejará de depender de nosotros, ya que el siguiente paso será la recepción de la mercaderia. A partir de este momento, el sistema ya sabe que estamos pendientes de recibir la mercaderia del Tercero indicado y al Almacén indicado.
- En el momento en el que se le indique al sistema que se ha realizado la recepción de la mercaderia, desde los departamentos correspondientes, y que la factura de la compra está pagada, el estado de la compra cambiará a Realizada y el proceso de compra se habrá completado.
- Albarán de proveedor
- --------------------
- En el albarán de proveedor podremos seleccionar el botón + en los movimientos de entrada para buscar movimientos pendientes de recibir del proveedor y añadirlos automáticamente al albarán.
- Una vez confirmada una compra esta nos generará los movimientos de existencias relacionados, pero no nos creará ningún albarán de proveedor, que deberemos crear manualmente.
- Si finalizo un movimiento!!
- Venta:
- ------
- ========================================================================================================
- Recepcion de mercaderias:
- -------------------------
- http://doc.zzsaas.com/4.2/stock/stock.html?highlight=albar%C3%A1n
- ========================================================================================================
- Productos/Productos solo muestra el producto con tipo y precio de venta y precio de costo.
- Configuración básica tryton
- ===========================
- Configuración de la empresa:
- 0. Realizar la secuencia para el ejercicio fiscal. --> Contabilidad/Configuración/Ejercicios Fiscales/Ejercicios Fiscales
- "Secuencia de factura de abono de proveedor" es obligatorio.
- "Secuencia de factura de proveedor" es obligatorio.
- "Secuencia de factura de abono de cliente" es obligatorio.
- "Secuencia de factura de cliente" es obligatorio.
- "Secuencia de asiento contabilizado" es obligatorio.
- 1. Crear ejercicio fiscal. "No hay que cerrar el ejercicio fiscal", porque sino no se puede utilizar.
- 2. Configurar un plazo de pago, por ejemplo: efectivo. Con esto ya está listo para funcionar.
- 3. Proceso de compra.
- 4. Pagar factura: Falta la cuenta haber del diario "Efectivo". Contabilidad/Facturacion/Diarios/Diarios
- 5. Para pagar la factura hay que
- 5. Luego de pagar la factura hay que finalizar el movimiento --> Logistica/Movimiento --> Finalizar, para luego realizar un inventario.
- Compra
- ======
- Cuando realizamos una compra:
- Presupuestar --> Confirmar --> Procesar
- Luego vamos a "Facturas de proveedor":
- validar --> contabilizar --> pagar
- Para eliminar una compra antes hay que cancelarla:
- ¿Cómo eliminar una compra o como cancelar una compra?. ¿Antes hay que eliminar una factura?
- ¿?
- Producto
- ========
- Antes de agregar un producto hay que configurar la "cuenta de gastos" y la "cuenta de ingresos".
- ===================================================================================================================
- Problemas de Certificado: "ns1:cms.bad: El CMS no es valido".
- create crt: https://www.akadia.com/services/ssh_test_certificate.html
- ===================================================================================================================
- 1. Nombre simbólico del DN: trytonhp
- 2. CUIT del contribuyente: 20318902330
- 3. Solicitud de certificado en formato PKCS#10
- Pedido
- -----BEGIN CERTIFICATE REQUEST-----
- MIICjTCCAXUCAQAwSDELMAkGA1UEBhMCQVIxETAPBgNVBAoMCGVxdWFsaXR5MQsw
- CQYDVQQDDAJIUDEZMBcGA1UEBRMQQ1VJVCAyMDMxODkwMjMzMDCCASIwDQYJKoZI
- hvcNAQEBBQADggEPADCCAQoCggEBAPGI8DQiemV2mvCfT1wIxvgNk8Ai+KAh6FHY
- l9gVmEAtXf2Ha1H6mKFEdUxce6eNeGLlvsyDNMe0i2plWVPtGBPp1RwuL5I2d0I1
- i0hilZKhTDv78HQdtxmTi2UDqJg2z/S3S1PRLWzfBcLTx648Oi5g6FtwoZsvt9Io
- h1N3bLsqPzzEUL2wq/XdQL2x6NICCyrH5rz4P8yXaYFFzYaiZf9Bme5t4Ef039Z/
- OypgM3+XxAfUEvE8MV9weobjwFUfYTvNFiVGV7fCQZwR2JVi5aS4UVXlzQ7+31pM
- 7PV601EF12rl/i6g8XUPdODtXd9aRhD/zjglSxriGlXYqclsYRsCAwEAAaAAMA0G
- CSqGSIb3DQEBCwUAA4IBAQCuqap/bP+6gdUpWPYY6LnJ/rtb+5MGSnODOoi4yAlu
- eJ1QkicKSFFpyoiwxR9yA45zqTAPVNkFRFhdo5JU0z+auoTbkWRT5Bc0YkpDhizd
- gPrIya/kcLnFB1S+5iru+HR+UR1RRz4wuL7tEa9t9dcZcGqdUXzzGg+LiD/URhFP
- wm61Ui0ZmQNKDeGDVLeRoBoAj2cWmcLEEoNci/G8B6xMUU1b7hFQW4z7+QzqX/W+
- pcV8JFL4vk+UYUYczqKXXtLESo26zZ3ax2QXkk8sn/uU/Wevg5RQBL2dKNlOsyKY
- 4b4un+KtC15WTbj2iuhk6aMLKtJ1TwgF4jTecjgIIfG4
- -----END CERTIFICATE REQUEST-----
- Resultado
- -----BEGIN CERTIFICATE-----
- MIIDSDCCAjCgAwIBAgIIfsznRxvmNmUwDQYJKoZIhvcNAQENBQAwODEaMBgGA1UEAwwRQ29tcHV0
- YWRvcmVzIFRlc3QxDTALBgNVBAoMBEFGSVAxCzAJBgNVBAYTAkFSMB4XDTE3MDUyMzEyMjYwN1oX
- DTE5MDUyMzEyMjYwN1owLjERMA8GA1UEAwwIdHJ5dG9uaHAxGTAXBgNVBAUTEENVSVQgMjAzMTg5
- MDIzMzAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDxiPA0Inpldprwn09cCMb4DZPA
- IvigIehR2JfYFZhALV39h2tR+pihRHVMXHunjXhi5b7MgzTHtItqZVlT7RgT6dUcLi+SNndCNYtI
- YpWSoUw7+/B0HbcZk4tlA6iYNs/0t0tT0S1s3wXC08euPDouYOhbcKGbL7fSKIdTd2y7Kj88xFC9
- sKv13UC9sejSAgsqx+a8+D/Ml2mBRc2GomX/QZnubeBH9N/WfzsqYDN/l8QH1BLxPDFfcHqG48BV
- H2E7zRYlRle3wkGcEdiVYuWkuFFV5c0O/t9aTOz1etNRBddq5f4uoPF1D3Tg7V3fWkYQ/844JUsa
- 4hpV2KnJbGEbAgMBAAGjYDBeMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUs7LT//3put7eja8R
- IZzWIH3yT28wHQYDVR0OBBYEFJv+9h+nt3pjwgQcx0AHtstm0ooPMA4GA1UdDwEB/wQEAwIF4DAN
- BgkqhkiG9w0BAQ0FAAOCAQEAdZKC9+3eugU2Z0H7LcMyecxfFTSLdaP4N6WNWzflOZnSYQDmQPFs
- SluCW4FjjmexlVJDZtGRDUbPKZnaxuRX+YIV4QG4aBOkPC5gP4JExKxIOyGQ29E8HjlhicvHxOkB
- Apc+ya3iNRifgJGWdaRBF4SCRYqpYNLX/n+mdviPQOtXn708PUDQJ/WKoksZNbTpd4/8LoC52ilh
- vPMdthI8vBWTQecGWOiaJLfQ/7m/xJYZvLP7awAEWyoEVgljLrwvKXPBe4Gd4lGTU9Mn275bHV2x
- J5kJdItke6rAWNWWa2LyJJDIOjLhDvOsb3+couW7RhEXEVJfdVlwx4ClJa+Ijg==
- -----END CERTIFICATE-----
- OK. Autorización fue creada (CUITCOMPUTADOR=20318902330, ALIASCOMPUTADOR=trytonhp, CUITREPRESENTADO=20318902330, SERVICIO=ws://wsfe, CUITAUTORIZANTE=20318902330).
- ===================================================================================================================
- Modulo del afip:
- ----------------
- https://github.com/reingart/pyafipws
- https://pypi.python.org/pypi/PyAfipWs/2.7.1874
- ===================================================================================================================
- Certificados para el afip:
- --------------------------
- https://www.afip.gob.ar/ws/WSAA/WSAA.ObtenerCertificado.pdf
- https://www.afip.gob.ar/ws/WSASS/WSASS_como_adherirse.pdf
- ver como generar un .crt
- http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#Certificados
- openssl genrsa -out privada 2048
- openssl req -new -key privada -subj "/C=AR/O=equality/CN=HP/serialNumber=CUIT 20318902330" -out pedido
- ===================================================================================================================
- Preguntas:
- ----------
- ¿Que son los albaranes?
- ===================================================================================================================
- Videos tutoriales:
- ------------------
- https://www.youtube.com/watch?v=e1zvyiZg720&t=209s facturacion electronica.
- https://www.youtube.com/watch?v=nnJIJFD7lrc&t=4s config. basica.
- https://www.youtube.com/watch?v=NX6ywJchI4k&t=254s compra y venta.
- ===================================================================================================================
- Alta Período Fiscal
- -------------------
- Ejercicio fiscal: El ejercicio fiscal corresponde al periodo de tiempo (generalmente 12 meses) en el que una compañía publica su balance y cuenta de resultados. No tiene necesariamente que coincidir con el año natural.
- Crear Período Fiscal: Contabilidad → Ejercicios Fiscales
- NroII BB: 021-381306-2
- ===================================================================================================================
- Plan de Cuentas
- ---------------
- De todas formas desde Contabilidad → Configuración → Planes Contables se puede cargar un plan contable desde
- plantilla o agregar - modificar las cuentas que se desee.
- ===================================================================================================================
- Resumen de facturación: Facturación para la Argentina y en particular la facturación electrónica contra la AFIP.
- ----------------------
- basdo en: https://media.readthedocs.org/pdf/tryton-ar/latest/tryton-ar.pdf
- Según las reglas de facturación de la Argentina existen distintos Puntos de Ventas, lo cuales pueden ser:
- Manuales, Electrónicos o Tickeadora Fiscal. Antes de facturar se deben configurar los puntos de venta.
- Antes tenemos que configurar los puntos de venta y las facturas en el modulo contabilidad.
- Para facturar se necesita la clave privada y los certificados del AFIP para operar la empresa.
- *Para poder realizar la facturación es importante tener bien configurada la Empresa: los datos de la empresa se van a utilizar para imprimir la factura.
- *Cargar certificados de AFIP para la facturación electrónica, la condición ante el IVA y el CUIT y el logo de la misma (usado en la factura). ¿De donde sacamos los certificados del afip para la facturación electrónica?.
- En empresas tenemos una opcion Afip WS en el cual tenemos que ingresar modos de certificación.
- *También se deberá cargar de forma correcta el cliente (CUIT y tipo de IVA)
- *Marcar qué tipo de Punto de venta es y qué facturas emite el mismo (A, B, C, etc.).
- *A cada una de las facturas que se configuren se les deberá crear una secuencia para señalar la numeración que llevará
- ese tipo de factura en ese punto de venta específico.
- ==============================================================================================================================================
- Documentacion de tryton
- -----------------------
- Este parece buen tutorial:
- https://github.com/gcoop-libre/apuntes_de_tryton/blob/master/source/funcional.rst
- https://media.readthedocs.org/pdf/tryton-ar/latest/tryton-ar.pdf
- https://media.readthedocs.org/pdf/introduccion-a-tryton/latest/introduccion-a-tryton.pdf
- http://doc.zzsaas.com/4.2/ Pagina de españa. Muy buena!
- http://tryton-ar.readthedocs.io/es/latest/
- ==============================================================================================================================================
- Cada modulo dentro de un paquete tiene un .xml con el mismo nombre.
- Cuando agrego un modulo debo declararlo dentro del __init__.py del paquete.
- Del modulo que declaro debemos importar lo siguiente: from trytond.model import ModelView, ModelSQL, fields.
- Dentro de la clase debo declarar 'cooperative_ar' el nombre del paquete al que pertenece entre comillas simples.
- A la clase que declaro debo asignarle el atributo __name__ = "cooperative.partner.animal".
- Si declaro el modulo animal.py va a contener una clase "class Animal(..): ..". un archivo "animal.xml", y en la carpeta view
- un archivo animal_form.xml y animal_tree.xml.
- Agregar dentro del archivo "partners_coop_ar.py" agregar la siguiente linea:
- socio.add_field(Relation('One2Many', 'Animal', 'cooperative.partner.animal', field='partner')).
- # ---------- Animals ------------- #
- #Relacion con Socios
- animal = Model('Animal', 'cooperative.partner.animal')
- animal.add_field(Field('Char', 'Type'))
- animal.add_field(Relation('Many2One', 'Partner', 'cooperative.partner'))
- #relacion many to many con Animals
- Dentro del paquete, el modulo puede contener un archivo en el que se declaran todas las relaciones, en nuestro ejemplo es el siguiente archivo: partners_coop_ar.py
- ==============================================================================================================================================
- Bases locales en pc equality.
- =============================
- 3 ecologias: user:3eco pass:3eco bd:3eco, user:admin pass administrador:admin
- gnuhealth: bd: prueba
- prueba: gnuhealth
- prueba306: gnuhealth usr:admin contraseña:admin
- test:
- tryton-405
- ----------
- contraseña del servidor tryton: tryton
- base creada tryton405
- contraseña administrador: admin
- trytond.conf:
- [database]
- uri=postgresql://postgres:postgres@localhost:5432
- #path=/var/lib/trytond
- ================================================================================================================================================
- Logica del código fuente de tryton-4.2.0
- ----------------------------------------
- Campo de tipo select:
- ---------------------
- gender = fields.Selection([('male', 'Male'),
- ('female', 'Female'),
- ('other', 'other'),
- ], 'Gender', required=True)
- Tipos de datos para variables, y luego van a ser para las tablas:
- -----------------------------------------------------------------
- meeting_date_of_incoroporation = fields.Date('Meeting date of incorporation', required=True) #Date
- days = fields.Integer('Days') #Integer
- year = fields.Char('Year') #Char
- start_time = fields.Time('Start Time', states=STATES) #Time
- record = fields.Text( 'Record', states=STATES, ) #string, seria un text.
- payed_quotes = fields.Numeric('Payed Quotes') #Numeric
- proposal_letter = fields.Binary('Proposal Letter') #Binary
- Variable __all__ definida a nivel modulo antes de la declaracion de clase:
- --------------------------------------------------------------------------
- __all__ = ['Vacation']
- class Vacation(ModelSQL, ModelView):
- pass
- __all__ = ['Meeting']
- class Meeting(ModelSQL, ModelView):
- pass
- __all__ = ['PartnerMeeting']
- class PartnerMeeting(ModelSQL):
- pass
- Cuando se utiliza desde mod import *, sólo se importarán los nombres enumerados en __all__.
- Esto no es tan importante, en mi opinión, porque importar todo es una mala idea.
- Luego en el modulo __init__.py puedo agregar las clases:
- from .vacation import *
- def register():
- Pool.register(Partner,
- Meeting,
- Vacation,
- PartnerMeeting,
- module='cooperative_ar', type_='model')
- Cuando agregamos un nuevo item al menu, tenemos que agregar una nueva tabla a la BD, y generar los siguientes archivos:
- -----------------------------------------------------------------------------------------------------------------------
- class Partner(ModelSQL, ModelView):
- __name__ = "cooperative.partner"
- #un Partner puede tener muchas vacaciones.
- vacation = fields.One2Many('cooperative.partner.vacation', 'partner', 'Vacation')
- #Un Partner puede tener muchas reuniones, y en una reunion puede haber muchos Partner.
- #Esta asignacion many2many genera otra clase: class PartnerMeeting(ModelSQL)
- meeting = fields.Many2Many('cooperative.partner-meeting', 'partner', 'meeting', 'Meeting')
- #Un Partner puede tener muchas Sanciones.
- sanction = fields.One2Many('cooperative.partner.sanction', 'partner', 'Sanction')
- #Un Partner puede tener muchos Recibos.
- recibo = fields.One2Many('cooperative.partner.recibo', 'partner', 'Recibo')
- class Vacation(ModelSQL, ModelView):
- __name__ = "cooperative.partner.vacation"
- #Un Partner puede tener muchas Vacaciones
- partner = fields.Many2One('cooperative.partner', 'Partner', required=True)
- class Meeting(ModelSQL, ModelView):
- __name__ = "cooperative.meeting"
- #Un Partner puede tener muchas reuniones, y una reunion puede tener muchos Partner.
- #'meeting' y 'partner' son definidas en 'PartnerMeeting'.
- partners = fields.Many2Many('cooperative.partner-meeting', 'meeting', 'partner', 'Partner')
- class PartnerMeeting(ModelSQL): #esta clase se genera por la relacion many2many de Partner con Meeting
- __name__ = "cooperative.partner-meeting"
- partner = fields.Many2One('cooperative.partner', 'Partner')
- meeting = fields.Many2One('cooperative.meeting', 'Meeting')
- =============================================================================================
- Carga de la empresa que va a operar el sistema
- ----------------------------------------------
- La empresa es una entidad.
- La empresa que se configura de entrada es la principal que va a operar el sistema.
- El cuit es obligatorio.
- Notas:
- Para realizar una venta es necesario tener configurado un "termino de pago".
- En argentina lo que refiere a numero de factura e impuestos de venta se configura configurando el "account_invoice_ar" desde Facturas.
- Falta ver:
- Ejercicios fiscales en el modulo de contabilidad: https://www.youtube.com/watch?v=nnJIJFD7lrc minuto 5.
- Para realizar una venta es necesario tener un termino de pago: https://www.youtube.com/watch?v=nnJIJFD7lrc minuto 7.
- preguntas:
- ¿x un ejercicio fiscal?
- ¿x son las secuencias?
- Configuracion basica:
- i. Crear ejercicio fiscal. Crear secuencias. Creamos los periodos mensuales del ejercicio fiscal.
- ii. Crear al menos un plazo de pago para realizar operaciones de venta.
- Agregar producto:
- Ventas:
- Gestion de usuarios:
- Para configurar la gestion de usuarios debemos ir a administracion --> grupos --> ventas.
- Luego de asignar el usuario a "ventas" debemos abrir otro cliente a ingresar con el usuario que asignamos a ventas.
- El usuario asignado a ventas puede realizar ventas, puedo ver productos pero no puede modificar o agregar productos.
- =============================================================================================
- Unistall modules
- ----------------
- Orden de modulos:
- 1. sale
- 2. purchase
- 3. account_invoice_ar
- 4. account_invoice_stock
- 5. account_invoice
- 6. account
- 7. account_product
- 8. product_price_list
- 9. product
- 10.company
- 11. party
- 12. party_ar
- 13. party_relationship
- 14. party_siret
- 15. party_vcarddav
- 16. country
- 17. currency(no se podia desinstalar porque decia que era necesario)
- 18. webdav (no se para que carajo es)
- activated: product_price_list
- activated: stock
- =============================================================================================
- Configuracion del cliente web\escritorio
- ----------------------------------------
- Configuración del "cliente de escritorio":
- Manage Profiles:
- Host: 104.131.85.22:8008
- Database: tryton
- Username: admin
- Luego de conectar nos pide la contraseña de acceso a la BD, poner: admin
- Configuracion del "Cliente web":
- La url de acceso es: http://104.131.85.22:8008/index.html
- Usuario: admin
- Contraseña: admin
- Hay un user creado pero hay que configurarlo:
- usr: user
- pass: user
- Ip VPS: 104.131.85.22
- user: equality
- pwd:river88
- Ingreso a traves de ssh: equality@104.131.85.22 -p 1320
- git clone https://cristiangodoyy@gitlab.com/cristiangodoyy/tryton-4.2.git
- El servidor hay un virtualenv para este proyecto con el nombre "tryton-4.2"
- Instalacion de tryton 4.2
- =========================
- url para descargar modulos, cliente y servidor: https://downloads.tryton.org/4.2/
- Instalar tryton y trytond con el script.
- *Instalamos mkvirtualenv en caso de ser necesario:
- Instalamos todos los archivos del requirements.txt
- Creamos el /etc/trytond.config:
- [database]
- uri=postgresql://tryton:tryton@localhost:5432 # significa que vamos a utilizar la BD tryton del usuario tryton
- path=/var/lib/trytond
- [session]
- timeout=28800
- super_pwd=LOKveY0DVIMVA
- [jsonrpc]
- listen=*:8000
- data=/var/lib/trytond
- Creacion del usuario y la bd para tryton en postgres
- ----------------------------------------------------
- Crear el usuario tryton dentro de la BD postgres con el usuario "postgres", y creamos la bd "tryton" con el usuario tryton como propietario:
- sudo su - postgres # nos logueamos con el usuario postgres.
- createuser --pwprompt --createdb --no-createrole --no-superuser tryton # crea el usuario tryton
- Crear la bd para el usuario creado en el paso anterior:
- createdb -O tryton base_prueba # creamos la bd tryton con propietario usuario "tryton". # crea la bd base_prueba con el usuario tryton como propietario
- Verficamos lo anterior creado mirando las BD en la shell de postgres, ingresamos con el siguiente comando:
- sudo -u postgres psql postgres # logue
- \l mostramos la lista de BD'S
- \du listas los usuarios que tiene postgres
- ctrl + d # sale de la shell de postgres
- Initialize a database: A database can be initialized using this command line:
- ./trytond-admin -c <config file> -d db --all
- ./trytond-admin -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
- v final nos va a preguntar el nombre del admin: ponemos "admin"
- Detalle:
- 5147 139999570405120 [2017-04-21 02:46:14,019] INFO trytond.backend.postgresql.database connect to "tryton"
- 5147 139999570405120 [2017-04-21 02:46:14,154] INFO trytond.admin init db
- "instala modulos en la base 'tryton'"
- 5147 139999570405120 [2017-04-21 02:46:14,850] INFO trytond.modules ir:registering classes
- 5147 139999570405120 [2017-04-21 02:46:14,850] INFO trytond.modules res:registering classes
- "luego nos pide la pass para abrir la BD desde el cliente". Pasword que usa el cliente para acceder a la BD.
- Admin Password for tryton: admin
- Admin Password Confirmation: admin
- ejecuto el server:
- ./trytond -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -v
- ./trytond -c /home/equality/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -v
- ejecuto el comando para inicializar la BD:
- ./trytond-admin -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
- ./trytond-admin -c /home/equality/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
- Preparo la BD:
- ./trytond-admin -c /home/cristian/PycharmProjects/3eco/server/trytond/etc/trytond.conf -d 3eco --all -v
- Instalamos el cliente: tryton-4.2.4.tar.gz
- Instalamos el servidor: trytond-4.2.3.tar.gz
- =============================================================================================
- Variables con guion bajo python:
- --------------------------------
- https://groups.google.com/forum/#!topic/publicesvfoxpro/zEjErwD35fg
- =============================================================================================
- Yakuake
- -------
- clear && printf '\e[3J'
- =============================================================================================
- doc: http://doc.tryton.org/4.0/
- proy 4.0: https://downloads.tryton.org/4.0/
- list modules: https://downloads.tryton.org/modules.txt
- dowload: http://www.tryton.org/es/descarga.html
- Descargar modulos:
- la misma la cual se descargó el cliente y el servidor.
- https://downloads.tryton.org/4.0/
- Configuración del servidor tryton
- ---------------------------------
- Ejecutamos el servidor leyendo el archivo de configuración "trytond.conf":
- ./trytond -c /etc/tryton/trytond.conf -v
- Config django in pycharm
- ------------------------
- http://ruddra.com/2015/09/18/how-to-configure-django-tornado-in-pycharm-community-edition/
- ===============================================================================================
- Config tryton
- -------------
- Como pre-condición hay que instalar el cliente y el servidor de postgres.
- Crear trytond.conf para leer configuración de ahí. En /etc/tryton/trytond.conf .
- -----------------------------------------------
- trytond.conf: para configurar este archivo podemos leer la siguiente configuracion:
- http://doc.tryton.org/4.2/trytond/doc/topics/configuration.html
- http://doc.tryton.org/3.8/trytond/doc/topics/configuration.html
- [database]
- uri = postgresql://postgres:root@localhost/ # indicamos el usuario y el pass del propietario de la BD.
- path = /var/lib/tryton
- [session]
- super_pwd = AHdk.p7XROX3g --> admin # para generar el pass entramos a la siguiente url: http://doc.tryton.org/4.2/trytond/doc/topics/configuration.html
- ejecutando lo siguiente podemos cambiar el pwd:
- python -c 'import getpass,crypt,random,string; print crypt.crypt(getpass.getpass(), "".join(random.sample(string.ascii_letters + string.digits, 8)))'
- Para crear una BD en postgres: sudo su - postgres_user
- -----------------------------------------------
- Error modulo party:
- -------------------
- https://tryton-rietveld.appspot.com/25561002/#ps80001
- se agregó el archivo order.py e init.py dentro de la carpeta model.
- Error al actualizar modulos:
- ----------------------------
- File "/trytond/modules/account-9e44200e22d6/account.py", line 57, in __register__
- cursor = Transaction().cursor
- AttributeError: 'Transaction' object has no attribute 'cursor'
- 'Transaction' object has no attribute 'cursor'
- ===================================================================================================================================================
- Modulos
- =======
- Videos ejemplos de configuracion basica:
- Configuración básica Tryton Argentina
- https://www.youtube.com/watch?v=nnJIJFD7lrc
- Gestión Cooperativa con Tryton
- https://www.youtube.com/watch?v=XydFRYlvaeQ
- Balance Social Cooperativo con Tryton
- https://www.youtube.com/watch?v=aeBpHDsRwxI
- Tryton Argentina: Facturación Electrónica
- https://www.youtube.com/watch?v=e1zvyiZg720
- Modulo para cooperativas argentinas:
- ------------------------------------
- https://github.com/gcoop-libre/account_coop_ar
- git clone https://github.com/gcoop-libre/account_coop_ar.git
- Modulo del afip:
- ----------------
- https://github.com/tryton-ar/account_invoice_ar
- git clone https://github.com/tryton-ar/account_invoice_ar.git
- El modulo anterior del afip depende de el siguiente modulo party_ar:
- --------------------------------------------------------------------
- url: https://github.com/tryton-ar/party_ar
- git clone https://github.com/tryton-ar/party_ar.git
- ===================================================================================================================================
- partner.py --> agrega un campo en la tabla: license_days = fields.Integer('License Days')
- partner_tree.xml --> agrega el campo que se agregó en la tabla a la vista: <field name="license_days" />
- title Main Page
- -----
- //h1[@id="firstHeading"]/text()
- base Detail Page 1
- ----
- //td[@class="l_box"]
- ================================================================================================================================================
- tryton-errores
- --------------
- Error: ' ProgrammingError: relation "cash_cash" does not exist '
- Traceback (most recent call last):
- File "/trytond/wsgi.py", line 47, in dispatch_request
- return endpoint(request, **request.view_args)
- File "/trytond/protocols/dispatcher.py", line 41, in rpc
- request, database_name, *request.rpc_params)
- File "/trytond/wsgi.py", line 39, in auth_required
- return wrapped(*args, **kwargs)
- File "/trytond/protocols/wrappers.py", line 107, in wrapper
- return func(request, pool, *args, **kwargs)
- File "/trytond/protocols/dispatcher.py", line 160, in _dispatch
- result = rpc.result(meth(*c_args, **c_kwargs))
- File "/trytond/wizard/wizard.py", line 287, in execute
- return wizard._execute(state_name)
- File "/trytond/wizard/wizard.py", line 318, in _execute
- result = self._execute(transition())
- File "/trytond/ir/module.py", line 581, in transition_upgrade
- pool.init(update=update, lang=lang)
- File "/trytond/pool.py", line 155, in init
- lang=lang)
- File "/trytond/modules/__init__.py", line 458, in load_modules
- _load_modules()
- File "/trytond/modules/__init__.py", line 422, in _load_modules
- load_module_graph(graph, pool, update, lang)
- File "/trytond/modules/__init__.py", line 245, in load_module_graph
- cls.__register__(module)
- File "/trytond/model/modelsql.py", line 196, in __register__
- table.add_fk(field_name, ref, field.ondelete)
- File "/trytond/backend/postgresql/table.py", line 333, in add_fk
- 'ON DELETE ' + on_delete)
- ProgrammingError: relation "cash_cash" does not exist
- Este error surgió porque estaba mal declarado el orden de las clases "Cash" y "Withdrawal" dentro del metodo Pool.register(..)
- def register():
- Pool.register(
- Cash,
- Withdrawal,
- module='cash_register',
- type_='model')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement