Advertisement
Guest User

Untitled

a guest
Jan 31st, 2019
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.44 KB | None | 0 0
  1. No Identificado
  2. Federation ID
  3. Codigo
  4. Fecha de activacion
  5.  
  6.  
  7. views:
  8. ------
  9. En una columna va el "label" y en la otra columna va el "field".
  10. <group col="2" id="medicament">
  11. <label name="medicament"/>
  12. <field name="medicament"/>
  13. </group>
  14.  
  15. colspan: cuantas columnas ocupa una celda.
  16. col: cantidad de columnas.
  17.  
  18.  
  19.  
  20.  
  21.  
  22. ========================================================================================================================================
  23. Flujo de compras
  24. ================
  25.  
  26.  
  27.  
  28.  
  29.  
  30. ========================================================================================================
  31. Gestión de Compras: http://doc.zzsaas.com/4.2/purchase/purchase.html
  32. -------------------
  33. Estados de una compra: /Borrador > Presupuesto > Confirmada > En proceso > Realizada/ > Cancelada/
  34. ----------------------
  35.  
  36. Cuando cambian los estados de una compra.
  37. De "Borrador" a "Presupuesto" solo cambia el estado de la compra.
  38. De "Presupuesto" a "Confirmada" solo cambia el estado de la compra.
  39.  
  40. De "Confirmada" a "Procesar" genera 2 movimientos:
  41. 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".
  42. ii- genera una factura en estado "Borrador".
  43.  
  44. ¿Qué debo hacer primero: "finalizar el movimiento" o "contabilizar la factura la factura"?
  45.  
  46.  
  47.  
  48. 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.
  49.  
  50. Estados: Borrador, Presupuesto, Confirmado, En proceso.
  51.  
  52. Estado "Borrador"
  53. -----------------
  54. 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.
  55. 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.
  56.  
  57.  
  58. Estado "Presupuesto"
  59. --------------------
  60. 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).
  61. 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.
  62. 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.
  63. Si nuestra respuesta sobre el presupuesto es negativa, al clicar en el botón Cancelar, el estado de la compra pasará a Cancelada.
  64.  
  65. Estado "Confirmado"
  66. -------------------
  67. 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.
  68. 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.
  69.  
  70. Estado "En proceso"
  71. -------------------
  72. 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.
  73.  
  74. 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.
  75.  
  76. Albarán de proveedor
  77. --------------------
  78. 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.
  79. 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.
  80.  
  81.  
  82.  
  83. Si finalizo un movimiento!!
  84.  
  85.  
  86. Venta:
  87. ------
  88.  
  89.  
  90.  
  91. ========================================================================================================
  92. Recepcion de mercaderias:
  93. -------------------------
  94. http://doc.zzsaas.com/4.2/stock/stock.html?highlight=albar%C3%A1n
  95.  
  96. ========================================================================================================
  97. Productos/Productos solo muestra el producto con tipo y precio de venta y precio de costo.
  98.  
  99. Configuración básica tryton
  100. ===========================
  101. Configuración de la empresa:
  102.  
  103. 0. Realizar la secuencia para el ejercicio fiscal. --> Contabilidad/Configuración/Ejercicios Fiscales/Ejercicios Fiscales
  104. "Secuencia de factura de abono de proveedor" es obligatorio.
  105. "Secuencia de factura de proveedor" es obligatorio.
  106. "Secuencia de factura de abono de cliente" es obligatorio.
  107. "Secuencia de factura de cliente" es obligatorio.
  108. "Secuencia de asiento contabilizado" es obligatorio.
  109.  
  110. 1. Crear ejercicio fiscal. "No hay que cerrar el ejercicio fiscal", porque sino no se puede utilizar.
  111.  
  112. 2. Configurar un plazo de pago, por ejemplo: efectivo. Con esto ya está listo para funcionar.
  113.  
  114. 3. Proceso de compra.
  115.  
  116. 4. Pagar factura: Falta la cuenta haber del diario "Efectivo". Contabilidad/Facturacion/Diarios/Diarios
  117.  
  118. 5. Para pagar la factura hay que
  119.  
  120. 5. Luego de pagar la factura hay que finalizar el movimiento --> Logistica/Movimiento --> Finalizar, para luego realizar un inventario.
  121.  
  122. Compra
  123. ======
  124. Cuando realizamos una compra:
  125. Presupuestar --> Confirmar --> Procesar
  126.  
  127. Luego vamos a "Facturas de proveedor":
  128. validar --> contabilizar --> pagar
  129.  
  130. Para eliminar una compra antes hay que cancelarla:
  131.  
  132.  
  133.  
  134. ¿Cómo eliminar una compra o como cancelar una compra?. ¿Antes hay que eliminar una factura?
  135. ¿?
  136.  
  137. Producto
  138. ========
  139. Antes de agregar un producto hay que configurar la "cuenta de gastos" y la "cuenta de ingresos".
  140.  
  141.  
  142.  
  143. ===================================================================================================================
  144. Problemas de Certificado: "ns1:cms.bad: El CMS no es valido".
  145.  
  146. create crt: https://www.akadia.com/services/ssh_test_certificate.html
  147.  
  148. ===================================================================================================================
  149. 1. Nombre simbólico del DN: trytonhp
  150.  
  151. 2. CUIT del contribuyente: 20318902330
  152.  
  153. 3. Solicitud de certificado en formato PKCS#10
  154. Pedido
  155. -----BEGIN CERTIFICATE REQUEST-----
  156. MIICjTCCAXUCAQAwSDELMAkGA1UEBhMCQVIxETAPBgNVBAoMCGVxdWFsaXR5MQsw
  157. CQYDVQQDDAJIUDEZMBcGA1UEBRMQQ1VJVCAyMDMxODkwMjMzMDCCASIwDQYJKoZI
  158. hvcNAQEBBQADggEPADCCAQoCggEBAPGI8DQiemV2mvCfT1wIxvgNk8Ai+KAh6FHY
  159. l9gVmEAtXf2Ha1H6mKFEdUxce6eNeGLlvsyDNMe0i2plWVPtGBPp1RwuL5I2d0I1
  160. i0hilZKhTDv78HQdtxmTi2UDqJg2z/S3S1PRLWzfBcLTx648Oi5g6FtwoZsvt9Io
  161. h1N3bLsqPzzEUL2wq/XdQL2x6NICCyrH5rz4P8yXaYFFzYaiZf9Bme5t4Ef039Z/
  162. OypgM3+XxAfUEvE8MV9weobjwFUfYTvNFiVGV7fCQZwR2JVi5aS4UVXlzQ7+31pM
  163. 7PV601EF12rl/i6g8XUPdODtXd9aRhD/zjglSxriGlXYqclsYRsCAwEAAaAAMA0G
  164. CSqGSIb3DQEBCwUAA4IBAQCuqap/bP+6gdUpWPYY6LnJ/rtb+5MGSnODOoi4yAlu
  165. eJ1QkicKSFFpyoiwxR9yA45zqTAPVNkFRFhdo5JU0z+auoTbkWRT5Bc0YkpDhizd
  166. gPrIya/kcLnFB1S+5iru+HR+UR1RRz4wuL7tEa9t9dcZcGqdUXzzGg+LiD/URhFP
  167. wm61Ui0ZmQNKDeGDVLeRoBoAj2cWmcLEEoNci/G8B6xMUU1b7hFQW4z7+QzqX/W+
  168. pcV8JFL4vk+UYUYczqKXXtLESo26zZ3ax2QXkk8sn/uU/Wevg5RQBL2dKNlOsyKY
  169. 4b4un+KtC15WTbj2iuhk6aMLKtJ1TwgF4jTecjgIIfG4
  170. -----END CERTIFICATE REQUEST-----
  171.  
  172.  
  173. Resultado
  174. -----BEGIN CERTIFICATE-----
  175. MIIDSDCCAjCgAwIBAgIIfsznRxvmNmUwDQYJKoZIhvcNAQENBQAwODEaMBgGA1UEAwwRQ29tcHV0
  176. YWRvcmVzIFRlc3QxDTALBgNVBAoMBEFGSVAxCzAJBgNVBAYTAkFSMB4XDTE3MDUyMzEyMjYwN1oX
  177. DTE5MDUyMzEyMjYwN1owLjERMA8GA1UEAwwIdHJ5dG9uaHAxGTAXBgNVBAUTEENVSVQgMjAzMTg5
  178. MDIzMzAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDxiPA0Inpldprwn09cCMb4DZPA
  179. IvigIehR2JfYFZhALV39h2tR+pihRHVMXHunjXhi5b7MgzTHtItqZVlT7RgT6dUcLi+SNndCNYtI
  180. YpWSoUw7+/B0HbcZk4tlA6iYNs/0t0tT0S1s3wXC08euPDouYOhbcKGbL7fSKIdTd2y7Kj88xFC9
  181. sKv13UC9sejSAgsqx+a8+D/Ml2mBRc2GomX/QZnubeBH9N/WfzsqYDN/l8QH1BLxPDFfcHqG48BV
  182. H2E7zRYlRle3wkGcEdiVYuWkuFFV5c0O/t9aTOz1etNRBddq5f4uoPF1D3Tg7V3fWkYQ/844JUsa
  183. 4hpV2KnJbGEbAgMBAAGjYDBeMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUs7LT//3put7eja8R
  184. IZzWIH3yT28wHQYDVR0OBBYEFJv+9h+nt3pjwgQcx0AHtstm0ooPMA4GA1UdDwEB/wQEAwIF4DAN
  185. BgkqhkiG9w0BAQ0FAAOCAQEAdZKC9+3eugU2Z0H7LcMyecxfFTSLdaP4N6WNWzflOZnSYQDmQPFs
  186. SluCW4FjjmexlVJDZtGRDUbPKZnaxuRX+YIV4QG4aBOkPC5gP4JExKxIOyGQ29E8HjlhicvHxOkB
  187. Apc+ya3iNRifgJGWdaRBF4SCRYqpYNLX/n+mdviPQOtXn708PUDQJ/WKoksZNbTpd4/8LoC52ilh
  188. vPMdthI8vBWTQecGWOiaJLfQ/7m/xJYZvLP7awAEWyoEVgljLrwvKXPBe4Gd4lGTU9Mn275bHV2x
  189. J5kJdItke6rAWNWWa2LyJJDIOjLhDvOsb3+couW7RhEXEVJfdVlwx4ClJa+Ijg==
  190. -----END CERTIFICATE-----
  191.  
  192.  
  193.  
  194. OK. Autorización fue creada (CUITCOMPUTADOR=20318902330, ALIASCOMPUTADOR=trytonhp, CUITREPRESENTADO=20318902330, SERVICIO=ws://wsfe, CUITAUTORIZANTE=20318902330).
  195.  
  196.  
  197. ===================================================================================================================
  198. Modulo del afip:
  199. ----------------
  200. https://github.com/reingart/pyafipws
  201. https://pypi.python.org/pypi/PyAfipWs/2.7.1874
  202.  
  203.  
  204. ===================================================================================================================
  205. Certificados para el afip:
  206. --------------------------
  207. https://www.afip.gob.ar/ws/WSAA/WSAA.ObtenerCertificado.pdf
  208. https://www.afip.gob.ar/ws/WSASS/WSASS_como_adherirse.pdf
  209.  
  210. ver como generar un .crt
  211. http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#Certificados
  212.  
  213. openssl genrsa -out privada 2048
  214.  
  215. openssl req -new -key privada -subj "/C=AR/O=equality/CN=HP/serialNumber=CUIT 20318902330" -out pedido
  216.  
  217.  
  218. ===================================================================================================================
  219. Preguntas:
  220. ----------
  221. ¿Que son los albaranes?
  222.  
  223.  
  224.  
  225. ===================================================================================================================
  226. Videos tutoriales:
  227. ------------------
  228. https://www.youtube.com/watch?v=e1zvyiZg720&t=209s facturacion electronica.
  229. https://www.youtube.com/watch?v=nnJIJFD7lrc&t=4s config. basica.
  230. https://www.youtube.com/watch?v=NX6ywJchI4k&t=254s compra y venta.
  231.  
  232.  
  233. ===================================================================================================================
  234. Alta Período Fiscal
  235. -------------------
  236. 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.
  237.  
  238. Crear Período Fiscal: Contabilidad → Ejercicios Fiscales
  239.  
  240. NroII BB: 021-381306-2
  241.  
  242. ===================================================================================================================
  243. Plan de Cuentas
  244. ---------------
  245. De todas formas desde Contabilidad → Configuración → Planes Contables se puede cargar un plan contable desde
  246. plantilla o agregar - modificar las cuentas que se desee.
  247.  
  248. ===================================================================================================================
  249. Resumen de facturación: Facturación para la Argentina y en particular la facturación electrónica contra la AFIP.
  250. ----------------------
  251. basdo en: https://media.readthedocs.org/pdf/tryton-ar/latest/tryton-ar.pdf
  252.  
  253. Según las reglas de facturación de la Argentina existen distintos Puntos de Ventas, lo cuales pueden ser:
  254. Manuales, Electrónicos o Tickeadora Fiscal. Antes de facturar se deben configurar los puntos de venta.
  255.  
  256. Antes tenemos que configurar los puntos de venta y las facturas en el modulo contabilidad.
  257.  
  258. Para facturar se necesita la clave privada y los certificados del AFIP para operar la empresa.
  259.  
  260. *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.
  261. *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?.
  262. En empresas tenemos una opcion Afip WS en el cual tenemos que ingresar modos de certificación.
  263. *También se deberá cargar de forma correcta el cliente (CUIT y tipo de IVA)
  264.  
  265. *Marcar qué tipo de Punto de venta es y qué facturas emite el mismo (A, B, C, etc.).
  266. *A cada una de las facturas que se configuren se les deberá crear una secuencia para señalar la numeración que llevará
  267. ese tipo de factura en ese punto de venta específico.
  268.  
  269.  
  270.  
  271. ==============================================================================================================================================
  272. Documentacion de tryton
  273. -----------------------
  274. Este parece buen tutorial:
  275. https://github.com/gcoop-libre/apuntes_de_tryton/blob/master/source/funcional.rst
  276. https://media.readthedocs.org/pdf/tryton-ar/latest/tryton-ar.pdf
  277.  
  278. https://media.readthedocs.org/pdf/introduccion-a-tryton/latest/introduccion-a-tryton.pdf
  279.  
  280. http://doc.zzsaas.com/4.2/ Pagina de españa. Muy buena!
  281.  
  282. http://tryton-ar.readthedocs.io/es/latest/
  283.  
  284. ==============================================================================================================================================
  285. Cada modulo dentro de un paquete tiene un .xml con el mismo nombre.
  286.  
  287. Cuando agrego un modulo debo declararlo dentro del __init__.py del paquete.
  288.  
  289. Del modulo que declaro debemos importar lo siguiente: from trytond.model import ModelView, ModelSQL, fields.
  290.  
  291. Dentro de la clase debo declarar 'cooperative_ar' el nombre del paquete al que pertenece entre comillas simples.
  292.  
  293. A la clase que declaro debo asignarle el atributo __name__ = "cooperative.partner.animal".
  294.  
  295. Si declaro el modulo animal.py va a contener una clase "class Animal(..): ..". un archivo "animal.xml", y en la carpeta view
  296. un archivo animal_form.xml y animal_tree.xml.
  297.  
  298. Agregar dentro del archivo "partners_coop_ar.py" agregar la siguiente linea:
  299. socio.add_field(Relation('One2Many', 'Animal', 'cooperative.partner.animal', field='partner')).
  300. # ---------- Animals ------------- #
  301. #Relacion con Socios
  302. animal = Model('Animal', 'cooperative.partner.animal')
  303. animal.add_field(Field('Char', 'Type'))
  304. animal.add_field(Relation('Many2One', 'Partner', 'cooperative.partner'))
  305. #relacion many to many con Animals
  306.  
  307.  
  308. 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
  309.  
  310.  
  311.  
  312.  
  313.  
  314. ==============================================================================================================================================
  315. Bases locales en pc equality.
  316. =============================
  317. 3 ecologias: user:3eco pass:3eco bd:3eco, user:admin pass administrador:admin
  318. gnuhealth: bd: prueba
  319. prueba: gnuhealth
  320. prueba306: gnuhealth usr:admin contraseña:admin
  321. test:
  322.  
  323. tryton-405
  324. ----------
  325. contraseña del servidor tryton: tryton
  326. base creada tryton405
  327. contraseña administrador: admin
  328.  
  329. trytond.conf:
  330. [database]
  331. uri=postgresql://postgres:postgres@localhost:5432
  332. #path=/var/lib/trytond
  333.  
  334. ================================================================================================================================================
  335. Logica del código fuente de tryton-4.2.0
  336. ----------------------------------------
  337.  
  338. Campo de tipo select:
  339. ---------------------
  340. gender = fields.Selection([('male', 'Male'),
  341. ('female', 'Female'),
  342. ('other', 'other'),
  343. ], 'Gender', required=True)
  344.  
  345.  
  346.  
  347. Tipos de datos para variables, y luego van a ser para las tablas:
  348. -----------------------------------------------------------------
  349. meeting_date_of_incoroporation = fields.Date('Meeting date of incorporation', required=True) #Date
  350. days = fields.Integer('Days') #Integer
  351. year = fields.Char('Year') #Char
  352. start_time = fields.Time('Start Time', states=STATES) #Time
  353. record = fields.Text( 'Record', states=STATES, ) #string, seria un text.
  354. payed_quotes = fields.Numeric('Payed Quotes') #Numeric
  355. proposal_letter = fields.Binary('Proposal Letter') #Binary
  356.  
  357.  
  358.  
  359. Variable __all__ definida a nivel modulo antes de la declaracion de clase:
  360. --------------------------------------------------------------------------
  361.  
  362. __all__ = ['Vacation']
  363. class Vacation(ModelSQL, ModelView):
  364. pass
  365.  
  366. __all__ = ['Meeting']
  367. class Meeting(ModelSQL, ModelView):
  368. pass
  369.  
  370. __all__ = ['PartnerMeeting']
  371. class PartnerMeeting(ModelSQL):
  372. pass
  373.  
  374. Cuando se utiliza desde mod import *, sólo se importarán los nombres enumerados en __all__.
  375. Esto no es tan importante, en mi opinión, porque importar todo es una mala idea.
  376.  
  377. Luego en el modulo __init__.py puedo agregar las clases:
  378. from .vacation import *
  379. def register():
  380. Pool.register(Partner,
  381. Meeting,
  382. Vacation,
  383. PartnerMeeting,
  384. module='cooperative_ar', type_='model')
  385.  
  386.  
  387. Cuando agregamos un nuevo item al menu, tenemos que agregar una nueva tabla a la BD, y generar los siguientes archivos:
  388. -----------------------------------------------------------------------------------------------------------------------
  389. class Partner(ModelSQL, ModelView):
  390. __name__ = "cooperative.partner"
  391. #un Partner puede tener muchas vacaciones.
  392. vacation = fields.One2Many('cooperative.partner.vacation', 'partner', 'Vacation')
  393.  
  394. #Un Partner puede tener muchas reuniones, y en una reunion puede haber muchos Partner.
  395. #Esta asignacion many2many genera otra clase: class PartnerMeeting(ModelSQL)
  396. meeting = fields.Many2Many('cooperative.partner-meeting', 'partner', 'meeting', 'Meeting')
  397.  
  398. #Un Partner puede tener muchas Sanciones.
  399. sanction = fields.One2Many('cooperative.partner.sanction', 'partner', 'Sanction')
  400.  
  401. #Un Partner puede tener muchos Recibos.
  402. recibo = fields.One2Many('cooperative.partner.recibo', 'partner', 'Recibo')
  403.  
  404. class Vacation(ModelSQL, ModelView):
  405. __name__ = "cooperative.partner.vacation"
  406. #Un Partner puede tener muchas Vacaciones
  407. partner = fields.Many2One('cooperative.partner', 'Partner', required=True)
  408.  
  409. class Meeting(ModelSQL, ModelView):
  410. __name__ = "cooperative.meeting"
  411. #Un Partner puede tener muchas reuniones, y una reunion puede tener muchos Partner.
  412. #'meeting' y 'partner' son definidas en 'PartnerMeeting'.
  413. partners = fields.Many2Many('cooperative.partner-meeting', 'meeting', 'partner', 'Partner')
  414.  
  415. class PartnerMeeting(ModelSQL): #esta clase se genera por la relacion many2many de Partner con Meeting
  416. __name__ = "cooperative.partner-meeting"
  417. partner = fields.Many2One('cooperative.partner', 'Partner')
  418. meeting = fields.Many2One('cooperative.meeting', 'Meeting')
  419.  
  420.  
  421.  
  422. =============================================================================================
  423. Carga de la empresa que va a operar el sistema
  424. ----------------------------------------------
  425. La empresa es una entidad.
  426. La empresa que se configura de entrada es la principal que va a operar el sistema.
  427. El cuit es obligatorio.
  428.  
  429. Notas:
  430. Para realizar una venta es necesario tener configurado un "termino de pago".
  431. En argentina lo que refiere a numero de factura e impuestos de venta se configura configurando el "account_invoice_ar" desde Facturas.
  432.  
  433. Falta ver:
  434. Ejercicios fiscales en el modulo de contabilidad: https://www.youtube.com/watch?v=nnJIJFD7lrc minuto 5.
  435. Para realizar una venta es necesario tener un termino de pago: https://www.youtube.com/watch?v=nnJIJFD7lrc minuto 7.
  436.  
  437.  
  438. preguntas:
  439. ¿x un ejercicio fiscal?
  440. ¿x son las secuencias?
  441.  
  442. Configuracion basica:
  443. i. Crear ejercicio fiscal. Crear secuencias. Creamos los periodos mensuales del ejercicio fiscal.
  444. ii. Crear al menos un plazo de pago para realizar operaciones de venta.
  445.  
  446. Agregar producto:
  447.  
  448.  
  449. Ventas:
  450.  
  451.  
  452. Gestion de usuarios:
  453. Para configurar la gestion de usuarios debemos ir a administracion --> grupos --> ventas.
  454. Luego de asignar el usuario a "ventas" debemos abrir otro cliente a ingresar con el usuario que asignamos a ventas.
  455.  
  456. El usuario asignado a ventas puede realizar ventas, puedo ver productos pero no puede modificar o agregar productos.
  457.  
  458.  
  459.  
  460. =============================================================================================
  461. Unistall modules
  462. ----------------
  463. Orden de modulos:
  464. 1. sale
  465. 2. purchase
  466. 3. account_invoice_ar
  467. 4. account_invoice_stock
  468. 5. account_invoice
  469. 6. account
  470. 7. account_product
  471. 8. product_price_list
  472. 9. product
  473. 10.company
  474. 11. party
  475. 12. party_ar
  476. 13. party_relationship
  477. 14. party_siret
  478. 15. party_vcarddav
  479. 16. country
  480.  
  481. 17. currency(no se podia desinstalar porque decia que era necesario)
  482. 18. webdav (no se para que carajo es)
  483.  
  484.  
  485.  
  486. activated: product_price_list
  487. activated: stock
  488.  
  489. =============================================================================================
  490. Configuracion del cliente web\escritorio
  491. ----------------------------------------
  492. Configuración del "cliente de escritorio":
  493. Manage Profiles:
  494. Host: 104.131.85.22:8008
  495. Database: tryton
  496. Username: admin
  497. Luego de conectar nos pide la contraseña de acceso a la BD, poner: admin
  498.  
  499. Configuracion del "Cliente web":
  500. La url de acceso es: http://104.131.85.22:8008/index.html
  501. Usuario: admin
  502. Contraseña: admin
  503.  
  504. Hay un user creado pero hay que configurarlo:
  505. usr: user
  506. pass: user
  507.  
  508.  
  509. Ip VPS: 104.131.85.22
  510. user: equality
  511. pwd:river88
  512.  
  513. Ingreso a traves de ssh: equality@104.131.85.22 -p 1320
  514.  
  515. git clone https://cristiangodoyy@gitlab.com/cristiangodoyy/tryton-4.2.git
  516.  
  517. El servidor hay un virtualenv para este proyecto con el nombre "tryton-4.2"
  518.  
  519.  
  520.  
  521. Instalacion de tryton 4.2
  522. =========================
  523. url para descargar modulos, cliente y servidor: https://downloads.tryton.org/4.2/
  524.  
  525. Instalar tryton y trytond con el script.
  526.  
  527. *Instalamos mkvirtualenv en caso de ser necesario:
  528.  
  529. Instalamos todos los archivos del requirements.txt
  530.  
  531. Creamos el /etc/trytond.config:
  532. [database]
  533. uri=postgresql://tryton:tryton@localhost:5432 # significa que vamos a utilizar la BD tryton del usuario tryton
  534. path=/var/lib/trytond
  535.  
  536. [session]
  537. timeout=28800
  538. super_pwd=LOKveY0DVIMVA
  539.  
  540. [jsonrpc]
  541. listen=*:8000
  542. data=/var/lib/trytond
  543.  
  544.  
  545. Creacion del usuario y la bd para tryton en postgres
  546. ----------------------------------------------------
  547.  
  548. Crear el usuario tryton dentro de la BD postgres con el usuario "postgres", y creamos la bd "tryton" con el usuario tryton como propietario:
  549. sudo su - postgres # nos logueamos con el usuario postgres.
  550.  
  551. createuser --pwprompt --createdb --no-createrole --no-superuser tryton # crea el usuario tryton
  552.  
  553. Crear la bd para el usuario creado en el paso anterior:
  554. createdb -O tryton base_prueba # creamos la bd tryton con propietario usuario "tryton". # crea la bd base_prueba con el usuario tryton como propietario
  555.  
  556. Verficamos lo anterior creado mirando las BD en la shell de postgres, ingresamos con el siguiente comando:
  557. sudo -u postgres psql postgres # logue
  558. \l mostramos la lista de BD'S
  559. \du listas los usuarios que tiene postgres
  560.  
  561. ctrl + d # sale de la shell de postgres
  562.  
  563.  
  564. Initialize a database: A database can be initialized using this command line:
  565.  
  566. ./trytond-admin -c <config file> -d db --all
  567.  
  568. ./trytond-admin -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
  569.  
  570. v final nos va a preguntar el nombre del admin: ponemos "admin"
  571.  
  572. Detalle:
  573. 5147 139999570405120 [2017-04-21 02:46:14,019] INFO trytond.backend.postgresql.database connect to "tryton"
  574. 5147 139999570405120 [2017-04-21 02:46:14,154] INFO trytond.admin init db
  575. "instala modulos en la base 'tryton'"
  576. 5147 139999570405120 [2017-04-21 02:46:14,850] INFO trytond.modules ir:registering classes
  577. 5147 139999570405120 [2017-04-21 02:46:14,850] INFO trytond.modules res:registering classes
  578. "luego nos pide la pass para abrir la BD desde el cliente". Pasword que usa el cliente para acceder a la BD.
  579. Admin Password for tryton: admin
  580. Admin Password Confirmation: admin
  581.  
  582.  
  583. ejecuto el server:
  584. ./trytond -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -v
  585. ./trytond -c /home/equality/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -v
  586.  
  587. ejecuto el comando para inicializar la BD:
  588. ./trytond-admin -c /home/cristian/PycharmProjects/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
  589.  
  590. ./trytond-admin -c /home/equality/tryton-4.2/trytond-4.2.3/trytond/etc/trytond.conf -d tryton --all -v
  591.  
  592. Preparo la BD:
  593. ./trytond-admin -c /home/cristian/PycharmProjects/3eco/server/trytond/etc/trytond.conf -d 3eco --all -v
  594.  
  595. Instalamos el cliente: tryton-4.2.4.tar.gz
  596. Instalamos el servidor: trytond-4.2.3.tar.gz
  597.  
  598. =============================================================================================
  599. Variables con guion bajo python:
  600. --------------------------------
  601. https://groups.google.com/forum/#!topic/publicesvfoxpro/zEjErwD35fg
  602.  
  603.  
  604. =============================================================================================
  605. Yakuake
  606. -------
  607. clear && printf '\e[3J'
  608.  
  609. =============================================================================================
  610. doc: http://doc.tryton.org/4.0/
  611.  
  612. proy 4.0: https://downloads.tryton.org/4.0/
  613.  
  614. list modules: https://downloads.tryton.org/modules.txt
  615.  
  616. dowload: http://www.tryton.org/es/descarga.html
  617.  
  618. Descargar modulos:
  619. la misma la cual se descargó el cliente y el servidor.
  620. https://downloads.tryton.org/4.0/
  621.  
  622.  
  623. Configuración del servidor tryton
  624. ---------------------------------
  625. Ejecutamos el servidor leyendo el archivo de configuración "trytond.conf":
  626. ./trytond -c /etc/tryton/trytond.conf -v
  627.  
  628. Config django in pycharm
  629. ------------------------
  630. http://ruddra.com/2015/09/18/how-to-configure-django-tornado-in-pycharm-community-edition/
  631.  
  632. ===============================================================================================
  633. Config tryton
  634. -------------
  635. Como pre-condición hay que instalar el cliente y el servidor de postgres.
  636.  
  637. Crear trytond.conf para leer configuración de ahí. En /etc/tryton/trytond.conf .
  638.  
  639. -----------------------------------------------
  640. trytond.conf: para configurar este archivo podemos leer la siguiente configuracion:
  641. http://doc.tryton.org/4.2/trytond/doc/topics/configuration.html
  642. http://doc.tryton.org/3.8/trytond/doc/topics/configuration.html
  643.  
  644. [database]
  645. uri = postgresql://postgres:root@localhost/ # indicamos el usuario y el pass del propietario de la BD.
  646. path = /var/lib/tryton
  647.  
  648. [session]
  649. 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
  650.  
  651. ejecutando lo siguiente podemos cambiar el pwd:
  652.  
  653. python -c 'import getpass,crypt,random,string; print crypt.crypt(getpass.getpass(), "".join(random.sample(string.ascii_letters + string.digits, 8)))'
  654.  
  655.  
  656. Para crear una BD en postgres: sudo su - postgres_user
  657.  
  658. -----------------------------------------------
  659.  
  660. Error modulo party:
  661. -------------------
  662. https://tryton-rietveld.appspot.com/25561002/#ps80001
  663. se agregó el archivo order.py e init.py dentro de la carpeta model.
  664.  
  665.  
  666. Error al actualizar modulos:
  667. ----------------------------
  668. File "/trytond/modules/account-9e44200e22d6/account.py", line 57, in __register__
  669. cursor = Transaction().cursor
  670. AttributeError: 'Transaction' object has no attribute 'cursor'
  671.  
  672. 'Transaction' object has no attribute 'cursor'
  673.  
  674.  
  675. ===================================================================================================================================================
  676. Modulos
  677. =======
  678.  
  679. Videos ejemplos de configuracion basica:
  680.  
  681. Configuración básica Tryton Argentina
  682. https://www.youtube.com/watch?v=nnJIJFD7lrc
  683.  
  684. Gestión Cooperativa con Tryton
  685. https://www.youtube.com/watch?v=XydFRYlvaeQ
  686.  
  687. Balance Social Cooperativo con Tryton
  688. https://www.youtube.com/watch?v=aeBpHDsRwxI
  689.  
  690. Tryton Argentina: Facturación Electrónica
  691. https://www.youtube.com/watch?v=e1zvyiZg720
  692.  
  693.  
  694. Modulo para cooperativas argentinas:
  695. ------------------------------------
  696. https://github.com/gcoop-libre/account_coop_ar
  697.  
  698. git clone https://github.com/gcoop-libre/account_coop_ar.git
  699.  
  700.  
  701. Modulo del afip:
  702. ----------------
  703. https://github.com/tryton-ar/account_invoice_ar
  704. git clone https://github.com/tryton-ar/account_invoice_ar.git
  705.  
  706.  
  707. El modulo anterior del afip depende de el siguiente modulo party_ar:
  708. --------------------------------------------------------------------
  709. url: https://github.com/tryton-ar/party_ar
  710. git clone https://github.com/tryton-ar/party_ar.git
  711.  
  712.  
  713. ===================================================================================================================================
  714. partner.py --> agrega un campo en la tabla: license_days = fields.Integer('License Days')
  715. partner_tree.xml --> agrega el campo que se agregó en la tabla a la vista: <field name="license_days" />
  716.  
  717.  
  718. title Main Page
  719. -----
  720. //h1[@id="firstHeading"]/text()
  721.  
  722. base Detail Page 1
  723. ----
  724. //td[@class="l_box"]
  725.  
  726.  
  727.  
  728. ================================================================================================================================================
  729. tryton-errores
  730. --------------
  731. Error: ' ProgrammingError: relation "cash_cash" does not exist '
  732.  
  733. Traceback (most recent call last):
  734. File "/trytond/wsgi.py", line 47, in dispatch_request
  735. return endpoint(request, **request.view_args)
  736. File "/trytond/protocols/dispatcher.py", line 41, in rpc
  737. request, database_name, *request.rpc_params)
  738. File "/trytond/wsgi.py", line 39, in auth_required
  739. return wrapped(*args, **kwargs)
  740. File "/trytond/protocols/wrappers.py", line 107, in wrapper
  741. return func(request, pool, *args, **kwargs)
  742. File "/trytond/protocols/dispatcher.py", line 160, in _dispatch
  743. result = rpc.result(meth(*c_args, **c_kwargs))
  744. File "/trytond/wizard/wizard.py", line 287, in execute
  745. return wizard._execute(state_name)
  746. File "/trytond/wizard/wizard.py", line 318, in _execute
  747. result = self._execute(transition())
  748. File "/trytond/ir/module.py", line 581, in transition_upgrade
  749. pool.init(update=update, lang=lang)
  750. File "/trytond/pool.py", line 155, in init
  751. lang=lang)
  752. File "/trytond/modules/__init__.py", line 458, in load_modules
  753. _load_modules()
  754. File "/trytond/modules/__init__.py", line 422, in _load_modules
  755. load_module_graph(graph, pool, update, lang)
  756. File "/trytond/modules/__init__.py", line 245, in load_module_graph
  757. cls.__register__(module)
  758. File "/trytond/model/modelsql.py", line 196, in __register__
  759. table.add_fk(field_name, ref, field.ondelete)
  760. File "/trytond/backend/postgresql/table.py", line 333, in add_fk
  761. 'ON DELETE ' + on_delete)
  762.  
  763. ProgrammingError: relation "cash_cash" does not exist
  764.  
  765.  
  766.  
  767. Este error surgió porque estaba mal declarado el orden de las clases "Cash" y "Withdrawal" dentro del metodo Pool.register(..)
  768.  
  769. def register():
  770. Pool.register(
  771. Cash,
  772. Withdrawal,
  773. module='cash_register',
  774. type_='model')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement