PFC Fernando Vazquez Novoa Marcadores
PFC Fernando Vazquez Novoa Marcadores
PFC Fernando Vazquez Novoa Marcadores
An operating study of the Open Source ERP OpenERP from a user perspective,
configuration and module development has been performed in this final project.
Subsequently, the knowledge gained from the study has been applied to
implement it in the Asociación Clúster da Xeotermia Galega (ACLUXEGA).The
methodology consisted of the following steps: analysis, design, development,
implementation and start up.
Finally, a process cost analysis has been done.
RESUMEN
PALABRAS CLAVE:
-ERP
- OpenERP
-PostgreSQL
- Virtualización
-Asociación
En primer lugar quisiera agradecer a mi tutor Dr. Rafael Barrionuevo Giménez por
su ayuda, tiempo y paciencia durante este proyecto, ha conseguido transformar mi
incredulidad en realidad, confiando en que podía llevar a cabo lo que me propusiese.
Me gustaría expresar mi agradecimiento a la Asociación Clúster da Xeotermia
Galega, por haberme permitido llevar a cabo la implantación, y en especial a su
directora Belén Sío y a Manuel Castro, por su tiempo, su ayuda, conocimientos y una
convivencia inmejorable durante los últimos meses.
También a Félix Queiruga y a Ángel por su asesoramiento y ayudarme a entender
un poco mejor una pequeña parte de ese mundo para mí tan desconocido como es el
de la informática.
Quisiera acordarme también de aquellas personas que creyeron en el niño que
quería llegar a las estrellas, entre ellas Any, siempre en mi mente.
Finalmente, y ya para terminar, habría sido muchísimo más difícil, sino imposible,
llegar hasta aquí sin la ayuda de mis compañeros de carrera a lo largo de estos años,
muchas horas de biblioteca, de cafetería y de estudio en las mesas de los pasillos.
ÍNDICE
1.INTRODUCCIÓN 1
1.1.Objetivos 3
2.ERP 7
2.1.Definición 7
2.2.Beneficios 8
2.3.Características 11
2.4.Arquitectura 12
2.4.1.Perspectiva funcional 12
2.4.2.Perspectiva técnica 14
2.5.Historia y evolución 16
2.6.Diferencia entre CRM y ERP 21
2.7.Ventajas e inconvenientes en la implantación de un ERP 23
2.7.1.Ventajas 23
2.7.2.Inconvenientes 25
2.8.Tipos de ERP 26
2.8.1.Adaptabilidad 26
2.8.2.Propiedad de la licencia 27
2.8.2.1 Software propietario 27
2.8.2.2 Software libre 29
2.8.2.2.1 Alimentación económica de los ERP Opensource 31
2.8.2.3 Software SaaS 32
2.9.Costes de un ERP 33
2.9.1.Costes principales 34
2.9.2.Costes ocultos 35
2.9.3.Aplicación: Niveles de costes 36
2.10.Falsos mitos de los ERP 37
3.VIRTUALIZACIÓN DE SISTEMAS 39
3.1.Definición y tipos de máquinas virtuales 41
3.2.Creación de una máquina virtual 41
3.3.Utilización en el proyecto 45
4 .ESTUDIO DE OPENERP 49
4.1. Introducción 51
4.2. Descripción de OpenERP 51
4.3. Instalación 54
4.4. Descripción de módulos 57
4.5. Funcionamiento de OpenERP 58
4.5.1. Crear bases de datos 58
4.5.2. Instalar módulos 59
4.5.3 .Crear usuario y cambio de contraseña 59
4.5.4. Configuración de permisos 60
4.5.5 .Importar exportar datos 63
4.5.5.1. Exportar 63
4.5.5. 2 .Importar 64
4.6. Personalización de módulos 66
4.7. Modo gráfico 67
4.8. Programación 74
4.8.1.Introducción 74
4.8.2 Licencia 77
4.8.3 Sistema de archivos básicos 78
4.8.3.1 Archivo __init__.py 79
4.8.3.2. Archivo __openerp__.py 79
4.8.3.3. Archivo modulo_ejemplo.py 80
4.8.3.3.1 Atributos predeterminados 80
4.8.3.3.2 Campos básicos y relacionales 81
4.8.3.3.2.1 Campos básicos 81
4.8.3.3.2.2 Campos relacionales 83
4.8.3.3.3 Ejemplo 83
4.8.3.4 Archivo modulo_ejemplo.xml 86
4.8.3.4.1 Elementos de diseño 87
4.8.3.4.2 Menús 87
4.8.3.4.3 Vista kanban 88
4.8.3.4.4 Vista lista 88
4.8.3.4. 5 Vista formulario 89
4.8.3.4.6 Acción y resto de objetos 90
4.8.4 Instalación del módulo propio 91
8. CONCLUSIONES 169
9. BIBLIOGRAFÍA 173
ANEXOS
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS 179
ANEXO II: Guía descriptiva de módulos básicos de OpenERP 189
ANEXO III: Módulos programados 301
ANEXO IV: Tutorial OpenERP ACLUXEGA 591
1. INTRODUCCIÓN.
1. INTRODUCCIÓN
1. INTRODUCCIÓN
El punto de vista del cliente se puede definir como el siguiente: empresas que
buscan el mínimo gasto en costes y la máxima productividad de una manera eficiente.
Es por esta razón que existe una gran demanda por parte del cliente de la solución
que ofrece el ERP para poder tener un mejor control de la productividad y organización
de la empresa.
Desde el punto de vista de la empresa desarrolladora del ERP, existe una gran
demanda del software que implemente una solución adaptada y particularizada a cada
una de las empresas anteriormente mencionadas. Es por esto, que la empresa
desarrolladora del ERP necesita tener una buena metodología de implantación de este
software, de manera que este proceso se convierta en un mecanismo semiautomático,
ahorrando costes en tiempo y dinero.
Para ello es necesario saber con exactitud cuáles son las necesidades del
cliente con el fin de saber qué módulos del ERP instalar y cómo adaptarlos para que
se integren en totalidad con el funcionamiento de la empresa cliente. Por tanto parece
lógico pensar que tenga que haber profesionales de todos los ámbitos formados en
cuanto a la parte de consultoría de estos sistemas.
3
1. INTRODUCCIÓN
1.1 Objetivos.
Para llevar a cabo este proyecto fin de carrera se plantean los siguientes 4
objetivos:
4
2. ERP.
2. ERP
2. ERP
2.1 Definición
Los ERP (Enterprise Resource Planning) son una evolución de los sistemas
MRP, los cuales estaban enfocados únicamente a la planificación de materiales y
capacidades productivas. Los ERP disponen de herramientas para efectuar la
planificación de los trabajos en planta. Esta planificación se efectúa enfrentando los
requerimientos de materiales y capacidad de los productos a fabricar contra las
existencias y capacidades sin asignar. Los ERP más completos ofrecen módulos para
planificar a capacidad finita.
Los ERP son el núcleo de otras aplicaciones como pueden ser el CRM
(Gestión de las relaciones con los clientes), Data Mining (Conversión de datos en
información útil), etc.
7
2. ERP
8
2. ERP
invisible, las personas responsables puedan recuperar tiempo para otras gestiones.
También conlleva un mayor rigor y seguridad en todas las gestiones.
9
2. ERP
Beneficio 4: Seguridad.
1. Dimensión operacional.
10
2. ERP
2. Dimensión gestión.
3. Dimensión estratégica.
5. Dimensión organizacional.
2.3 Características.
11
2. ERP
2.4 Arquitectura
Desde una perspectiva funcional, debemos indicar que los sistemas ERP están
diseñados de forma modular. Cada uno de estos módulos o aplicaciones, tiene una
función específica. Cada organización determina que módulos necesita utilizar al
momento de implantar el ERP.
12
2. ERP
13
2. ERP
base de datos. Esta integración permite que los datos sean ingresados en un solo
lugar y toda la información relacionada con éstos sea actualizada automáticamente.
Desde una perspectiva técnica, los sistemas ERP actuales están diseñados y
construidos utilizando dos elementos técnicos, una arquitectura cliente/servidor para
su operación, y una base de datos relacional que es un conjunto de una o más tablas
estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por
un campo en común y que es la encargada de organizar todos los datos necesarios
para soportar las funcionalidades antes comentadas.
14
2. ERP
15
2. ERP
Algunas de las bases de datos más conocidas y utilizadas en los sistemas ERP
son:
- Oracle
- PostgreSQL
- MySQL
- SqlServer
Para el final de los años 50, los sistemas MRP brincaron las trincheras del
ejército para hallar cabida en los sectores productivos en especial de los Estados
Unidos de América. Las compañías que los adoptaron se dieron cuenta de que estos
sistemas les permitían llevar un control de diversas actividades como control de
inventario, facturación, y pago y administración de nómina.
16
2. ERP
En las décadas de los años 60 y 70, los sistemas MRP evolucionaron para
ayudar a las empresas a reducir los niveles de inventario de los materiales que
usaban, ya que al planear sus requerimientos de insumos con base en lo que
realmente les demandaban, los costes se reducían, ya que se compraba sólo lo
necesario.
17
2. ERP
18
2. ERP
transacciones, por lo tanto, sus productos tienen una aplicación más amplia.
Además de la funcionalidad orientada a los proyectos que ciertos proveedores,
como Epicor y Deltek, les ofrecen a las empresas de servicios profesionales,
los proveedores de ERP para servicios, como Lawson en el sector de la
asistencia sanitaria y Unit 4 Agresso en el sector público, proporcionan una
funcionalidad operativa completamente integrada para aquellas empresas que
no trabajan por proyecto.
Las empresas que decidan evaluar soluciones para la industria de servicios, deben
identificar su estrategia específica del negocio. Las empresas de servicios más
pequeñas generalmente prefieren las mejores soluciones porque tienen un precio
bastante abordable (por lo general se ofrecen mediante un modelo de proveedor de
servicios de aplicación [ASP]) y pueden integrarse fácilmente con la infraestructura de
tecnología de la información (TI) existente. Normalmente, las empresas de servicios
más pequeñas cuentan con un conjunto financiero de proveedores como Microsoft o
Sage, que usan como componente de soporte, así que buscan una solución específica
para la industria que les proporcione la funcionalidad que necesitan para automatizar
completamente sus procesos. Si bien la inversión inicial que implica esta opción es
menor, el nivel de integración entre estos sistemas varía de una aplicación a otra
(incluyendo el nivel de mapeo de los campos, el uso del procesamiento en tiempo real
y el uso de procesamiento en lotes). Asimismo, la integración lista para usarse que
ofrecen los proveedores, casi siempre se limita a cierto número de sistemas
financieros, conjuntos de gestión de las relaciones con los clientes (CRM) y
herramientas de gestión de proyectos. Por consiguiente, los usuarios finales deben
tener extremo cuidado al identificar la solución que mejor se adapta a sus
necesidades.
Cuando se trata de empresas que buscan una solución integrada, los proveedores
de ERP han extendido su oferta para que abarque una funcionalidad centrada en los
productos y específica para la industria, aunada a capacidades maduras de soporte.
Pero estos proveedores siguen enfrentándose al reto de ofrecer las mejores
capacidades específicas de la industria, ya que muchos de sus productos se
desarrollaron en fechas posteriores (y en mucho caso se agregaron a la arquitectura
ERP que crearon para la industria de fabricación). Si bien estos sistemas tienden a
presentar menos problemas de integración, no es muy probable que sean muchos los
proveedores que ofrezcan la misma amplitud de funcionalidad que ofrecen los
proveedores de las mejores soluciones. No obstante, los proveedores de ERP son, por
lo general, mejores para ofrecer capacidades financieras y contables, además de que
tienen más experiencia en el servicio del mercado medio y el mercado empresarial.
19
2. ERP
Sin embargo, la ERP para empresas de servicios requiere una funcionalidad para
llevar a cabo operaciones y transacciones puras. Los mercados verticales, como
asistencia sanitaria, educación superior, gobierno, servicios financieros, hotelería y
organizaciones sin fines de lucro, entran en la categoría de ERP para servicios, ya que
los servicios que ofrecen son principalmente operaciones y transacciones (aunque a
veces estas industrias exigen funcionalidad orientada a los proyectos). Estos
mercados demandan funcionalidad de soporte estándar (como los módulos de
recursos humanos [RRHH] y finanzas) para establecer una interfaz con sus
necesidades específicas para la industria. Por consiguiente, varios proveedores de
ERP han desarrollado sistemas integrados que ofrecen soluciones de punta a punta a
varios mercados verticales. Existen varios ejemplos de industrias de servicio que están
en crecimiento y que son el blanco de los grandes proveedores de ERP.
Las empresas que busquen el eslabón perdido entre su sistema financiero y sus
requisitos específicos para la industria, deben pensar en los proveedores de las
mejores soluciones que tengan mucha experiencia en su segmento vertical del
mercado. En la mayoría de los casos, estos proveedores cuentan con productos que
se integran con los sistemas dispares y consolidan satisfactoriamente los procesos de
negocios de las empresas de servicios. Los usuarios que busquen reemplazar o
actualizar sus sistemas actuales, deben pensar en recurrir a los proveedores de ERP,
ya que pueden ser ellos quienes les proporcionen la funcionalidad específica de la
industria que requieren, dentro de un sistema completamente integrado. Asimismo, a
medida que los proveedores de ERP sigan aumentando su participación en el
mercado de servicios, los proveedores grandes de ERP desarrollarán funciones
específicas para la industria más fuerte y generarán un panorama más competitivo en
20
2. ERP
ERP y CRM son dos términos que muy a menudo se vinculan a algunos
conceptos donde los límites que incluyen cada uno no están tan claros. Esto puede
hacer que sea difícil para una persona sin conocimientos técnicos comprender con
claridad estos conceptos.
En términos simples, ERP y CRM son muy similares, pero diseñados para
diferentes propósitos. Ambos son aplicaciones que permiten a los empleados
compartir información y coordinar toda la organización además de dar acceso a los
ejecutivos a los informes y pronósticos basados en los datos recogidos en estos
sistemas.
En principio, las empresas sólo pueden crecer sus ganancias en dos formas:
Aumentar las ventas o reducir los costos. Estas pueden ser consideradas como dos
fuerzas opuestas, lo que requiere dos estrategias completamente diferentes.
Por esta razón, tiene sentido para las organizaciones gestionar estas dos fuerzas
por separado, es decir:
21
2. ERP
Una vez que la compañía ha alcanzado cierta masa crítica, llegan a un punto
donde la reducción de costos se convierte en una forma eficaz de generar ingresos(Es
más fácil de reducir costos en un 5% más que para aumentar las ventas en un
5%).Otro de los retos presentados por el crecimiento es la falta de organización que
puede conducir a costosos errores y la insatisfacción de los clientes. Mantener un
cliente antiguo es 5 veces más fácil que conseguir uno nuevo.
Este suele ser el momento en que una empresa va a empezar a buscar un sistema
ERP.
Por lo general los ERP se han centrado estrictamente en las áreas operativas de la
empresa, tales como Finanzas, Recursos Humanos, Producción y Gestión de Pedidos.
Entre las ventajas de un ERP podemos encontrar:
Para los ejecutivos un sistema ERP puede dar una visión clara de la situación
de la organización, y apoyar en la localización de oportunidades para la mejora
en la eficiencia y la productividad. Aquí es donde el valor real de ERP puede
verse.
22
2. ERP
A pesar de que los sistemas ERP – en el sentido tradicional del término – han sido
utilizados en el contexto de procesos operativos internos, los sistemas modernos
también han cruzado a otras áreas, tales como los que tradicionalmente cubiertas por
un sistema de CRM.
Conclusión.
Es decir que pese a que son sistemas similares están diseñados para distintos
fines. Cuando usar un CRM o un ERP dependerá principalmente del grado de
madurez de la empresa, sus operaciones y los beneficios que puede obtener en cada
caso respectivamente.
Por otra parte un ERP puede no tener un modulo CRM, pero si actuar como tal en
su conjunto (CRM no es software, es política de gestión de relación con los clientes). A
la hora de elegir uno, hay que considerar las ventajas que ofrece uno u otro a la hora
de gestionar la relación con los clientes existentes o que valor añadido puede ofrecer.
La trazabilidad por ejemplo puede mejorar la garantía y calidad del producto.
Entre los factores de éxito del mismo se pueden citar: la mejora de los
procesos, involucramiento del personal, capacitación, cultura, aceptación y selección
adecuada, etc.; pero la clave está en el compromiso y la dedicación que merece una
inversión de este tipo, que puede llevar a la empresa a la operatividad y eficiencia
financiera o a la quiebra.
2.7.1 Ventajas
23
2. ERP
- Reducción del tiempo de ciclo y de entrega. Este beneficio se logra, por una
parte, al minimizar el proceso de recuperación, y por otra, al realizar informes sobre los
retrasos de producción o entrega.
- Comercio electrónico y e-business. Por una parte esto es posible debido a que la
infraestructura tecnológica de los sistemas ERP soportan procesos en Internet, lo que
es básico para el comercio electrónico, y por otra parte, a que la adopción de los
sistemas ERP desarrolla una cultura de colaboración entre negocios.
24
2. ERP
-Mejoras en cuanto al servicio al cliente y atención de los mismos, Así como mayor
competitividad conforme haya cambios en el medio.
2.7.2 Inconvenientes
Hay que prestar atención a los costes indirectos. Los vendedores del ERP
pueden cargar sumas de dinero para la renovación de sus licencias anuales, que no
está relacionado con el tamaño del ERP de la compañía o sus ganancias. Además,
Una vez que el sistema esté establecido, los costos de los cambios son muy altos
(reduciendo la flexibilidad y las estrategias de control).
25
2. ERP
-Los ERP son vistos como sistemas muy rígidos, y difíciles de adaptar al flujo
específico de los trabajadores y el proceso de negocios de algunas compañías.
2.8.1 Adaptabilidad.
En general hay que elegir entre dos aproximaciones diferentes para un ERP. El
software a medida o solución estándar. La primera aproximación significa que se va a
desarrollar un programa a medida, prácticamente de cero y la segunda es que ya está
desarrollado y simplemente hay que adaptarlo. A veces podría ser difícil decidirse,
pero existen un dicho muy usado en la ingeniería del software: "No reinventes la
rueda". Si ya existe una solución ya parecida funcionando en empresas de
competencia y les va bien con ella, sería muy recomendable o al menos hay que
tenerla de referencia.
26
2. ERP
Habitualmente es muy difícil elegir una aplicación concreta para el negocio por
coste o simplemente por los requisitos, en este caso todas las aplicaciones son
diferentes, todos los comerciales intentan vender su producto. Por lo que elegir una
aplicación estándar es complicado.
En resumen las aplicaciones a medida son mejores, más caras y más lentas
además de la dependencia a la empresa en mayor medida. Las aplicaciones
modulares son más baratas, más rápidas de implantar pero más difíciles de elegir.
Los sistemas propietarios son aquellos que requieren del pago de una licencia
para poder ser utilizados. Esta licencia se suele pagar por número de puestos
27
2. ERP
28
2. ERP
- Ilegalidad de copias sin licencia para el efecto. Es ilegal hacer copias del
software propietario sin antes haber contratado las licencias necesarias.
Una buena alternativa a los ERP propietario son los sistemas ERP Opensource
o de software libre. Aunque se tiende a pensar: “si es libre es gratis”, esto no es del
todo cierto, así como no es cierto tampoco que todo software Opensource esté hecho
por un grupo de gente sin ánimo de lucro. Las empresas desarrolladoras de este tipo
de sistemas suelen tener una comunidad de “partners” que ofrecen servicios de
implantación, configuración, parametrización y formación de usuarios en sus
aplicaciones ERP. Además, ofrecen para nuevos partners o clientes que desean
implantar la solución de forma independiente (en su propia empresa, por ejemplo),
unos cursos de entrenamiento o capacitación. Sin estas opciones es muy difícil llevar a
cabo la configuración, parametrización e implantación del sistema, ya que podemos
estar mucho tiempo averiguando su funcionamiento interno, pues suelen ser muy
complicados de modificar/adaptar.
29
2. ERP
puede elegir que otra empresa le dé el soporte sin cambiar de aplicación. En cambio,
con aplicaciones propietarias, se depende del proveedor, que puede subir los precios
cuando y cuanto quiera o no hacer las modificaciones que le pidas, porque conoce que
cambiar el sistema de información en tu negocio acarrearía unos costes desorbitados.
Ventajas
-Se tiene una licencia. Siempre será mejor usar un producto Opensource a usar
uno propietario pirateado.
Inconvenientes
- Puede cambiar la licencia, por ejemplo a una cerrada, motivado por la falta de
beneficios.
30
2. ERP
Subvenciones.
Certificación de partners.
Para que la comunidad vaya creciendo, se va creando una red de partners. Los
partners suelen ser empresas que, bajo la colaboración conjunta de toda la red,
realizan la implantación de la herramienta y otros servicios derivados de ello. Los
partners, por su condición de serlo, pagan una cantidad económica de la cual se
beneficia toda la comunidad. A cambio, tiene derecho a las mejoras y actualizaciones
de la herramienta que la red de partners vaya desarrollando.
Soporte.
Documentación.
Para llevar a cabo todas estas tareas y otras, los desarrolladores o empresas
dedicadas a ello pueden adoptar diferentes roles como los que siguen:
31
2. ERP
Ventajas.
32
2. ERP
-Acceso sin límites. Con alquiler de un ERP el acceso se puede realizar desde
cualquier lugar del mundo, a cualquier hora y desde cualquier terminal, mientras exista
una conexión a Internet. Las soluciones tradicionales son mucho más limitadas.
Con todas estas ventajas el ERP en modo alquiler crecerá año tras año hasta
superar las soluciones clásicas de ERP. De momento son soluciones que están
enfocados a pequeñas y medianas empresas y que no se alejen mucho del estándar.
Para soluciones más complejas a día de hoy aun se requiere un ERP más
personalizable, pero es algo discutible. También es cierto que los grandes como
Oracle, Microsoft o SAP mediante adquisiciones estratégicas están migrando sus
soluciones a sistemas SaaS.
Inconvenientes.
33
2. ERP
2.9.1.2 Software.
Los costes del Software son marcados por los fabricantes estando íntimamente
ligados a los proveedores de servicios. Mucha gente del sector piensa que en el futuro
el coste de las licencias será nulo siendo los beneficios de las empresas distribuidoras
los servicios proporcionados.
2.9.1.3 Servicios.
34
2. ERP
35
2. ERP
- Análisis de los datos: Los datos del ERP, generalmente, tienen que estar
cruzados con datos externos. Actualizar los datos en una gran empresa es muy difícil,
es pues necesario efectuar un programa interno que haga la actualización diaria al fin
del día.
- Depresión post ERP: Algunas empresas, ya sea por no estar habituadas a las
nuevas funcionalidades del ERP, por no conseguir cambiar sus antiguos métodos de
trabajo, o por no tener la noción de los logros provenientes del ERP, acaban
abandonando el proyecto de implantación antes de ser finalizado.
Son éstos los costes que más hay que vigilar pues no suelen comentarse
inicialmente o se les suele dar la suficiente importancia. Aún siendo algunos costes
indirectos es importante ser consciente de todos ellos para evitar futuras sorpresas.
De 0 a 500 euros. Las soluciones software ERP que se pueden encontrar por
este precio que se podrían considerar gratuitas son aquellas donde se
reutilizan antiguos servidores y en general se intenta hacer todo por uno
mismo. Se realiza la adaptación, la formación y el volcado de datos. Es la
propia empresa la que realiza toda la tarea de implantación para ahorrar una
consultora informática. Para ello se necesitan ciertos conocimientos
informáticos y mucha paciencia. Posiblemente son proyectos viables para
empresas de nueva formación y que no tienen ningún software ERP.
De 500 a 5000 euros. Existen soluciones bastante económicas de alquiler o
muy verticales que enfocados a ciertas empresas pueden tener un coste
bastante contenido. Las mismas soluciones ERP de software libre podrían
costar una cantidad parecida con implantación profesional y cierta formación.
Son soluciones perfectas para pequeñas y medianas empresas que quieren
gastarse algo de dinero.
De 5000 a 20.000. En este tramo ya se puede acceder a muchas soluciones
profesionales con formación e implantación por parte de una consultora de un
software ERP de cierto renombre nacional. Por ejemplo el A3 ERP rondaría
ese precio. Aunque este último más cerca de los 20.000 que de los 5.000
euros.
36
2. ERP
Como se puede apreciar estos precios son bastante relativos y depende mucho del
sector de la empresa. Las tres opciones son perfectamente validas para algunas
pequeñas y medianas empresas que quiere acceder a un ERP. El precio no es un
buen criterio a la hora de elegir un ERP y incluso la opción de 0 euros puede ser
perfectamente válida. Cuanto más caro no significa mejor, se puede acabar con un
software complejo en el que no se utilicen ni la mitad de cosas.
Este nivel, más profesional es el que permite acceder a las grandes soluciones
ERP de marcas SAGE, Navision, SAP Business One, Expertis... etc. Es aquí donde se
mueven la mayoría de las medianas empresas. El precio depende muchísimo de la
cantidad de licencias del software que se vayan a necesitar, de los módulos
requeridos, de las adaptaciones a realizar y de la formación. Por ejemplo si son 5
personas y se van a utilizar 2 módulos es muy probable que no se pase de los
30.000€. En cambio si son 20 personas y se va a utilizar de todo y además de ello hay
que realizar muchos cambios la cifra se acercara a los 100.000 €. Quizás por ello es
crítico simplificar al máximo el proceso de la empresa así como los usuarios que va a
tener acceso al sistema ERP para que el presupuesto del proveedor sea lo más
ajustado posible.
Aquí aunque habrá que estar involucrado al máximo todo el trabajo vendrá
hecho. Darán formación, soporte, realizaran todos los cambios especificados en el
presupuesto, implantarán el sistema, configurarán las máquinas cliente... etc. Esta
opción es perfecta para medianas empresas que saben perfectamente los beneficios
que ofrece un ERP y no quieren arriesgar.
Aún así hay que tener precaución, pues con este tipo de soluciones existe un
contrato de mantenimiento que suele ser una cantidad anual nada despreciable.
Normalmente el mantenimiento, futuros cambios, soporte, actualizaciones superan con
creces el coste inicial del proyecto durante la vida útil del mismo
En este punto resulta complejo nombrar ninguna cantidad ya que no la hay. Tal
y como la mayoría de los datos apuntan el mejor es SAP, seguido de soluciones de
desarrollo propio. El precio dependerá del número de usuarios concurrentes que
acceden al sistema al mismo tiempo, de la infraestructura y otros factores. Pero desde
luego son soluciones que alcanzan importantes costes para cualquier empresa de
gran tamaño. Por algo la empresa SAP esta en el top 10 de los fabricantes de software
del mundo, detrás de Microsoft, IBM y Oracle.
Existen ciertos mitos sobre el Software ERP, sobre los cuales sería importante
reflexionar, aunque se podría definir o unir junto a reglas imprescindibles que se
deberían de conocer a la hora de elegir o implantar un ERP. Estos criterios no son
absolutos, ni siempre son objetivos, pero se incluyen en este proyecto porque además
son muy interesantes.
- Cuanto más caro mejor. No tiene porque ni debe ser así. El precio no es el
principal criterio a la hora de elegir un ERP. Quizás sea mejor un ERP simple y
barato, pero que a su vez resuelva toda la problemática de la empresa y que sea lo
suficientemente escalable. Por el otro lado se puede tener un producto caro, complejo
37
2. ERP
38
3. VIRTUALIZACIÓN DE
SISTEMAS.
3. VIRTUALIZACIÓN DE SISTEMAS
3. Virtualización de sistemas.
En este apartado se detalla cómo crear una máquina virtual. Al final del mismo
el resultado será un ordenador con sistema operativo de base (Anfitrión) Windows con
un sistema huésped Ubuntu, de tal forma que al tener encendida la máquina virtual
podrá operarse con ambos al mismo tiempo y de manera independiente. Y todo ello
41
3. VIRTUALIZACIÓN DE SISTEMAS
con la ventaja de que ambas pueden estar comunicadas entre sí para la compartición
de archivos o el reenvío de puertos.
42
3. VIRTUALIZACIÓN DE SISTEMAS
Hay que tener cuidado seleccionar la versión correcta. Por ejemplo, si se desea
instalar la versión 12.04 LTS para 64 bits habrá que seleccionar que la máquina virtual
tiene esas características, porque si no cuando se quiere instalar el nuevo sistema
operativo, este aporta el siguiente error por considerar que el propio equipo no las
cumple:
This kernel requires an x86-64 CPU, but only detects an i686 CPU, unable to boot
A continuación hay que seleccionar la memoria RAM a asignar. Hay que tener
en cuenta que la memoria que se va a utilizar para la máquina virtual es parte de la
memoria de la máquina real y si se elige demasiada el rendimiento tanto de la
máquina real como la virtual se verán ralentizados. VirtualBox recomienda en este
caso utilizar 512 MB pero esa cantidad puede aumentarse si las características del
equipo lo permiten o si así se desea. De todas formas, una vez creada la máquina este
valor puede cambiarse.
43
3. VIRTUALIZACIÓN DE SISTEMAS
En este caso se decide crear un disco duro virtual ahora .Por tanto lo siguiente
es seleccionar si el nuevo archivo de unidad de disco duro virtual debería crecer según
se use (reserva dinámica) o si debería ser creado con su tamaño máximo (tamaño
fijo).
44
3. VIRTUALIZACIÓN DE SISTEMAS
45
3. VIRTUALIZACIÓN DE SISTEMAS
cometer el típico error de principiante trabajar con la seguridad de que conserva todo
lo anterior.
Figura 3. 7 Tres máquinas virt uales con dos SO distintos y con distintas versiones de
OpenERP.
46
3. VIRTUALIZACIÓN DE SISTEMAS
duplicidades de información. .
También sirve, para que cuando se han creado módulos personalizados poder
comprobar si funciona en ambas versiones. En este proyecto se ha trabajado desde
un principio con la versión 7 con lo que ello no ha representado un problema. Pero a
modo general, una empresa que ya tuviese instalado en programa en su versión 6.1
puede comprobar si funciona en la nueva versión o si hay que adaptarlo, porque
siempre puede haber ciertos conflictos con las vistas o los campos relacionales,
facilitando por tanto la migración de una versión a otra.
47
3. VIRTUALIZACIÓN DE SISTEMAS
48
4. ESTUDIO DE
OPENERP.
4. ESTUDIO DE OPENERP
4. ESTUDIO DE OPENERP.
4.1 Introducción
Sin embargo lo que se ha hecho en este caso es hacer un estudio del un ERP
en concreto, que permita no solo tener un conocimiento detallado del funcionamiento
como cliente del mismo, si no que permita a nivel desarrollador asumir las mayores
funciones posibles.
51
4. ESTUDIO DE OPENERP
Es un sistema de código abierto, que cumple las 4 libertades del software libre,
basado en estándares abiertos y desarrollado con plataformas libres. Además, posee
una importante comunidad de desarrolladores que están constantemente ampliando y
mejorando el proyecto (amplia documentación, foros, cvs, listas de correo, desarrollo
comunitario y traducciones en Launchpad, etc.).
52
4. ESTUDIO DE OPENERP
El programa es Software Libre liberado bajo licencia GPL, lo que le confiere varias
ventajas:
Flexibilidad en la implementación.
- Código abierto: al ser software libre, se puede disponer del código para realizar
cualquier mejora sobre los módulos ya existentes, o crear uno nuevo adaptado a sus
necesidades.
53
4. ESTUDIO DE OPENERP
4.3 Instalación.
54
4. ESTUDIO DE OPENERP
55
4. ESTUDIO DE OPENERP
localhost:8069
192.168.0.4:8069
56
4. ESTUDIO DE OPENERP
Por tanto lo que se ha hecho ha sido instalar todos los módulos básicos y
elaborar una guía descriptiva con todos ellos que se incluye como ANEXO II. La
metodología simple, aunque laboriosa, consistió en acceder objeto a objeto de la
herramienta realizando capturas de pantalla para comprobar su funcionamiento,
creando datos ficticios en los casos necesarios.
57
4. ESTUDIO DE OPENERP
Vista: Las vistas describen como es mostrado cada objeto, como y donde es
dibujado cada uno. Hay 6 tipos de vista distintos en esta versión: Kanban, Lista,
Formulario, Calendario, Gantt y Gráfico. No es necesario que un objeto las tenga
todas, pero al menos si la vista Lista o árbol, que será de la que se puedan importar
los datos y la vista Formulario que será en la que se cubran manualmente los datos.
Siguiendo las instrucciones de pantalla se crea una nueva base de datos con el
nuevo nombre y la traducción que corresponda, en este caso español. Desde este
apartado también se podrán borrar o duplicar bases de datos. Se hace exactamente
igual que para crear la primera.
58
4. ESTUDIO DE OPENERP
59
4. ESTUDIO DE OPENERP
Para configurar los permisos de los módulos propios, o para configurar de una
forma más exacta los permisos de un usuario habrá que hacerlo desde el objeto
grupos, que es el que aparece, una vez han sido activadas las características técnicas,
encima de usuarios. (Nota: Aunque pueda parecer una obviedad, hay que tener
cuidado de que el usuario en que se han activado las características técnicas sea con
el que se está trabajando, en caso contrario habría que cerrar sesión e iniciarla con
dicho usuario).
Pero para llegar a este paso previamente habrá que conocer el nombre del
objeto a asignar permisos. No el nombre que se ve, el cual puede ser una traducción o
no coincidir exactamente, si no el nombre con el que está programado Eso puede
hacerse de dos formas, viéndolo en el archivo programado, algo que no es muy
recomendable sin los conocimientos suficientes o activando el modo desarrollador.
Esto se hace en la pestaña que se abre a la derecha, en la misma de cerrar sesión
pulsando “Acerca de OpenERP” y en la ventana. A efectos prácticos de uso normal
solo se activará este modo para realizar esta tarea y para las modificaciones en modo
gráfico.
60
4. ESTUDIO DE OPENERP
Con este modo activado se podrán hacer múltiples tareas, pero la más
importante será conocer el nombre de los objetos. En la vista formulario, bastará con
ponerse encima de un campo y ahí se especifica el nombre del campo y del objeto.
Por ejemplo para conocer el nombre del objeto Empleados se pone el cursor encim a
de cualquiera de los campos y se ve en el recuadro. Tal y como puede apreciarse en
la imagen el nombre del objeto “empleados” es “hr.employee”.
61
4. ESTUDIO DE OPENERP
En “permisos de acceso” será donde haya que poner el nombre del objeto, en
este caso para poner un ejemplo se ha elegido el del modulo propio “curso.ficha”
aunque al introducirlo ya pone automáticamente “Ficha”. En principio habrá que ir
objeto a objeto, no podrá seleccionarse un módulo completo. Esto presenta como
inconveniente lo laborioso que resulta, pero por otra parte la ventaja de poder
configurar los permisos de “leer”, ”escribir”, ”crear” y “eliminar” según convenga.
Además no será necesario crear un grupo por cada módulo, pueden insertarse
objetos de cualquier parte y así hacerlo todo de una vez.
62
4. ESTUDIO DE OPENERP
4.5.5.1. Exportar.
63
4. ESTUDIO DE OPENERP
64
4. ESTUDIO DE OPENERP
El archivo habrá que guardarlo como “CSV (delimitado por comas)” y será el
que se importe.
Cuando se importe habrá que tener cuidado con las opciones de importación
porque si no puede dar lugar a errores. Se utilizarán las que aparecen en la imagen
donde habrá que seleccionar en codificación “Windows 1252” y en separador “punto y
coma”.
65
4. ESTUDIO DE OPENERP
Es por tanto fundamental saber que se quiere modificar y para qué antes de
hacer cualquier cambio. A priori el modo gráfico puede parecer el más sencillo, pero
solo para pequeños cambios, cuando se trata de cosas importantes no solo llevará
más tiempo si no que quedará peor, por tanto compensa programar.
66
4. ESTUDIO DE OPENERP
porque cuando se busca agrupar campos por ejemplo se complica. Para hacer
modificaciones que vayan a utilizarse siempre también será mejor hacerlo
programando, esto puede hacerse directamente sobre los módulos de OpenERP o
creando propios que los agreguen, lo cual será más recomendable.
Ahora se explicará con una breve serie de pasos como crear objetos dentro del
menú de un módulo existente, análogamente también el cómo hacer para que formen
un módulo propio en el paso 4.
El objetivo es insertar el objeto “rutas” dentro del módulo flota con un menú
propio.
67
4. ESTUDIO DE OPENERP
Flota
x_menurutas
x_rutas
campo x_codigo
campo x_nombre
campo x_salida
campo x_llegada
campo x_distancia
campo x_paradas
campo x_indicencias
Un detalle que hay que tener claro es que el nombre del modelo no tiene nada
que ver con el nombre de los menús que surjan a partir de él. Ahora se pulsa en crear
menú.
68
4. ESTUDIO DE OPENERP
4. Ese nombre que se le ha puesto es el del rango más bajo, el nombre con el
que se verá al objeto. Ahora se pulsa el menú padre y crear para crear el menú que
aparece en violeta, que en este caso será “Menú Rutas” y a su vez a este habrá que
asignarte otro menú padre que será el nombre de uno de los módulos existentes o si
se quisiese crear un módulo sería en este punto donde se crearía, del mismo modo.
En este caso se le asignará a al existente “Flota”.
69
4. ESTUDIO DE OPENERP
las propiedades que tengan, tipo de campo, si es obligatorio, tamaño, con cual se
relacionan, si pertenecen a un grupo etc.
70
4. ESTUDIO DE OPENERP
7. Para añadir más elementos debajo del menú rutas se crea un nuevo objeto,
por ejemplo, Mis camiones con un menú camiones y ya no se crearían los menús
padre, se asignaría directamente el menú rutas. Esto puede hacerse desde objetos ya
creados, para tener el mismo objeto en dos módulos distintos.
71
4. ESTUDIO DE OPENERP
Por tanto:
Se pulsa editar.
72
4. ESTUDIO DE OPENERP
10. Para crear las vistas y que aparezcan todos los campos del formulario en
la vista lista hay que ir a Configuración/interfaz de usuario/vistas/crear.
Donde pone field name= “name” hay que sustituirlo por los campos que se
quiere que aparezcan.
73
4. ESTUDIO DE OPENERP
4.8 Programación.
4.8.1 Introducción.
74
4. ESTUDIO DE OPENERP
Una vez instalado, OpenERP tiene una estructura modular permitiendo añadir
módulos según vaya siendo necesario.
75
4. ESTUDIO DE OPENERP
76
4. ESTUDIO DE OPENERP
4.8.2 Licencia.
La licencia pública general de Affero (en inglés, Affero General Public License,
también Affero GPL o AGPL) es una licencia copyleft derivada de la Licencia Pública
General de GNU diseñada específicamente para asegurar la cooperación con la
comunidad en el caso de software que corra en servidores de red. La Affero GPL es
íntegramente una GNU GPL con una cláusula nueva que añade la obligación de
distribuir el software si éste se ejecuta para ofrecer servicios a través de una red de
ordenadores.
Usar la GPL de GNU exige que todas las versiones mejoradas que se
publiquen sean software libre. Esto significa que el programador no correrá el riesgo
de tener que competir con una versión modificada privativa de su propio trabajo.
Un aspecto crucial del software libre es que los usuarios tienen la libertad de
cooperar. Es absolutamente esencial que a los usuarios que deseen ayudarse entre sí
se les permita compartir sus correcciones de errores y mejoras con otros usuarios.
Algunos han propuesto licencias alternativas a la GPL que requerirían que las
versiones modificadas fueran supervisadas por el autor original. Mientras el autor
original permaneciera atento a las necesidades de mantenimiento, esto podría
funcionar bien en la práctica; pero si el autor deja de hacerlo (en mayor o menor
medida) para dedicarse a otras tareas o no atiende a las necesidades de todos los
usuarios, el procedimiento fracasa. Dejando a un lado los problemas prácticos, este
planteamiento no permite a los usuarios ayudarse entre s í.
77
4. ESTUDIO DE OPENERP
################################################################# #############
# but WITHOUT ANY WARRANTY; without even the imp lied warranty of
# You should have received a copy of the GNU Affero General Public License
##############################################################################
Para crear un módulo, lo primero que hay que hacer es crear una carpeta con
su nombre, que será pegada en el directorio “addons” de la instalación de OpenERP,
en una instalación habitual estaría aquí:
Cada carpeta que contiene un módulo contiene, como mínimo, cuatro archivos:
__init__.py
__openerp__.py
modulo_ejemplo.py
modulo_ejemplo.xml
78
4. ESTUDIO DE OPENERP
Como se puede observar por las extensiones habrá que crear tres archivos
python y uno XML. Para hacerlo, en este proyecto se ha utilizado el editor de texto
“Notepad++” que permite abrir los archivos en formato texto sin cambiarles la
extensión, además de proporcionar herramientas que facilitan la programación. A
efectos prácticos, lo que habrá que hacer será adaptar el código a las necesidades
que se quieran cubrir.
El archivo __init__.py sirve para importar los otros archivos .py que tenga el
módulo, en otras palabras sirve para cargarlo. A continuación se adjunta la sintaxis
pero sin la licencia que iría en medio de las dos líneas:
import modulo_ejemplo
update_xml: Lista de los archivos XML que se cargaran con la instalación del
modulo.
79
4. ESTUDIO DE OPENERP
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["modulo_ejemplo.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
Aunque hay más, estos son los más básicos y los que se han empleado para
este proyecto:
80
4. ESTUDIO DE OPENERP
Los objetos en Open ERP contienen campos los cuales permiten introducir
datos en la base de datos, estos campos van definidos en el atributo columns. Hay dos
tipos de campos, los básicos y los relacionales, los básicos solos sirven para introducir
datos básicos y los relacionales (ver tipos de relación) permiten establecer relaciones
entre los objetos.
Sintaxis:
Sintaxis:
Al igual que los números enteros, el tipo real está limitado superior e
inferiormente según la cantidad de memoria que haya disponible para almacenarlo.
Otro elemento importante a tener en cuenta en este tipo de datos es la precisión con
que pueden representar número con decimales (cuantos decimales se pueden
representar), esta característica también está directamente relacionada con la cantidad
de memoria disponible para almacenar un valor real.
Sintaxis:
81
4. ESTUDIO DE OPENERP
Sintaxis:
Sintaxis:
Sintaxis:
Sintaxis:
binary: A efectos prácticos será aquel desde el cual puedan insertarse una
imagen o un archivo de todo tipo.
Sintaxis:
Cuando se trate de una imagen además habrá que poner en la vista formulario:
widget='image'
widget='url'
selection: Un campo que permite al usuario hacer una selección entre varios
valores predefinidos.
Sintaxis:
fields.selection((('n','Unconfirmed'),
('c','Confirmed')),'Field Name' [, Optional Parameters]),
82
4. ESTUDIO DE OPENERP
Sintaxis:
Sintaxis:
fields.one2many('other.object.name', 'Nombre campo relación', 'Nombre de
este campo', optional parameters)
4.8.3.3.3 Ejemplo.
class modulo_ejemplo_objeto(osv.osv):
_name = 'modulo_ejemplo.objeto'
_description = 'Objeto'
_columns = {
83
4. ESTUDIO DE OPENERP
'seleccion': fields.selection((('uno','UNO'),('dos','DOS')),'Campo
selección', required=False),
'relacion_id':
fields.many2one('modulo_ejemplo.objetorelacion','Campo relación'),
'relacionlista_ids':
fields.one2many('modulo_ejemplo.objetorelacionlista','name_id','Ejempl
o de one2many',help="Se obliga a crear many2one"),
modulo_ejemplo_objeto()
class modulo_ejemplo_objetorelacion(osv.osv):
_name = 'modulo_ejemplo.objetorelacion'
_rac_name='name'
_columns = {
84
4. ESTUDIO DE OPENERP
modulo_ejemplo_objetorelacion()
class modulo_ejemplo_objetorelacionlista(osv.osv):
_name = 'modulo_ejemplo.objetorelacionlista'
_columns = {
'name_id': fields.many2one('modulo_ejemplo.objeto','Many2one
obligado',help="obligado por one2many, no necesario aparezca en
vista"),
modulo_ejemplo_objetorelacionlista()
85
4. ESTUDIO DE OPENERP
El cuarto archivo, tal y como indica su extensión es en formato XML, por tanto se
trata de un lenguaje de programación distinto. El archivo puede abrirse desde
cualquier explorador de internet (Explorer, Chrome, Firefox…) y su función dentro de
OpenERP es la de estructurar las vistas. Tendrá tres componentes principales, los
menús, las vistas y las acciones.
Los menús se colocan en dos sitios, al principio del archivo el que corresponde el
nombre del módulo y a los menús y al final de cada acción de cada objeto,
incluyéndose en este último el orden en que se quiere que aparezcan. El tag que
creado crea la entrada en el menú y el vinculo de la acción es <menuitem />.
Las acciones se sitúan justo después de las vistas de cada objeto y en ellas se
determinará entre otras cosas el nombre que aparecerá en el menú. También en ellas
se establecerá el orden que tienen las vistas, no teniendo que coincidir por tanto con el
orden en que están programadas. El tag correspondiente es <record>.
<openerp>
<data>
</data>
</openerp>
86
4. ESTUDIO DE OPENERP
<notebook colspan="4">
</page>
</notebook>
4.8.3.4.2 Menús.
87
4. ESTUDIO DE OPENERP
<openerp>
<data>
Como se puede ver a continuación “cadena” es el nombre del campo principal, que
en la vista aparecerá en violeta y “relación_id” junto con “boleano” los dos secundarios.
Representa los campos en forma de lista. Tanto en esta vista como en la formulario
no es obligatorio que estén todos los campos, de hecho el campo imagen ni siquiera
puede verse en este tipo de vista, y el campo texto si es muy extenso no queda bien.
Sin embargo, el nombre de los campos que se ponga debe existir en el archivo que
define las propiedades de los objetos, es uno de los errores más comunes. Será la
88
4. ESTUDIO DE OPENERP
vista desde la cual se puedan hacer búsquedas y se pueda importar y exportar los
datos. Ejemplo:
89
4. ESTUDIO DE OPENERP
</group>
</page>
<page string="Página 3">
<group colspan="2" col="1">
<field name="cadenados" placeholder="aqui tambien se puede..."/>
<field name="texto3" placeholder="distintos tipos de campos"/>
</group>
</page>
<page string="Página 4">
<group colspan="2" col="1">
<field name="texto4"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<menuitem action="modulo_ejemplo_objetorelacion_action"
id="modulo_ejemplo_objetorelacion_menu" sequence="2"
parent="modulo_ejemplo_objeto_menu"/>
90
4. ESTUDIO DE OPENERP
<field name="name">modulo_ejemplo.objetorelacionlista.form</field>
<field name="model">modulo_ejemplo.objetorelacionlista</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="objetorelacionlista">
<field name="image" widget='image' />
<field name="campouno"/>
<field name="campodos"/>
<field name="campotres"/>
<field name="campocuatro"/>
<newline/>
<group colspan="2" col="1">
<field name="otrocampomas" placeholder= "newline..."/>
</group>
</form>
</field>
</record>
</data>
</openerp>
Para la instalación del módulo propio habrá que pegar la carpeta que contiene
los módulos dentro del directorio “addons” habitualmente en una ruta como está:
91
4. ESTUDIO DE OPENERP
Dentro del menú “módulos instalados” se busca por el nombre del módulo, en
este caso “ejemplo”.
92
4. ESTUDIO DE OPENERP
93
4. ESTUDIO DE OPENERP
94
5. ACLUXEGA.
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
5.1 Geotermia.
97
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
5.2 La asociación.
La Asociación, que en la actualidad cuenta con más de cuarenta socios, entre ellos
un Centro Tecnológico, la Escuela de Ingeniería de Minas de Vigo y seis Socios
Institucionales; se orienta al desarrollo de una estrategia conjunta de sus miembros,
centrada en la calidad, la formación y la concienciación sobre la geotermia y aspira a
convertirse en una referencia en el mercado geotérmico gallego y nacional.
98
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
Dentro de los principales proyectos del Clúster, destacan varias iniciativas que
forman parte de las acciones encaminadas a conseguir los objetivos de su plan
estratégico y que son parte de su filosofía básica, entre otras acciones, cabe resaltar
que han desarrollado un completo curso de formación “Instalacións Xeotérmicas de
Climatización con Bomba de Calor” cuya segunda edición se ha impartido con éxito en
el año 2013 en colaboración con la Escuela de Minas de la Universidad de Vigo a
través de la Plataforma de Teleformación (FaiTIC) de la propia Universidad, contando
con la participación de alumnos de otras partes de España, así como también de otros
países. De igual modo, la creación del Sello de calidad ACLUXEGA, pionero en
España y en Europa, que garantiza el rendimiento estacional y los mejores estándares
de calidad en la instalación y desarrollo de proyectos geotérmicos de muy baja
temperatura en la Edificación, la creación del Sello de Calidad en Perforación, etc.
Así mismo, han participado con empeño en el grupo de trabajo de AENOR que ha
cumplido el objetivo de desarrollar una norma UNE Española de referencia, así como
con la Xunta de Galicia, donde se han involucrado en el desarrollo de las dos
instrucciones de referencia para la geotermia en el ámbito de Galicia. En la primera, se
establecen los requisitos para la consideración de la energía geotérmica como
renovable, adelantando la trasposición de la Directiva Europea 2009/28/CE 28 en
nuestra Comunidad Autónoma, y en la segunda, estableciendo los requisitos para la
legalización de los sondeos de captación geotérmica simplificando los trámites
necesarios de manera notable.
5.3 Objetivos
99
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
5.4 Actividades
a. Reuniones:
Las reuniones internas son de dos tipos, las referidas a las de junta
directiva y asamblea general, que suelen comprender varias fechas al año. El
100
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
b. Grupos de trabajo:
101
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
f. Información.
102
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
103
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
Como asociación que es ACLUXEGA está formada por una Asamblea General
con los socios regulares, colaboradores y colectivos que a su vez elige a una Junta
Directiva entre los socios. Es importante decir que los representantes de las empresas
son habitualmente sus máximos cargos directivos, secretarios generales, gerentes,
CEO (chief executive officer) o presidentes.
104
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
Asamblea General
Junta
directiva
Presidente
Dirección
general
Grupo Grupo
trabajo 1 trabajo n
Becario Plan Re-Acciona
Becario Universidad
105
5. ASOCIACIÓN CLÚSTER DA XEOTERMIA GALEGA (ACLUXEGA)
106
6.IMPLANTAR
OPENERP.
6. IMPLANTAR OPENERP
6. IMPLANTAR OPENERP.
Análisis.
109
6. IMPLANTAR OPENERP
Después de realizar esta investigación se deben definir las pautas sobre las
que funcionará el ERP y estas abordarán temas como la estrategia a seguir en las
distintas interacciones empresa/herramienta, necesidades de interacción del ERP con
otras herramientas y los condicionantes del proyecto de implementación como
objetivos, infraestructura necesaria, indicadores a medir, responsables, etc.
Diseño.
Desarrollo.
Implementación.
Puesta en marcha.
Algo muy importante a tener en cuenta es que estas etapas se llevan a cabo en
la mayoría casos a la vez. Como el conocimiento en la propia asociación aumenta con
el tiempo, mientras se está diseñando un módulo se están analizando otras partes. Así
mismo a medida que las habilidades del alumno programando mejoran se produce una
mejora en el diseño de los objetos. Además durante la implementación lo normal es
que se corrijan pequeños detalles, o bien aquellos que la en teoría quedan bien pero a
la hora de llevarlos a la práctica no resultan efectivos, o con sugerencias de los
usuarios que ayudan a mejorarlo, por ello se establece un periodo de pruebas.
110
6. IMPLANTAR OPENERP
6.2. Análisis.
En este punto habrá que estudiar cómo se lleva a cabo esta labor, conocer el
funcionamiento interno hasta el más mínimo detalle, carpeta a carpeta, archivo a
archivo. Será necesario analizar los proyectos pasados y presentes para poder
establecer una estructura de OpenERP que permita llevar a cabo de manera más
rápida y eficiente los mismos procesos o similares en el futuro.
En consecuencia, lo primero que hay que preguntarse es, siendo esta una
asociación sin ánimo de lucro ¿Vende algo? Y si vende algo ¿A quién se lo vende?
El fomento de esta energía lleva a cabo una labor social de protección del
medio ambiente puesto que contribuye a disminuir el CO 2 emitido a la atmósfera y con
ello minimizar el impacto del efecto invernadero. Por tanto puede considerarse que es
la sociedad la que recibe los beneficios de la labor de asociaciones como esta.
111
6. IMPLANTAR OPENERP
Por tanto habrá que proceder al análisis del material de la asociación. Para ello
a este alumno se le han facilitado, previo compromiso de no divulgación, todos los
archivos de la misma. En este caso el sistema actual de compartición es Dropbox, que
será a partir del cual haya que realizar la migración.
Lo que se ha hecho es una copia de todos los archivos y se han ido agrupando
en carpetas y por tipos de archivo, Word, Pdf o Excel. OpenERP permite la inserción y
extracción de datos en este último formato, con lo cual será en este en el que haya
que centrarse a la hora de pensar en módulos propios, ya que los otros pueden ser
fácilmente incorporados tanto en el módulo “Project” como a través de “notas” o en los
foros de “Mensajes”.
Sin embargo, resulta evidente que la Dirección General necesita cierto control
sobre el dinero ya que será una de las encargadas de la obtención de fondos y de la
organización de actividades, por tanto de ver cuánto se puede gastar. Para ello lo que
si pueden es acceder a los registros del banco, para, por ejemplo , corroborar que los
socios estén al día en cuanto al pago de sus cuotas, o si se han cobrado las
subvenciónes que se esperaban.
En cuanto a los pagos hay dos tipos. Para las sumas altas estos se realizarán
por transferencia bancaria, por tanto con la firma de los directivos, y el efectivo de caja
para pequeños pagos como material de oficina o transportes de la directora a juntas,
estas cantidades serán adelantadas por la misma y reintegradas por ejemplo en su
sueldo como dietas.
112
6. IMPLANTAR OPENERP
de este tipo. Y la tercera de congresos, en la que sucederá lo mismo, para cada uno
de ellos se creará una nueva base de datos.
6.3. Diseño.
113
6. IMPLANTAR OPENERP
Recursos
humanos
Gestión de
Encuestas proyectos
ACLUXEGA
OpenERP
Contabilidad Eventos
Datos Cursos
asociación congresos
A continuación se explicarán en detalle las tres bases de datos con los motivos
que han llevado a instalar unos módulos u otros, así como con una descripción
detallada de los que han sido creados.
6.3.1 ACLUXEGA_GENERAL.
114
6. IMPLANTAR OPENERP
presentes y futuras, pero así mismo hay que evitar la instalación de módulos que no
sean necesarios, pues lo que se pretende es un acceso más eficiente a la información.
115
6. IMPLANTAR OPENERP
6.3.1.1.1 Mensajería.
Este módulo se instala por defecto una vez se instale cualquier aplicación
básica. Puede completarse con las aplicaciones “Calendario” “Contactos” y “Notas”. En
su bandeja de entrada aparecen reflejados los mensajes del resto de usuarios, así
como si han creado algún proyecto o han compartido algún tipo de documento. Puede
configurarse también para enviar mensajes de correo electrónico con Mozilla
Thunderbird aunque en este caso no se ha considerado necesario hacerlo.
6.3.1.1.2 Project.
En una asociación cuyo software más complejo es el Microsoft Office sin incluir
el Microsoft Project, este módulo es el más importante d e todos. Está basado
precisamente en este mismo.
Figura 6. 5 Proyectos.
116
6. IMPLANTAR OPENERP
Figura 6. 6 Tareas
6.3.1.1.3 Contabilidad.
Para esta base de datos, al contrario que para las otras dos, se han instalado
todas las aplicaciones correspondientes a este módulo. Como se ha visto, la dirección
general de ACLUXEGA además de por la directora está compuesta por dos becarios.
Ello requiere que aproximadamente cada 6 meses haya que llevar a cabo un proceso
de selección. Además interesa también conservar la información precisamente sobre
los que abandonan el puesto, ya que esto no sucede porque no se considere a la
117
6. IMPLANTAR OPENERP
persona apta para el puesto sino que está condicionada por la beca o los convenios
correspondientes.
También hay que tener en cuenta que se trata de un Clúster, por tanto son
muchos los curriculums que llegan con la intención de ser enviados a las empresas,
algo que actualmente se hace, pero que en el futuro se espera poder coordinar mejor.
6.3.1.1.5 Encuestas.
118
6. IMPLANTAR OPENERP
6.3.1.1.6 Eventos.
6.3.1.1.7 Informes.
Se ha decidido crear 5 módulos propios para esta base de datos con el objetivo
inicial de adaptar OpenERP a la asociación. Sin embargo, para el alumno que realiza
este proyecto, el no conocer la ubicación de los archivos le ha llevado a tener que
preguntar dónde estaba cierta información básica y no toda se encontraba fácil ni
intuitivamente como podría parecer lógico. Por ello ha habido que diseñar los módulos
y los objetos partiendo de cero. De esta manera y con el OpenERP abierto con dos
“clicks” de ratón, uno en el módulo y otro en el objeto se puede acceder a cualquier
dato importante y con un tercero a los detalles.
119
6. IMPLANTAR OPENERP
120
6. IMPLANTAR OPENERP
6.3.1.2.2 Asociados.
Tal y como su mismo nombre indica este módulo se ha creado para el acceso a la
información de los socios.
121
6. IMPLANTAR OPENERP
Junta directiva.
Grupos de trabajo.
Este menú en realidad está formado por dos objetos ya que dentro del de
grupos de trabajo se encuentra en una relación one2many el objeto miembrosgt.
Contiene las vistas kanban, lista y formulario. Es el destinado a contener la
información de los distintos grupos de trabajo. Se puede elaborar una lista con la
información de los distintos miembros. Una vez creado este, bastará con pinchar
encima en la lista para que aparezca la información con otra vista formulario.
122
6. IMPLANTAR OPENERP
Lista asociados.
Tal y como su nombre indica es una lista de socios, que son más de 40
actualmente, por tanto se ha creado una vista kanban con los campos del nombre de
la empresa, su correo electrónico y su web. Esta vista la completan una vista lista y
una vista formulario. En esta última se ha creado una notebook con dos páginas para
indicar si el socio tiene el sello de calidad ACLUXEGA de perforación y/o el de
instalador que incluye a ambos. Para ello se han empleado campos con relación
many2one con los correspondientes en la parte inferior del menú, de tal modo que
cuando se cubra en el de un socio ya quede el objeto creado. El campo obligatorio es
el que se ha elegido para que aparezca en el campo relación.
123
6. IMPLANTAR OPENERP
Figura 6. 19 Denegado.
Clasificación empresas.
124
6. IMPLANTAR OPENERP
Tienen los mismos campos, coincidentes, salvo detalles como la imagen, con el
de la Lista asociados, y sirven para esos registros que no están dentro de esa
categoría o bien porque aún no han completado el proceso de incorporación o porque
se hayan dado de baja.
Menú contacto.
6.3.1.2.3 Legislación.
125
6. IMPLANTAR OPENERP
En este módulo todos los objetos son iguales, salvo los de las comunidades
autónomas, porque habrá que indicar en cual y para facilitar esta labor además de una
imagen se ha configurado con una vista kanban. Que todos los objetos sean iguales,
siempre y cuando no se repita la información no es malo, lo que se pretende es tenerla
lo más organizada posible.
126
6. IMPLANTAR OPENERP
6.3.1.2.4 Subvenciones.
Por tratarse de un tipo de energía renovable y eficiente es habitual que se concedan
subvenciones tanto a las empresas como a los usuarios para llevar a cabo las
instalaciones. Lo cual es motivo de interés por ambos motivos para los asociados y por
tanto uno de los trabajos más habituales será indagar en las páginas oficiales de las
distintas administraciones en la búsqueda de las novedades en este aspecto.
Con el objetivo de tenerlas recopiladas y fácilmente accesibles y que todos los que
realicen esta labor de búsqueda se centren en los mismos aspectos se ha creado este
módulo.
127
6. IMPLANTAR OPENERP
Hasta el punto llega esta estandarización que todos los objetos son iguales en
diseño, solo variarán los del menú de subvenciones estatales puesto que en ellos se
ha considerado oportuno la vista kanban, para diferenciar entre comunidades
autónomas.
6.3.1.2.5 Geotermia.
Quizás lo que menos represente el contenido de este módulo sea precisamente
su nombre. Ha sido el último que se ha creado y se ha hecho a partir del menú
Comunicación y promoción del módulo de Congresos. La utilidad de este módulo es la
de incluir todo aquello que no encaja en los otros o para aquel conjunto de objetos que
por ser pocos se vuelva desproporcionado crear todo un módulo entero. Por decirlo de
128
6. IMPLANTAR OPENERP
otro modo, cuando se necesite crear un nuevo objeto y no encaje con los demás, no
será necesario programar un módulo entero, del mismo modo puede insertarse
gráficamente el que se desee.
Alertas.
En este objeto se ha configurado con vista kanban puesto que servirá para
distinguir la de las distintas comunidades autónomas, o entre instituciones.
Figura 6. 29 Alertas.
Alertas enviadas.
Sirve para recopilar las que se le envían a los socios, tanto Alertas de Google
como licitaciones o subvenciones. Se emplea por primera y única vez en los módulos
personalizados de esta base de datos el campo binario de insertar un documento de
cualquier tipo. Solo habrá que saber sencillamente con que programa se abre
después.
129
6. IMPLANTAR OPENERP
Preguntas y respuestas.
Por ello se ha creado este objeto, para tener una recopilación de las preguntas
y respuestas más frecuentes.
Medios.
Este objeto se ha creado para tener recopilada la información sobre los medios
de comunicación. Se tiene un campo relación many2one con el objeto siguiente
contactos. Se ha creado con vista kanban para que sea más fácil su identificación.
130
6. IMPLANTAR OPENERP
Figura 6. 32 Medios.
Figura 6. 33 Contactos.
Web propia.
131
6. IMPLANTAR OPENERP
Publicidad.
Sirve para gestionar los anuncios que se lleven a cabo en los diversos medios,
de hecho tiene un campo relación many2one con este objeto. Permite un registro del
presupuesto y se ha programado de tal modo que puedan guardarse aquí hasta 3
imágenes.
Figura 6. 35 Publicidad.
Noticias generadas.
Servirá este objeto para tener una recopilación de las noticias generadas en los
medios, sin tener que crear un archivo en Word para cada una. Ayuda a que estén
ordenadas y pudiendo insertar imágenes se puede añadir un escaneo si fuera en
prensa escrita. Se evita con crear archivos innecesarios.
Imágenes.
132
6. IMPLANTAR OPENERP
6.3.2 CURSO_NOMBREDELCURSO.
Al contrario que la anterior esta no es una base de datos estática que haya que
instalar siempre del mismo modo. Se propone una genérica con las mayores
prestaciones posibles, pero sin resultar excesivas, que podrá adecuarse a las
circunstancias. Si por ejemplo, con la base de datos general se considera que puede
planificarse no sería necesario instalar el Proyect. Del mismo modo si se tratase de
una conferencia o jornadas gratuitas podría excluirse el de Contabilidad.
También el que un curso o una conferencia pueda ser organizado con otra
institución, esta base de datos podría ser utilizada por ambas, facilitando la
comunicación y la compartición de archivos.
133
6. IMPLANTAR OPENERP
6.3.2.1.1 Mensajería.
134
6. IMPLANTAR OPENERP
6.3.2.1.2. Project.
6.3.2.1.3. Contabilidad.
En este caso, lo clientes serán los alumnos, bien modo particular o a través de
su empresa y los proveedores serán los profesores y la propia ACLUXEGA o los que
hayan intervenido en su gestión.
6.3.2.1.5 Encuestas.
Sirve para hacer las encuestas a los alumnos, con el objetivo de ir mejorando
progresivamente el curso en siguientes ediciones. Por tanto con él se ahorra papel si
las encuestas se realizan de este modo o si son enviadas, se evita saturar la bandeja
de correo electrónico. Teniendo en cuenta que en alguno de los cursos hay hasta 80
alumnos y si el curso fuese organizado por varias instituciones, este módulo hace que
la base de datos tenga un potencial de uso de cerca de 100 usuarios.
6.3.2.1.5 Informes.
135
6. IMPLANTAR OPENERP
Este módulo podrá ser susceptible de cambios en modo gráfico para adaptarlo
a los distintos eventos. Si se llega a instalar el de recursos humanos quizás sería
recomendable borrar gráficamente el menú “tutores” e introducir en él el de
“empleados”, tal y como se explica en el ANEXO IV. Las combinaciones son múltiples
y serán los usuarios los que finalmente puedan decidir cuales emplear.
Ficha.
Tal y como su mismo nombre indica sirve para definir los campos a cubrir en
una ficha de un curso. Porque la otra opción evidente es coger la de un curso anterior
y modificarla, pero al final hay varias versiones de la misma y comprobar cuál es la
más actual puede llegar a convertirse en todo un problema. De todos modos se tiene
el campo binario para poder guardar aquí un documento, la versión más actualizada,
por tanto, de la misma.
136
6. IMPLANTAR OPENERP
Calendario y fechas.
Este menú está compuesto por dos objetos, ambos iguales y a priori podría
parecer que sería conveniente integrarlos dentro de la ficha. Sin embargo no es tarea
sencilla establecer la fecha en la que llevar a cabo un curso. El objetivo es que haya la
mayor cantidad de alumnos posibles y para ello habrá que estudiar qué fechas les
conviene más, por ejemplo en el caso de los universitarios con su calendario de
exámenes. Así mismo también habrá que tener en cuenta las de disponibilidad de
profesores o en el caso de clases presenciales de la del local.
Lista preinscritos.
Tal y como su mismo nombre indica servirá para tener una lista con los alumnos
preinscritos, se parecerá a la de matriculados para poder importar mejor los datos.
137
6. IMPLANTAR OPENERP
Lista matriculados.
No es realmente un objeto puesto que está compuesto por tres. Además del
Lista matriculados contiene mediante dos campos relacionales one2many los objetos
Asistencia y Evaluación.
Figura 6. 45 Asistencia.
Figura 6. 46 E valuación.
Lista bajas.
138
6. IMPLANTAR OPENERP
Formación bonificada.
Tutores.
Permite tener la información sobre los profesores, tal y como se ha visto puede
sustituirse por el de “empleados” de Recursos humanos, pero por si no se instalase
este módulo, este objeto cumpliría las funciones.
Figura 6. 48 Tutores.
6.3.3 CONGRESO_NOMBRE.
Este ha sido la última de todas las que se han diseñado, y por tanto en la que
más conocimientos acumulados se tenían, por lo que a medida que se iba realizando
se iban mejorando todas las demás. Del mismo modo para llevarla a cabo se ha
tomado como referencia la base CURSO_NOMBREDELCURSO.
139
6. IMPLANTAR OPENERP
6.3.3.1.1 Mensajería.
140
6. IMPLANTAR OPENERP
6.3.3.1.2. Project.
6.3.3.1.3. Contabilidad.
Resulta evidente que en un congreso habrá que contratar personal. Aunque los
organizadores y colaboradores lleven a sus propios empleados, será necesario
contratar azafatos/as, camareros/ras, o incluso intérpretes, No se ha instalado el
módulo al completo, porque es un evento que solo requiere dos días y por ejemplo los
partes de ausencias carecerían de toda lógica.
6.3.3.1.5 Encuestas.
6.3.3.1.6 Informes.
141
6. IMPLANTAR OPENERP
A continuación se realizará una descripción de los objetos y los motivos por los
que se han creado. En el caso del menú “Comunicación y promoción” como el mismo
del módulo propio Geotermia está basado en este ya no se incluyen las imágenes.
Ficha.
Sirve para tener la ficha técnica del congreso. Aunque los campos cambian
como se puede apreciar, el diseño está basado en el de la de ficha del curso.
142
6. IMPLANTAR OPENERP
Programa.
Figura 6. 53 Programa.
Organizadores.
Sirve para tener recopilada la información relevante del resto de entidades que
organizan el congreso. Se ha configurado con vista kanban para facilitar la
identificación.
143
6. IMPLANTAR OPENERP
Figura 6. 54 Organizadores.
Entidades colaboradoras.
Patrocinadores.
El patrocinio es el convenio entre una persona, física o jurídica y otra con el fin
de que éste presente la marca o el producto que desea promover la empresa
patrocinadora. A la primera se la suele llamar patrocinador y a la segunda patrocinado.
El patrocinador suele buscar un posicionamiento concreto de los mismos asociándolo
a una actividad de cierto prestigio. Por su parte, el patrocinado recibe de la firma
patrocinadora una contraprestación, normalmente económica o en material. El diseño
es exactamente el mismo que el del objeto anterior.
Empleados.
Presentador.
144
6. IMPLANTAR OPENERP
Figura 6. 56 Presentador.
Ponentes.
Expositores.
Participantes.
Figura 6. 57 Participantes.
Medios.
Contactos.
Para ello el profesional que lleve a cabo esta labor tratará de contactar
preferentemente con la misma gente dentro del mismo medio.
145
6. IMPLANTAR OPENERP
Web propia.
http://congresonacionaldegeotermia.wordpress.com/
Publicidad.
Noticias generadas.
Para almacenar y tener un archivo con las noticias que va generando el congreso.
Imágenes.
Como archivo de las fotografías que se realicen durante todo el congreso, que
podrán utilizarse, por ejemplo, para promocionar el siguiente.
146
6. IMPLANTAR OPENERP
Por tanto, para llevar a cabo el proceso de desarrollo, en primer lugar se hace
uno preliminar con los conocimientos que se tienen y se va investigando, sino en
OpenERP directamente, en la bibliografía, hasta alcanzar lo que se quiere obtener. Un
ejemplo de esto ha sido cuando teniendo los módulos programados con las vistas lista
y formulario se ha querido utilizar también la kanban. Para ello además de tener que
aprender cómo realizar esa estructura fue necesario previamente indagar en como
poder insertar una imagen. Para darse una idea de esta evolución basta con comparar
el objeto “Lista de correos” (Figura 6.11) con los más complejos “Grupos de trabajo”
(Figura 6.14) o “Ficha del curso” (Figura 6.41).
Hay multitud de tipos de errores que se pueden cometer, tantos que sería
prácticamente imposible describirlos todos. En muchas ocasiones los errores son
siempre los mismos y revisando se encuentran fácil. A continuación se detalla una lista
con los errores más comunes:
- En el xml también es común no cerrar lo que se abre, por ejemplo escribir así
la estructura <group>… <group> cuando debería estarlo así <group>… </group>.
Para tener una idea del cuidado que hay que tener basta con tener en cuenta que el
archivo que menos líneas de xml tiene es curso.xlm con 739 y con un solo error de
este tipo ya no funciona.
Sobre estos dos errores, en las vistas hay que decir que cuando se instala el
módulo, OpenERP abre una ventana en la que generalmente aparece la línea en que
está el error, el problema surge cuando hay más de uno-
-Que el archivo xml no se corresponda con el python es sin duda alguna el más
problemático de todos y en la mayoría de los casos es siempre por lo mismo, no haber
escrito correctamente el nombre de los objetos o los campos. Como se ha dicho, no es
obligatorio que en las vistas aparezca todo lo de los objetos, pero lo que si debe estar
correcto. Por ejemplo escribir “direccion” en un sitio y “direcion” en otro, siempre es
más fácil pensar que el error es más complejo y no tan sencillo. A veces cuando se
147
6. IMPLANTAR OPENERP
copian los objetos porque el diseño es igual y basta con cambiar solo el nombre es
muy común que alguno siempre se olvide.
Pero no en todos los casos los errores son tan de base que el módulo no
puede instalarse, en muchas ocasiones se trata simplemente de errores en las vistas
como en una acción que no se ha puesto, algún objeto repetido y sencillamente o una
vista kanban que está mal y lo que ocurre es que en esos casos concretos no
funcionan pero si el resto del módulo.
Para llevar a cabo la fase de desarrollo de los módulos ha sido muy importante
la utilización de máquinas virtuales. Ello ha permitido efectuar todas esas pruebas
que se mencionaban en los ordenadores de la asociación sin ningún tipo de riesgo
para los mismos. De hecho algunas de las máquinas se han visto dañadas por tratar
de descargar algunos módulos de OpenERP no de la página oficial sino de otras
fuentes, que aunque en ocasiones resultan muy útiles, en otras son más que
perjudiciales.
6.5. Implementación.
148
6. IMPLANTAR OPENERP
Se trata por tanto del proceso más largo que habrá que llevar a cabo en varias
etapas como son la de instalación del software, la formación del personal, la migración
de datos a la nueva tecnología y un periodo de pruebas.
Una vez se tienen diseñadas las bases de datos, desarrollados los módulos
propios correspondientes y se considera el momento adecuado se procede a la
instalación de OpenERP. Para ello es fundamental tener definida la estructura de los
equipos y las conexiones de red, se ha empleado una arquitectura cliente-servidor tal y
como se explica en el apartado “2.4.2. Perspectiva técnica” de este mismo proyecto.
Se ha aprovechado la existente que se utilizaba para la impresora y se ha mejorado
mediante carpetas compartidas, siendo el resultado que muestra el router el que se
puede ver en la siguiente figura:
149
6. IMPLANTAR OPENERP
Por tanto para poder acceder a OpenERP desde el resto de los ordenadores
conectados a la red habrá que introducir en el navegador 192.168.0.6:8069 y para que
sea siempre la misma esta IP se ha hecho fija para que siempre sea esa la que hay
que introducir.
150
6. IMPLANTAR OPENERP
Siendo incluso posible crear un acceso directo desde el propio escritorio del
teléfono.
151
6. IMPLANTAR OPENERP
152
6. IMPLANTAR OPENERP
Ante todo cambio, los componentes de una organización sienten cierto rechazo
por desconocimiento o por dificultad a la hora de adaptarlo. Resultan indiferentes los
beneficios que se puedan esperar ya que, como mínimo, siempre se generarán ciertas
dudas. Lo primordial para solventar esta barrera es desarrollar un proceso de
comunicación y formación para que todos los empleados se adapten a la nueva forma
de realizar sus tareas. Esto es lo que se conoce como gestionar la oposición interna al
cambio.
En primer lugar los usuarios deben tener unos conocimientos básicos que
consisten en saber que es un Enterprise Resource Planing (ERP), para que sirve, que
ventajas presenta frente a otro software y de qué manera puede facilitar su labor. Para
ello también será importante en esta fase que conozcan como se va a llevar a cabo el
proceso, las cuatro fases de implantación, con el objeto de que faciliten sus
conocimientos para el diseño de los módulos. La documentación que se les ha
entregado para facilitar la formación en estos aspectos ha sido el segundo apartado de
este proyecto “2.ERP”. Esta fase hay que llevarla a cabo incluso antes del análisis
aunque manteniéndola de forma continua para solucionar las dudas que vayan
surgiendo.
Una vez OpenERP está instalado en la red, con las bases de datos y módulos
personalizados creados lo que hay es que enseñarles a los usuarios como funciona
OpenERP. En cuanto a los módulos creados, como han colaborado al hacerlo ya
están al tanto, donde habrá que llevar a cabo sendas explicaciones será a la hora de
explicarles el funcionamiento de módulos como el Project, Contabilidad o Encuestas.
Para ello se han impartido clases teóricas de varias horas de duración, aprovechando
los periodos de menor carga de trabajo, como por ejemplo semana santa y que el que
las imparte es parte del propio personal con lo que está a disposición en cualquier
momento para en una hora suelta das las explicaciones necesarias. Esta formación se
ha llevado a cabo también de forma continua durante la migración, a lo largo de varios
meses.
153
6. IMPLANTAR OPENERP
“4.Estudio de OpenERP” en el que como se ha visto con detalle se explica cómo llevar
a cabo esta labor.
Para llevar a cabo este proceso hay que tener claro que OpenERP se ha
adaptado a ACLUXEGA, pero esta también debe adaptarse a las bases de datos
creadas. El migrar los datos del disco duro y Dropbox es una labor progresiva que
debe empezarse por las partes más sencillas.
Ya que hay más de una base lo hay que hacer es el traslado de datos de la
manera más sencilla y ordenada posible, empezando por ejemplo con la contabilidad
de los cursos y no con la general, con el objetivo de irse familiarizando con el módulo.
154
6. IMPLANTAR OPENERP
Se trata de un periodo muy importante ya que hay que tener en cuenta que, a
partir de la puesta en marcha, OpenERP será una parte fundamental en la
organización y gestión de la asociación, con lo que es fundamental que todo funcione
correctamente y que los usuarios se encuentren cómodos.
155
6. IMPLANTAR OPENERP
156
7.ANÁLISIS DE
COSTES DE OPENERP
EN ACLUXEGA.
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
Sin embargo, precisamente el hecho de haber sido llevado a cabo por los
recursos de la empresa supone un coste, un coste en tiempo, en el cual podrían haber
estado llevando a cabo otras labores, es lo que se conoce como costes de oportunidad
y será sobre ellos sobre los que se lleve a cabo el análisis mediante una comparación
con los costes que habría supuesto contar con los servicios de un ente externo, como
una consultoría para la implantación de OpenERP.
159
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
10%
Infraestructura técnica
30%
Sofware
60%
Servicios
Los costes ocultos, tal y como se ha visto, tienen que ver con la dedicación
necesaria por parte de los recursos de la compañía. En este caso como precisamente
la implantación es llevada a cabo por uno de sus miembros, se convierten en la
mayoría de los costes a considerar formando parte, por tanto, de los principales.
En los puntos siguientes se detallarán los costes en función del tiempo, habrá
que tener en cuenta que toda esta labor se ha llevado a cabo sin desatender el trabajo
diario de la asociación, incluso por parte del alumno que además de implantar
OpenERP cumplirá con sus funciones de becario de universidad.
160
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
En cuanto a los costes relativos a las comunicaciones, en este caso habría que
tener en cuenta la factura de internet y así como la de la luz y el alquiler de las
instalaciones, pero como no ha sido necesario estar más horas de las habituales en un
día normal, pueden repercutirse sobre el tiempo dedicado a la instalación.
7.2 Software.
El coste del software va ligado al proveedor del servicio. Por tanto y ya que lo
que se va a instalar es OpenERP versión 7 que es software libre, no tiene coste de
licencias. Además también se instalará el software de virtualización Oracle VM
VirtualBox y el Notepad ++ para llevar a cabo del desarrollo de módulos, ambos
descargables legalmente de forma totalmente gratuita.
161
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
7.3.1. Análisis.
Para el que realiza este PFC ha sido necesario emplear todo su tiempo en este
proceso, pero dado que cumple la doble función de implantador/becario y también ello
sería parte de esa función, se va a considerar la mitad del tiempo. Lo mismo sucede
con la dedicación de la directora y el otro becario a este, por una parte al explicarle el
funcionamiento de la asociación le ayudará además de al análisis a desarrollar mejor
sus tareas.
Para los costes se tienen en cuenta las dos fases porque tal y como se ha
explicado han ido alterándose una con la otra desarrollándose lo que se diseña. Sin
embargo la parte de desarrollo de módulos propios solo afecta al tiempo del becario de
universidad, mientras que los otros dos integrantes colaboran con sus conocimientos y
opiniones al diseño. El tiempo que va a considerarse como referencia estimada de
duración en esta fase serán 6 semanas, repercutiendo en los porcentajes de tiempo
una mayor cantidad correspondiente a las modificaciones surgidas durante la parte de
implementación.
162
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
7.3.3. Implementación.
Este hecho supone una de las mayores ventajas que tiene el implantar un
software como este, como no hay que abonar licencias, no importa que la implantación
dure 6 meses, un año o los que sean, disminuyendo la dedicación necesaria por parte
de los miembros de la asociación y por tanto los costes de oportunidad.
163
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
7.3.3.3 Migración.
164
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
Para hacer los cálculos horarios de una forma que reflejasen de la mejor
manera posible la incidencia en el tiempo, se han adjudicado horas a mayores, que se
corresponderían con las de este período. Ello ha sido así porque resultaría complicado
establecer de una manera realista el tiempo en corrección de errores y mejoras.
165
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
21%
64%
15%
23%
77%
166
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
14%
86%
Si lo que se quiere es dar una cifra del coste de OpenERP en dinero bastaría
con multiplicar el número de horas dedicado por cada uno de los integrantes de la
dirección general por la proporción de salario más gastos asociados a la seguridad
social.
Por realizar una comparación y teniendo en cuenta los pocos datos que
facilitan al respecto las empresas, llevar a cabo una implantación profesional del tipo
de la de este PFC supondría entre costes de soporte y formación entorno a 6000 €
más los costes ocultos anteriormente mencionados, por tanto rondando el coste total
los 7000 €.
167
7. ANÁLISIS DE COSTES DE OPENERP EN ACLUXEGA
168
8. CONCLUSIONES.
8.CONCLUSIONES.
8. CONCLUSIONES.
Por ejemplo, desde este momento cuando realicen una encuesta a sus
usuarios no dependerán de un servidor de correo electrónico externo o de la
posibilidad de equivocarse de dirección mientras se trata con información confidencial.
Por otra parte, cuando se lleve a cabo la organización de un evento de grandes
dimensiones con otra organización, tal como un congreso, este sistema que permite
proyectar las tareas con su documentación y compartirlas en tiempo real sin depender
de llamadas de teléfono que en ocasiones no se pueden atender, o correos
electrónicos que saturen la bandeja de entrada, mejorando notablemente la
coordinación y agilizando los procesos.
Se les ha facilitado la formación tanto de manera general sobre los ERP, como
a nivel usuario, configurador y desarrollador de OpenERP de tal forma que una vez
171
8.CONCLUSIONES.
El fomento de esta energía lleva a cabo una labor social de protección del
medio ambiente puesto que contribuye a disminuir el CO 2 emitido a la atmósfera y con
ello minimizar el impacto del efecto invernadero. Por tanto puede considerarse que es
la sociedad la que recibe los beneficios de la labor de asociaciones como esta y en
consecuencia de este PFC.
172
9. BIBLIOGRAFÍA.
9.BIBLIOGRAFÍA
9.BIBLIOGRAFÍA.
Bibliografía Online:
http://www.monografias.com
www.adpime.com
http://www.tuerp.com
http://www.yourerpsoftware.com
http://www.technologyevaluation.com/es
http://www.vgsglobal.com/es
http://observatorioredesempresariales.wordpress.com
http://www.e-global.es
http://es.wikipedia.org
http://recursostic.educacion.es
http://es.answers.yahoo.com
http://www.expertosdecomputadoras.com
http://www.theopensourcerer.com
http://openerp-co.blogspot.com.es
http://openerpspain.com
http://www.gnu.org
http://help.openerp.com
https://doc.openerp.com
http://www.openerpsite.com
http://www.recercat.net
http://fccea.unicauca.edu.co/old/erp.htm
http://geekland.hol.es/integrar-maquina-virtual-en-una-red-local
www.whatsmyip.org
www.avanzosc.com
175
9.BIBLIOGRAFÍA
Documentación:
176
ANEXOS.
ANEXO I
Instalar OpenERP v7 en Ubuntu
12.04 LTS
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
Lo primero que haremos es crear un usuario del sistema, en Ubuntu un usuario del
sistema es diferente a un usuario normal, por lo tanto no aparecerá en las opciones de
acceso (login) cuando se arranque el sistema, ni podrá usarse en la terminal o
consola. El objetivo en este paso es tener un usuario del sistema que ejecute
OpenERP, para ello le asignamos el directorio en el que instalaremos luego OpenERP,
en este caso /opt/openerp, si no existe el directorio, este será creado
automáticamente. Si decide utilizar un directorio diferente tenga en cuenta que deberá
ajustar algunas instrucciones de esta guía para que se adapten a su propio contexto.
Se pasa a trabajar con el usuario postgres para tener los privilegios necesarios para
configurar la base de datos:
sudo su – postgres
Se crea un nuevo usuario de la base de datos. Este será el usuario que se asignará
en la configuración de conexión a la base de datos del servidor OpenERP, tendrá
permisos para crear y borrar bases de datos. En este paso habrá que asignar una
contraseña que se necesitará más adelante:
exit
181
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
openid \
python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing
\
python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-
vobject \
python-webdav python-werkzeug python-xlwt python-yaml python-zsi
Se utilizará wget para descargar los archivos al directorio. Hay que estar seguro de
que se trata de la última versión de la aplicación para proceder por este sistema, en
caso contrario habría que acudir a www.openerp.com y descargárselos.
wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-
latest.tar.gz
cd /opt/openerp
sudo tar xvf ~/openerp-7.0-latest.tar.gz
182
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
logfile = /var/log/openerp/openerp-server.log
2013-03-30 23:15:16,435 8753 INFO ? openerp: OpenERP server is running, waiting for
connections...
Se hará que OpenERP sea lanzado como un servicio de Ubuntu 12.04, es decir que
se inicie y detenga automáticamente cuando se arranque o apague el sistema.
#!/bin/sh
183
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
# Provides: openerp-server
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2345
# Default-Stop: 016
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/openerp/server/openerp-server
NAME=openerp-server
DESC=openerp-server
USER=openerp
CONFIGFILE="/etc/openerp-server.conf"
# pidfile
PIDFILE=/var/run/$NAME.pid
DAEMON_OPTS="-c $CONFIGFILE"
[ -x $DAEMON ] || exit 0
184
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
[ -f $CONFIGFILE ] || exit 0
checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
return 1
case "${1}" in
start)
echo "${NAME}."
;;
stop)
--oknodo
echo "${NAME}."
;;
185
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
restart|force-reload)
--oknodo
sleep 1
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
exit 1
;;
esac
exit 0
Se crea el directorio con los permisos correspondientes para el archivo log de acuerdo
a la configuración realizada en el Paso 6:
186
ANEXO I: Instalar OpenERP 7.0 en Ubuntu 12.04 LTS
http://localhost:8069
You can now try rebooting you server if you like. OpenERP should be running
by the time you log back in.
Si el tipo ps aux | grep openerp se debería ver una línea similar a esta:
openerp 1491 0.1 10.6 207132 53596 ? Sl 22:23 0:02 python /opt/openerp/server/openerp-server
-c /etc/openerp-server.conf
187
188
ANEXO II
Guía descriptiva de módulos básicos
Índice
Introducción
1 .Mensajería
2. Ventas
4. Proyecto (Project)
5. Contabilidad
6. Compras (Purchases)
7. Almacén
8. Fabricación (Manufacturing)
9. Recursos humanos
10. Comidas
11. Flota
12. Eventos
14 .Informes
15. Configuración
Botón de la derecha:Usuario
Vista: Las vistas describen como es mostrado cada objeto, como y donde es
dibujado cada uno. Hay 6 tipos de vista distintos que se irán visualizando a lo largo de
la guía: Kanban, Lista, Formulario, Calendario, Gantt y Gráfico . No es necesario que
un objeto las tenga todas, pero al menos si la vista Lista o arbol, que será de la que se
puedan importar los datos y la vista Formulario que será en la que se cubran
manualmente los datos.
194
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
1. Mensajería
1.1 Mensajería
-En archivados aparecen los mensajes enviados y toda aquello que se realice en la compañía
facturas, presupuestos, proyectos, etc.
1.2 Organizador
Sirve para organizar las reuniones. Se dispone de vistas Calendario y Gantt para facilitar la
visualización. Estos objetos estarán en constante interacción con los de otros módulos,
especialmente en lo que a campos relacionales se refiere, a la hora de bucar a un cliente, a un
proveedor, o a un empleado de la propia empresa.
195
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
1.2.1 Calendario
196
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Si en las vistas lista, formulario o Gantt se da a crear aparece lo mismo. El resto de funciones
son para modificar las reuniones. En la pestaña opciones puede ponerse si la reunión es
pública o privada y en la de invitaciones a un contacto o puede crearse.
1.2.2. Contactos
Esta herramienta permite gestionar los contactos, crear nuevos o a partir de los ya existentes a
partir de los correos electrónicos. Por defecto aparecen el administrador, tu compañía y un
usuario de la plantilla. Mediante los cursores de la parte superior derecha puede pasarse de un
usuario a otro. En la parte de reuniones nos remite al calendario. La de llamadas permite ver el
registro de estas. El apartado de oportunidades es el mismo que el del apartado 2.1.3
Oportunidades en Ventas. Interactúa también el apartado de presupuestos y pedidos con el
de 2.1.4 Presupuestos en Ventas.
En el menú de la parte inferior, además de las notas, en el caso del usuario “nuestra
compañía” aparecerían también los contactos. El de ventas y compras e historial será similar
para todos, mientras que el de contabilidad solo será visible para quien se considere, en un
principio pondrá que para la empresa matriz.para ver la parte de Contabilidad y Terminal
Punto de Venta habrá que tener instalados los módulos correspondientes.
197
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
198
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
En cada uno de los contactos puede marcarse que se está siguiendo. Ello permitirá tener más
información de primera mano en apartados sucesivos.
1.2.3. Notas
199
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
2. Ventas
2.1 Ventas
2.1.1. Clientes
2.1.2 Iniciativas
En una iniciativa puede ponerse toda la información que aparece en la imagen, información
sobre la compañía, sobre el cliente, el registro de llamadas y puede seleccionarse también
quien es el comercial así como la prioridad que esta tenga. Una vez guardada una iniciativa
puede convertirse en oportunidad.
200
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
2.1.3 Oportunidades
Una vez guardada hay cuatro posibles vistas para el tratamiento de las oportunidades. A
continuación se muestra una imagen de la vista Gantt. Como puede apreciarse está dividida en
columnas. Pueden añadirse, suprimirse y editarse. Las propue stas creadas pueden moverse de
unas a otras con tan solo arrastrarlas con el ratón.
201
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
La vista Lista muestra todas las oportunidades en forma de lista. La vista formulario es igual a
la de creación, permite convertir la oportunidad en un presupuesto, que se explica en el
apartado siguiente. Las otras dos vistas son una en forma de gráfico y otra en forma de
calendario.
2.1.4 Presupuestos
202
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Una vez el pedido se ha enviado, se marca, una vez se ha vendido se marca también. Desde
este momento la venta pasa al apartado siguiente Pedido de ventas será allí donde haya que
buscarla cuando quiera volverse a ella. En la lista de presupuestos solo se almacenarán los no
confirmados aún.
Una vez el pedido está realizado se puede ver el orden de entrega, crear una factura o
cancelar el pedido. Si se pulsa en ver orden de entrega:
203
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Como puede apreciarse en Estado aparece esperando disponibilidad, los posibles estados son:
Puede crearse una factura sobre el pedido completo, sobre un porcentaje, sobre un precio fijo
(depósito) o sobre algunas líneas del pedido. También pueden hacerse facturas desde el
apartado 5.1.1 Facturas de cliente
204
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Una vez se ha hecho esto, en ver factura puede pagarse la factura o reintegrar la factura. En
ver orden de entrega se entrega el producto. Pueden devolverse también. Una vez la factura
está pagada, se considera el pedido como realizado.
Este es un proceso que se hace por etapas. La imagen anterior es la vista de formulario, pero
en la vista lista aparecen las ventas con los detalles de los distintos momentos del pedido.
En este apartado se podrán ver, crear y editar las llamadas registradas y las planificadas, así
como crear contactos. También tiene la opción de conversión a oportunidad en la vista
formulario.
2.3 Productos
Este apartado que aquí se describe en detalle está presente también en el apartado3.2
Productos de TPV en el de compras 6.4.2 Productos , en el del almacén 7.5.2 Productos y en
el de fabricación 8.3.2 Productos.
205
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
206
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Una vez el producto está guardado en el submenú inferior aparecen las siguientes opciones de
información:
207
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
208
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
2.4
209
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Viene creado por defecto el de departamento de ventas. Tiene diferentes opciones en cuanto
a quien es el jefe del equipo, crearle un código y agregar a los miembros del equipo.
Los miembros del equipo han de estar creados previamente ( 15.4 Usuarios) pues a pesar de
que existe la opción de crearlos finalmente da error.
210
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
3.1.1 Su sesión
211
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
212
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
En este apartado pueden verse las sesiones activas. Habrá una para cada persona que maneje
la caja. Tanto para crear una sesión como para manejarla habrá de hacerlo cada usuario de
forma individual. Como se ve en la imagen aparecen las sesiones activas y las que han sido
cerradas y contabilizadas.
3.1.3 Pedidos
Inicialmente aparecerá la lista con todos los pedidos que se llevan, así como del de las cajas, en
el caso de estar contabilizadas directamente entera y si no pedido a pedido a pedido.
213
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
NOTA: Es importante tener cuidado al crear un pedido, de que conste como pagado, porque
en ese caso no dejará contabilizar la caja ni por tanto cerrarla.
3.2 Productos
Este es el apartado donde se crea para el programa el Terminal del punto de Venta. Puede
estar en tres estados, activo, inactivo o descatalogado. Pueden ponerse los métodos de pago.
214
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Pueden tenerse distintas formas de pago, el menú que se despliega al crear una es el que
sigue:
215
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
216
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
217
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
4. Proyecto
Para tener este módulo completo habrá que instalar dos aplicaciones, Project e Issue Tracker.
Son solo 3 objetos pero que llegan a constar de las 6 vistas en el caso del objeto tareas. Este
módulo está prácticamente relacionado con todos los demás para facilitar la gestión y
coordinación, en las siguientes imágenes se especifican algunas de las interacciones. Se trata
probablemente del módulo más importante de OpenERP.
218
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Si pulsamos en tareas:
Las incidencias funcionan de manera análoga a las tareas. Así un proyecto estará compuesto
por su información general, sus tareas y sus incidencias. Una vez creados los proyectos
aparecerán en la bandeja de entrada de la siguiente manera:
Si se pulsa directamente sobre cada uno de ellos aparecerán las tareas o las incidencias
correspondientes. Véase que también hay un desplegable para marcar las realizadas y las
canceladas. Si marcamos en la primera por ejemplo:
219
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Y así quedan reflejadas en este caso las dos tareas y la incidencia, que podrán editarse
pulsando directamente sobre ellas. Si sin embargo lo que se quiere es editar el proyecto de
forma general habrá que ir a la vista lista, marcar el proyecto a editar e ir a la vista formulario.
Por otra parte, no será necesario que la aplicación Issue Tracker esté instalada, en este caso
únicamente desaparecerían las incidencias.
OpenERP también permite insertar comentarios y documentos dentro de una tarea, como
nota o como mensaje.
220
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Algo muy a tener en cuenta y que puede resultar de mucha utilidad es la vista Gantt ya que
ayuda notablemente en la planificación de las tareas. Por ejemplo en el caso de este mismo
proyecto:
221
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5. Contabilidad
5.1 Clientes
Podrá crearse una factura desde este apartado o desde 2.1.5 Pedido de
ventas en su parte correspondiente.
222
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Una vez validada aparecerá el siguiente cuadro con las opciones de enviarla, pagarla o
reintegrarla. Podrá imprimirse también utilizando como cabecera los datos relativos a l a
empresa que se definen en la parte de compañía, donde está el logo.
Una factura rectificativa es un documento que abona una factura total o parcialmente. En
lugar de crear una factura rectificativa manualmente, puede generarla directamente desde la
misma factura origen en la opción de reintegrar factura.
223
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
224
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aparecerán los que ya estén contabilizados en otros apartados y podrán crearse nuevos.
5.1.5 Clientes
Se crearán exactamente igual que un contacto solo que se considerarán solo como clientes a
los que estén en este punto o en el de clientes en el apartado de ventas.
5.2 Proveedores
Puede controlar la factura de su proveedor según lo que compró o recibió. OpenERP también
puede generar borradores de facturas automáticamente a partir de pedidos o recibos de
compra.
225
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
226
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
227
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
OpenERP le ayuda a gestionar fácilmente los pagos que hace y los saldos pendientes que
necesita pagar a sus proveedores.
5.2.5 Proveedores
OpenERP le ayuda a gestionar todas las actividades relacionadas con los proveedores:
discusiones, historial de oportunidades de negocio, documentos, etc. Este apartado también
aparece en el de Compras.
En los apartados en que mande seleccionar un proveedor, si no está entre los existentes el
programa aporta la opción de crearlos de manera instantánea.
228
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
En el menú lateral puede crearse una factura del proveedor y puede solicitarse un presupuesto
en pedidos de compra. La solicitud de presupuesto (SdP) es el primer paso en el flujo de
compras. Una vez convertida en un pedido de compra, será capaz de gestionar la recepción de
los productos y la factura de proveedor.
229
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
OpenERP le permite conciliar una línea del extracto directamente con las facturas de compra o
venta relacionadas. Si se pulsa crear:
230
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí constarán los registros de las cajas. Desde el apartado 3. Terminal Punto de venta estos
datos no aparecen. Podrá accederse a los existentes o crear nuevos.
231
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
232
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
233
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
En el apartado de asientos contables aparecerán todos los del ejercicio en que se esté. En la
vista formulario podrán verse los detalles de cada uno. Un ejemplo:
234
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Para crear uno nuevo, se hará desde esta ventana en vista formulario. Si se pulsa sobre cada
uno de los registros se accede a los apuntes contables.
Al igual que en el apartado anterior pulsando sobre cada uno se accede a los puntos contables
y en vista formulario para editar y crear.
235
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.6.2 Conciliación
Un asiento recurrente ocurre en un plazo recurrente desde una fecha específica, por ejemplo
correspondiendo con la firma de un contrato con un empleado, un cliente o un proveedor.
Puede crear dichas entradas para automatizar las entradas en el sistema.
236
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
237
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.7 Informe
238
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.7.1.2 Diarios
239
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
240
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
241
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.7.2.1 Empresas
242
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.7.2.2Informe impuestos
5.8 Configuración
5.8.1 Periodos
243
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.1.2 Periodos
5.8.2 Diarios
244
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.3 Cuentas
Configure las cuentas bancarias de su compañía y seleccione las que deben aparecer al pie del
informe. Si usa la aplicación de contabilidad de OpenERP, los diarios y las cuentas serán
creados automáticamente en base a esta información.
245
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.3.2 Cuentas
5.8.3.3 Plantillas
5.8.3.3.1 Cuentas
246
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Al añadir un impuesto:
Por defecto Open ERP tiene 4674 plantillas de cuentas, aún así pueden crearse las que se
deseen:
247
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.3.3.2 Impuestos
248
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.4 Impuestos
249
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
5.8.5Informes financieros
250
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
251
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
6. Compras (Purchases)
6.1 Compras
6.1.1 Presupuestos
252
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Use este menú para buscar sus pedidos de compra por referencias, proveedor, productos, etc.
Para cada pedido de venta, puede controlar la discusión relativa con el proveedor, controlar
los productos recibidos y controlar las facturas de proveedor.
Los albaranes de entrada es la lista de todos los pedidos que recibirá de sus proveedores. Un
albarán de entrada contiene una lista de productos a ser recibidos de acuerdo con el pedido de
compra original.
253
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí puede recibir productos individuales, no importa de qué pedido de compra o de qué
albarán provengan. Encontrará la lista de todos los productos que está esperando. Una vez
recibido un pedido, puede realizar un filtro basado en el nombre del proveedor o la referencia
del pedido de venta. Puede confirmar entonces todos los productos recibidos usando los
botones a la derecha de cada línea.
Use este menú para controlar las facturas a ser recibidas de sus proveedores. OpenERP genera
facturas borrados de los pedidos de venta o recepciones, dependiendo de su configuración.
Una vez recibe una factura de proveedor, puede casarla con la factura en borrador y validarla.
254
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí puede seguir todas las líneas de los pedidos de compra cuya facturación sea "Basada en
las líneas de pedido de compra", y para las cuales aún no ha recibido factura de proveedor.
Puede generar facturas de compra borrador basadas en las líneas de esta lista.
Aquí puede seguir el rastro a todas las recepciones de producto de los pedidos de compra
cuando la facturación está "Basada en recepciones", y para las que no ha recibido una factura
de proveedor aún. Puede generar una factura de proveedor basada en estas recepciones.
255
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
6.4 Productos
6.4.2 Productos
El apartado es el mismo que el 2.3 Productos y en para distinguir que productos son los que
se compran de los que se venden basta con marcarlo en la casilla correspondiente. También
aparece en el apartado de TPV 3.2 Productos y en el de almacén 7.5.2 Productos y en el de
fabricación 8.3.2 Productos
256
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
7. Almacén
257
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí puede recibir productos individuales, no importa de qué pedido de compra o de qué
albarán provengan. Encontrará la lista de todos los productos que está esperando. Una vez
recibido un pedido, puede realizar un filtro basado en el nombre del proveedor o l a referencia
del pedido de venta. Puede confirmar entonces todos los productos recibidos usando los
botones a la derecha de cada línea. Es el mismo apartado de compras que 6.2.2 Productos a
recibir.
Puede encontrar en esta lista todos los productos que tiene que entregar a sus clientes. Puede
procesar las entregas directamente usando los botones a la derecha de cada línea. Puede
filtrar los productos a entregar por cliente, producto o pedido de venta (usando el campo
'Origen').
258
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Los inventarios periódicos se usan para contar el nº de productos disponible por ubicación.
Puede usar uno al año cuando se realice el inventario general o siempre que lo necesite, para
adaptar el nivel actual de inventario de un producto.
7.4 Planificaciones
259
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
7.5 Productos
7.5.2 Productos
Es el mismo apartado que se encuentra en las secciones de Ventas 2.3 Productos y en los
apartados 3.2 Productos de TPV y en el de compras 6.4.2 Productos y en el de fabricación
8.3.2 Productos
Puede definir sus reglas de stock mínimo, para que OpenERP cree órdenes de producción en
borrador o solicitudes de presupuesto de forma automática de acuerdo a los niveles de stock.
Una vez que el stock virtual de un producto (= stock real menos todos los pedidos de venta
confirmados y todas las reservas) está por debajo de la cantidad mínima, OpenERP generará
una petición de abastecimiento para incrementar el stock hasta la cantidad máxima.
260
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
261
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
8. Fabricación
Este apartado remite a un calendario sobre el cual al pulsar en una fecha abre el apartado de
crear la orden de producción.
8.3 Productos
Permite crear una lista con los materiales y su descripción. Estas listas se hacen para formar
parte de un producto, con lo que pueden crearse a partir del apartado de productos.
8.3.2 Productos
Es el mismo apartado que se encuentra en las secciones de Ventas 2.3 Productos y en los
apartados 3.2 Productos de TPV, en el de compras 6.4.2 Productos y en 7.5.2 Productos.
262
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Mientras que en el apartado de lista de materiales aparece el producto con su material aquí
aparecen todos. Si un sub-producto se usa en varios productos puede ser útil crear su propia
LdM.Sin embargo, si no quiere órdenes de fabricación separadas para este subproducto,
seleccione “conjuntos/fantasma” como tipo de LdM. Si una LdM fantasma se usa para un
producto raíz, será vendido y entregado como un conjunto de componentes, en lugar de ser
fabricado.
263
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
9. Recursos humanos
9.1 Empleados
Si establece la pasarela de correo, los solicitantes y sus CVs adjuntos serán creados
automáticamente cuando se envíe un correo a la dirección indicada (por ejemplo,
solicitudes@tucompañia.com). Si instala el módulo de administración de documentos, todos
los CVs serán indexados automáticamente, para que pueda buscar fácilmente en todo su
contenido.
264
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
265
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Debe registrar los partes de horas cada día y confirmarlos al final de la semana. Una vez el
parte de horas esté confirmado, debe ser validado por un responsable.
Los partes de horas también pueden ser facturados a los clientes, dependiendo de la
configuración del contrato relativo a cada proyecto.
Puede registrar y hacer un seguimiento de sus horas de trabajo por proyecto a diario. Todo
tiempo invertido en un proyecto generará un coste asociado en el contrato/cuenta analítica y
puede ser facturado si es preciso.
9.4 Gastos
OpenERP se asegurará que se sigue todo el proceso: la hoja de gastos es validada por el
responsable, al empleado se le reembolsa sus gastos, y algunos gastos pueden ser re-
facturados a los clientes.
266
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
9.5Ausencias
Una vez grabada su petición, se enviará a su supervisor para que la valide. Asegúrese de poner
el tipo de ausencia correcta (recuperación, vacaciones, enfermedad) y el número exacto de
días.
Una vez creada la petición pasa a este apartado en que el responsable decidirá si la aprueba o
no.
267
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Una vez creada la petición pasa a este apartado en que el responsable decidirá si la aprueba o
no.
9.6 Evaluación
9.6.1 Evaluaciones
Cada empleado debe tener asignado un plan de evaluación. Cada plan define la frecuencia y la
forma en la que se administran las evaluaciones personales. Podrá definir pasos y adjuntar
entrevistas a cada paso. OpenERP gestiona todo tipo de evaluaciones: de abajo a arriba, de
arriba a abajo, auto-evaluaciones y evaluaciones finales por el responsable.
268
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
269
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
9.7 Configuración
Los puestos de trabajo se usan para definir puestos y sus requisitos. Puede seguir el número de
empleados que tiene por puesto de trabajo y su evolución de acuerdo a lo que tiene planeado
para el futuro.
9.7.2 Departamentos
270
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Es el mismo apartado que crear un producto, solo que en la calificación se le considera gasto.
Aquí se crea directamente el plan de evaluación que se trata en el apartado 9.6.1 Evaluaciones.
271
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
10. Comidas
10.1 Comidas
Un pedido de comida se define con el usuario solicitante, la fecha y las líneas de pedido. Cada
línea de pedido corresponde a un producto, comentarios adicionales y un precio. Antes de
seleccionar sus líneas de pedido, no olvide leer las advertencias mostradas en el área rojiza.
Objeto destinado a hacer una descripción de cada una de las comidas, incluyendo la fecha el
nombre del usuario y el importe.
272
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí puede ver los pagos de los empleados. Un pago es un movimiento de caja del empleado a
la compañía.
10.4 Configuración
10.4.1Productos
273
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
10.4.3 Alertas
Las alertas se usan para avisar a los empleados de posibles incidencias relacionadas con los
pedidos de comida. Para crear una alerta de comida debe definir su recurrencia: el intervalo de
tiempo durante el que las alertas deben ejecutarse y el mensaje a mostrar.
Ejemplo:
- Recurrencia: Semanal. Lunes.
- Intervalo de tiempo: de 7:00 a 23:59
- Mensaje: "Los lunes no se incluirá pescado en el menú"
274
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
11. Flota
11.1 Vehículos
275
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Gestione todos sus contratos (leasing, seguros, etc.) con sus servicios y costes relacionados.
OpenERP le avisará automáticamente cuando algún contrato deba ser renovado.
Cada contrato (por ejemplo: leasing) puede incluir varios servicios ( reparación, seguro,
mantenimiento periódico...).
276
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Aquí puede añadir varias entradas de odómetros para todos los vehículos. Puede también
mostrar los valores de odómetro para un vehículo en particular usando el campo de búsqueda.
Aquí puede añadir entradas de reabastecimiento de combustible para todos los vehículos.
Puede también filtrar los registros de un vehículo en particular usando el campo de búsqueda.
OpenERP le ayuda a seguir todos los servicios realizados en su vehículo. Los servicios pueden
ser de muchos tipos: reparaciones ocasionales, mantenimiento, fijos, etc.
277
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Puede personalizar los estados disponibles para seguir la evolución de cada vehículo. Por
ejemplo: Activo, siendo reparado, vendido, etc.
278
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
12. Eventos
279
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
13. Encuestas
13.1 Encuestas
OpenERP por defecto trae tres que están totalmente en inglés incluso en su versión en
castellano. Job survey que es una encuesta sobre el empleo, Self-appraisal que es un
cuestionario de autoevaluación y Employee opinión que trata sobre las opiniones del
empleados. Además de cómo ejemplo pueden servir como modelo para crear las propias.
280
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
281
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
14 Informes
14.1 Tableros
14.1.1 Mi tablero
14.1.2 CRM
282
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
14.1.3 Ventas
14.3 Encuestas
283
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
14.9.8 Informes
284
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
285
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15 Configuración
15.1 Módulos
Podrán instalarse estos módulos que son los básicos o seguir buscando, hay más de 1500,
aunque la mayoría se corresponden con las adaptaciones a los diferentes idiomas y dialectos.
En muchos casos habrá que estar registrado para poder descargarse los módulos.En ocasiones
serán de pago, en otras gratuitos y cobrarán el mantenimiento, pero es una opción
deshabilitable.
286
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15.2 Configuración
15.2.2 Compras
287
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15.2.3 Almacén
15.2.4 Manufacturas
15.2.5 Proyectos
288
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15.2.6 Contabilidad
289
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
290
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15.3 Compañías
Esta configuración es importante ya que será la que aparezca en los infores y en las facturas.
Puede accederse a este menú directamente pulsando en la casilla de la izquierda en que se
indica el “logo “ de la empresa.
291
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
15.4 Usuarios
En este apartado se crearán los usuarios del OpenERP. Estos podrán corresponder o no con los
empleados de la misma. Los permisos de acceso se configuran para los módulos de OpenERP,
los permisos de los propios habrá que configurarlos en el apartado grupos, y habrá que hacerlo
objeto a objeto.
292
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Para introducir la contraseña, una vez el contacto ha sido guardado, en la vista lista se
selecciona el usuario, se pulsa la tecla más y en ella cambiar contraseña.
Permite cargar una traducción de OpenERP. Aún así la traducción no es completa ni siquiera en
un idioma como el castellano. En el menú de preferencias del usuario podrá cambiarse el
idioma.
15.6 Técnico
293
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
1.2.4 Categorías
2. Ventas
En este apartado en la mayoría de los casos los objetos pueden crearse desde la
opción crear cada vez que se necesite uno. A continuación se detallarán aquellos
que aporten algo diferente a una mera enumeración.
294
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Cree categorías específicas que puede asignar a sus contactos para administrar mejor sus
interacciones con ellos. La herramienta de segmentación es capaz de asignar categorías a los
contactos de acuerdo a los criterios que establezca.
- El resto de las categorías que siguen lo están en forma de enumeración como el siguiente
ejemplo por lo que ya no se seguirán describiendo.
295
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Botón de la derecha:Usuario
Está justo al lado del de los mensajes, es una de las partes más importantes del ERP, desde
aquí por ejemplo es desde donde se cierra sesión. Al pulsarlo se abre el siguiente menú
desplegable:
Al pulsar Mi cuenta OpenERP. Com redirecciona a la página de esta web en la cual se pedirá
que se registre. Salvo que se tengan los conocimientos necesarios será evitable está opción.
296
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Es importante y añade al ERP nuevos apartados en los cuales habrá que tener cuidado en su
utilización y será mejor hacerlo para casos concretos. Es especialmente útil para conocer el
nombre de los objetos. Una vez está activado basta con poner el ratón encima de un campo
para que aparezca la información sobre este.
297
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
Lo que se puede apreciar en un primer lugar al lado de la mayoría de los apartados es que se
despliega la siguiente ventana al lado del nombre de cada uno, con una interrogación al lado
que abrirá un nuevo menú.
298
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
299
ANEXO II: Guía descriptiva de módulos básicos de OpenERP
300
ANEXO III
MÓDULOS
PROGRAMADOS
ANEXO III: MÓDULOS PROGRAMADOS
1. Lista de correos.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
import lista_correos
Archivo __openerp__.py
##############################################################################
303
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["lista_correos.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
304
ANEXO III: MÓDULOS PROGRAMADOS
Archivo lista_correos.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class lista_correos_listageneral(osv.osv):
_name = 'lista_correos.listageneral'
_columns = {
305
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_listageneral()
class lista_correos_bajas(osv.osv):
_name = 'lista_correos.bajas'
_description = 'Bajas'
_columns = {
lista_correos_bajas()
class lista_correos_ingenierias(osv.osv):
_name = 'lista_correos.ingenierias'
_description = 'Ingenierias'
_columns = {
306
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_ingenierias()
class lista_correos_instaladoras(osv.osv):
_name = 'lista_correos.instaladoras'
_description = 'Instaladoras'
_columns = {
lista_correos_instaladoras()
class lista_correos_sondeos(osv.osv):
_name = 'lista_correos.sondeos'
_description = 'Sondeos'
307
ANEXO III: MÓDULOS PROGRAMADOS
_columns = {
lista_correos_sondeos()
class lista_correos_distribuidoras(osv.osv):
_name = 'lista_correos.distribuidoras'
_description = 'Distribuidoras'
_columns = {
lista_correos_distribuidoras()
class lista_correos_arquitectura(osv.osv):
308
ANEXO III: MÓDULOS PROGRAMADOS
_name = 'lista_correos.arquitectura'
_description = 'Arquitectura'
_columns = {
lista_correos_arquitectura()
class lista_correos_sudamerica(osv.osv):
_name = 'lista_correos.sudamerica'
_description = 'Sudamerica'
_columns = {
lista_correos_sudamerica()
309
ANEXO III: MÓDULOS PROGRAMADOS
class lista_correos_otras(osv.osv):
_name = 'lista_correos.otras'
_description = 'Otras'
_columns = {
lista_correos_otras()
class lista_correos_agenciasenergia(osv.osv):
_name = 'lista_correos.agenciasenergia'
_columns = {
310
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_agenciasenergia()
class lista_correos_asociaciones(osv.osv):
_name = 'lista_correos.asociaciones'
_description = 'Asociaciones'
_columns = {
lista_correos_asociaciones()
class lista_correos_colegiosprofesionales(osv.osv):
_name = 'lista_correos.colegiosprofesionales'
_columns = {
311
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_colegiosprofesionales()
class lista_correos_universidad(osv.osv):
_name = 'lista_correos.universidad'
_description = 'Universidad'
_columns = {
class lista_correos_otrosa(osv.osv):
_name = 'lista_correos.otrosa'
_description = 'Otra'
_columns = {
312
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_otrosa()
class lista_correos_galicia(osv.osv):
_name = 'lista_correos.galicia'
_description = 'Galicia'
_columns = {
lista_correos_galicia()
class lista_correos_estatal(osv.osv):
_name = 'lista_correos.estatal'
_description = 'Estatal'
_columns = {
313
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_estatal()
class lista_correos_extranjero(osv.osv):
_name = 'lista_correos.extranjero'
_description = 'Extranjero'
_columns = {
lista_correos_extranjero()
class lista_correos_especializados(osv.osv):
_name = 'lista_correos.especializados'
_description = 'Especializados'
_columns = {
314
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_especializados()
_name = 'lista_correos.online'
_description = 'Online'
_columns = {
lista_correos_online()
class lista_correos_otross(osv.osv):
_name = 'lista_correos.otross'
_description = 'Otro'
_columns = {
315
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_otross()
class lista_correos_personas(osv.osv):
_name = 'lista_correos.personas'
_description = 'Personas'
_columns = {
lista_correos_personas()
class lista_correos_otros(osv.osv):
_name = 'lista_correos.otros'
_description = 'Otros'
_columns = {
316
ANEXO III: MÓDULOS PROGRAMADOS
lista_correos_otros()
Archivo lista_correos.xml
<openerp>
<data>
<field name="name">lista_correos.listageneral.tree</field>
<field name="model">lista_correos.listageneral</field>
<field name="type">tree</field>
317
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="listageneral">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
<field name="actividad"/>
</tree>
</field>
</record>
<field name="name">lista_correos.listageneral.form</field>
<field name="model">lista_correos.listageneral</field>
<field name="type">form</field>
<form string="listageneral">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
318
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<record id="lista_correos_listageneral_action"
model="ir.actions.act_window">
<field name="res_model">lista_correos.listageneral</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_listageneral_action"
id="lista_correos_listageneral_menu" sequence="1"
parent="lista_correos_listageneral"/>
<field name="name">lista_correos.bajas.tree</field>
<field name="model">lista_correos.bajas</field>
<field name="type">tree</field>
<tree string="bajas">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
<field name="actividad"/>
</tree>
</field>
</record>
319
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.bajas</field>
<field name="type">form</field>
<form string="listageneral">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Bajas</field>
<field name="res_model">lista_correos.bajas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_bajas_action"
id="lista_correos_bajas_menu" sequence="2"
parent="lista_correos_listageneral"/>
<field name="name">lista_correos.ingenierias.tree</field>
<field name="model">lista_correos.ingenierias</field>
320
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="ingenierias">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.ingenierias.form</field>
<field name="model">lista_correos.ingenierias</field>
<field name="type">form</field>
<form string="ingenierias">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
321
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<record id="lista_correos_ingenierias_action"
model="ir.actions.act_window">
<field name="name">Ingenierias</field>
<field name="res_model">lista_correos.ingenierias</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_ingenierias_action"
id="lista_correos_ingenierias_menu" sequence="3"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.instaladoras.tree</field>
<field name="model">lista_correos.instaladoras</field>
<field name="type">tree</field>
<tree string="instaladoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
322
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.instaladoras.form</field>
<field name="type">form</field>
<form string="instaladoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_instaladoras_action"
model="ir.actions.act_window">
<field name="name">Instaladoras</field>
<field name="res_model">lista_correos.instaladoras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_instaladoras_action"
id="lista_correos_instaladoras_menu" sequence="4"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.sondeos.tree</field>
<field name="model">lista_correos.sondeos</field>
323
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="sondeos">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.sondeos.form</field>
<field name="model">lista_correos.sondeos</field>
<field name="type">form</field>
<form string="sondeos">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
324
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<field name="name">Sondeos</field>
<field name="res_model">lista_correos.sondeos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_sondeos_action"
id="lista_correos_sondeos_menu" sequence="5"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.distribuidoras.tree</field>
<field name="model">lista_correos.distribuidoras</field>
<field name="type">tree</field>
<tree string="distribuidoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
325
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.distribuidoras.form</field>
<field name="model">lista_correos.distribuidoras</field>
<field name="type">form</field>
<form string="distribuidoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_distribuidoras_action"
model="ir.actions.act_window">
<field name="name">Distribuidoras</field>
<field name="res_model">lista_correos.distribuidoras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_distribuidoras_action"
id="lista_correos_distribuidoras_menu" sequence="6"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.arquitectura.tree</field>
<field name="model">lista_correos.arquitectura</field>
326
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="arquitectura">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.arquitectura.form</field>
<field name="model">lista_correos.arquitectura</field>
<field name="type">form</field>
<form string="arquitectura">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
327
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<record id="lista_correos_arquitectura_action"
model="ir.actions.act_window">
<field name="name">Arquitectura</field>
<field name="res_model">lista_correos.arquitectura</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_arquitectura_action"
id="lista_correos_arquitectura_menu" sequence="7"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.sudamerica.tree</field>
<field name="model">lista_correos.sudamerica</field>
<field name="type">tree</field>
<tree string="sudamerica">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
328
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.sudamerica.form</field>
<field name="model">lista_correos.sudamerica</field>
<field name="type">form</field>
<form string="sudamerica">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_sudamerica_action"
model="ir.actions.act_window">
<field name="name">Sudamerica</field>
<field name="res_model">lista_correos.sudamerica</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_sudamerica_action"
id="lista_correos_sudamerica_menu" sequence="8"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.otras.tree</field>
<field name="model">lista_correos.otras</field>
329
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="otras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.otras.form</field>
<field name="model">lista_correos.otras</field>
<field name="type">form</field>
<form string="otras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
330
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<field name="name">Otras</field>
<field name="res_model">lista_correos.otras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_otras_action"
id="lista_correos_otras_menu" sequence="9"
parent="lista_correos_tiposempresa"/>
<field name="name">lista_correos.agenciasenergia.tree</field>
<field name="model">lista_correos.agenciasenergia</field>
<field name="type">tree</field>
<tree string="agenciasenergia">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
331
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.agenciasenergia.form</field>
<field name="model">lista_correos.agenciasenergia</field>
<field name="type">form</field>
<form string="agenciasenergia">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_agenciasenergia_action"
model="ir.actions.act_window">
<field name="res_model">lista_correos.listageneral</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_agenciasenergia_action"
id="lista_correos_agenciasenergia_menu" sequence="10"
parent="lista_correos_instituciones"/>
<field name="name">lista_correos.asociaciones.tree</field>
<field name="model">lista_correos.asociaciones</field>
332
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="asociaciones">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.asociaciones.form</field>
<field name="model">lista_correos.asociaciones</field>
<field name="type">form</field>
<form string="asociaciones">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
333
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<record id="lista_correos_asociaciones_action"
model="ir.actions.act_window">
<field name="name">Asociaciones</field>
<field name="res_model">lista_correos.asociaciones</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_asociaciones_action"
id="lista_correos_asociaciones_menu" sequence="11"
parent="lista_correos_instituciones"/>
<field name="name">lista_correos.colegiosprofesionales.tree</field>
<field name="model">lista_correos.colegiosprofesionales</field>
<field name="type">tree</field>
<tree string="colegiosprofesionales">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
334
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.colegiosprofesionales.form</field>
<field name="model">lista_correos.colegiosprofesionales</field>
<field name="type">form</field>
<form string="colegiosprofesionales">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_colegiosprofesionales_action"
model="ir.actions.act_window">
<field name="res_model">lista_correos.colegiosprofesionales</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_colegiosprofesionales_action"
id="lista_correos_colegiosprofesionales_menu" sequence="12"
parent="lista_correos_instituciones"/>
<field name="name">lista_correos.otrosa.tree</field>
335
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.otrosa</field>
<field name="type">tree</field>
<tree string="otrosa">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.otrosa.form</field>
<field name="model">lista_correos.otrosa</field>
<field name="type">form</field>
<form string="otrosa">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
336
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="name">Otra</field>
<field name="res_model">lista_correos.otrosa</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_otrosa_action"
id="lista_correos_otrosa_menu" sequence="13"
parent="lista_correos_instituciones"/>
<field name="model">lista_correos.galicia</field>
<field name="type">tree</field>
<tree string="galicia">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
337
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.galicia.form</field>
<field name="model">lista_correos.galicia</field>
<field name="type">form</field>
<form string="galicia">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Galicia</field>
<field name="res_model">lista_correos.galicia</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_galicia_action"
id="lista_correos_galicia_menu" sequence="14"
parent="lista_correos_mcomunicacion"/>
<field name="name">lista_correos.estatal.tree</field>
338
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.estatal</field>
<field name="type">tree</field>
<tree string="estatal">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.estatal.form</field>
<field name="model">lista_correos.estatal</field>
<field name="type">form</field>
<form string="estatal">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
339
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="name">Estatal</field>
<field name="res_model">lista_correos.estatal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_estatal_action"
id="lista_correos_estatal_menu" sequence="15"
parent="lista_correos_mcomunicacion"/>
<field name="name">lista_correos.extranjero.tree</field>
<field name="model">lista_correos.extranjero</field>
<field name="type">tree</field>
<tree string="extranjero">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
340
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.extranjero.form</field>
<field name="model">lista_correos.extranjero</field>
<field name="type">form</field>
<form string="extranjero">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="lista_correos_extranjero_action"
model="ir.actions.act_window">
<field name="name">Extranjero</field>
<field name="res_model">lista_correos.extranjero</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_extranjero_action"
id="lista_correos_extranjero_menu" sequence="16"
parent="lista_correos_mcomunicacion"/>
<field name="name">lista_correos.especializados.tree</field>
341
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.especializados</field>
<field name="type">tree</field>
<tree string="especializados">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.especializados.form</field>
<field name="model">lista_correos.especializados</field>
<field name="type">form</field>
<form string="especializados">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
342
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<record id="lista_correos_especializados_action"
model="ir.actions.act_window">
<field name="name">Especializados</field>
<field name="res_model">lista_correos.especializados</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_especializados_action"
id="lista_correos_especializados_menu" sequence="17"
parent="lista_correos_mcomunicacion"/>
<field name="name">lista_correos.online.tree</field>
<field name="model">lista_correos.online</field>
<field name="type">tree</field>
<tree string="online">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
343
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.online.form</field>
<field name="model">lista_correos.online</field>
<field name="type">form</field>
<form string="online">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Online</field>
<field name="res_model">lista_correos.online</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_online_action"
id="lista_correos_online_menu" sequence="18"
parent="lista_correos_mcomunicacion"/>
344
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.otross</field>
<field name="type">tree</field>
<tree string="otross">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.otross.form</field>
<field name="model">lista_correos.otross</field>
<field name="type">form</field>
<form string="otross">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
345
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="name">Otro</field>
<field name="res_model">lista_correos.otros</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_otross_action"
id="lista_correos_otross_menu" sequence="19"
parent="lista_correos_mcomunicacion"/>
<field name="name">lista_correos.personas.tree</field>
<field name="model">lista_correos.personas</field>
<field name="type">tree</field>
<tree string="personas">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
346
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">lista_correos.personas.form</field>
<field name="model">lista_correos.personas</field>
<field name="type">form</field>
<form string="personas">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Personas</field>
<field name="res_model">lista_correos.personas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_personas_action"
id="lista_correos_personas_menu" sequence="20"
parent="lista_correos_prescriptores"/>
<field name="name">lista_correos.otros.tree</field>
347
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">lista_correos.otros</field>
<field name="type">tree</field>
<tree string="otros">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">lista_correos.otros.form</field>
<field name="model">lista_correos.otros</field>
<field name="type">form</field>
<form string="otros">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
348
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="name">Otros</field>
<field name="res_model">lista_correos.otros</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="lista_correos_otros_action"
id="lista_correos_otros_menu" sequence="21"
parent="lista_correos_prescriptores"/>
</data>
</openerp>
349
ANEXO III: MÓDULOS PROGRAMADOS
2. Asociados.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
import asociados
Archivo __openerp__.py
##############################################################################
350
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Asociados",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["asociados.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
351
ANEXO III: MÓDULOS PROGRAMADOS
Archivo asociados.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class asociados_juntadirectiva(osv.osv):
_name = 'asociados.juntadirectiva'
_columns = {
352
ANEXO III: MÓDULOS PROGRAMADOS
asociados_juntadirectiva()
class asociados_grupos(osv.osv):
_name = 'asociados.grupos'
_rac_name='name'
_columns = {
'miembrosdelgrupo_id':
fields.one2many('asociados.miembrosgt','name_id','Miembros del grupo'),
asociados_grupos()
class asociados_miembrosgt(osv.osv):
_name = 'asociados.miembrosgt'
_columns = {
'name_id': fields.many2one('asociados.grupos','Grupo', ),
353
ANEXO III: MÓDULOS PROGRAMADOS
asociados_miembrosgt()
class asociados_lista(osv.osv):
_name = 'asociados.lista'
_columns = {
'concesionsello_id': fields.many2one('asociados.concesionsello','Concesión
sello', help='Sello concedido o no'),
354
ANEXO III: MÓDULOS PROGRAMADOS
'altaenselloper_id': fields.many2one('asociados.altaenselloper','Alta en
sello', help='Alta en sello calidad perforación'),
'concesionselloper_id':
fields.many2one('asociados.concesionselloper','Concesión sello', help='Sello
concedido o no'),
'denegadasper_id': fields.many2one('asociados.denegadasper','Denegado',
help='Sello denegado y motivos'),
asociados_lista()
class asociados_clasificacion(osv.osv):
_name = 'asociados.clasificacion'
_columns = {
asociados_clasificacion()
class asociados_altas(osv.osv):
_name = 'asociados.altas'
_description = 'Altas'
_columns = {
355
ANEXO III: MÓDULOS PROGRAMADOS
asociados_altas()
class asociados_bajas(osv.osv):
_name = 'asociados.bajas'
_description = 'Bajas'
_columns = {
356
ANEXO III: MÓDULOS PROGRAMADOS
asociados_bajas()
class asociados_variaciones(osv.osv):
_name = 'asociados.variaciones'
_description = 'Variaciones'
_columns = {
asociados_variaciones()
class asociados_otros(osv.osv):
_name = 'asociados.otros'
_description = 'Otros'
_columns = {
357
ANEXO III: MÓDULOS PROGRAMADOS
asociados_otros()
class asociados_ingenierias(osv.osv):
_name = 'asociados.ingenierias'
_description = 'Ingenierias'
_columns = {
asociados_ingenierias()
class asociados_instaladoras(osv.osv):
358
ANEXO III: MÓDULOS PROGRAMADOS
_name = 'asociados.instaladoras'
_description = 'Instaladoras'
_columns = {
asociados_instaladoras()
class asociados_sondeos(osv.osv):
_name = 'asociados.sondeos'
_description = 'Sondeos'
_columns = {
asociados_sondeos()
359
ANEXO III: MÓDULOS PROGRAMADOS
class asociados_distribuidoras(osv.osv):
_name = 'asociados.distribuidoras'
_description = 'Distribuidoras'
_columns = {
asociados_distribuidoras()
class asociados_institucionales(osv.osv):
_name = 'asociados.institucionales'
_description = 'Institucionales'
_columns = {
360
ANEXO III: MÓDULOS PROGRAMADOS
asociados_institucionales()
class asociados_arquitectura(osv.osv):
_name = 'asociados.arquitectura'
_description = 'Arquitectura'
_columns = {
asociados_arquitectura()
class asociados_otras(osv.osv):
_name = 'asociados.otras'
_description = 'Otras'
_columns = {
361
ANEXO III: MÓDULOS PROGRAMADOS
asociados_otras()
class asociados_altaensello(osv.osv):
_name = 'asociados.altaensello'
_rac_name='name'
_columns = {
asociados_altaensello()
class asociados_concesionsello(osv.osv):
_name = 'asociados.concesionsello'
_rac_name='name'
_columns = {
362
ANEXO III: MÓDULOS PROGRAMADOS
asociados_concesionsello()
class asociados_denegadas(osv.osv):
_name = 'asociados.denegadas'
_description = 'Denegadas'
_rac_name='name'
_columns = {
asociados_denegadas()
class asociados_altaenselloper(osv.osv):
_name = 'asociados.altaenselloper'
_rac_name='name'
_columns = {
asociados_altaenselloper()
363
ANEXO III: MÓDULOS PROGRAMADOS
class asociados_concesionselloper(osv.osv):
_name = 'asociados.concesionselloper'
_rac_name='name'
_columns = {
asociados_concesionselloper()
class asociados_denegadasper(osv.osv):
_name = 'asociados.denegadasper'
_description = 'Denegadas'
_rac_name='name'
_columns = {
asociados_denegadasper()
364
ANEXO III: MÓDULOS PROGRAMADOS
Archivo asociados.xml
<openerp>
<data>
<field name="name">asociados.juntadirectiva.kanban</field>
<field name="model">asociados.juntadirectiva</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('asociados.juntadirectiva', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
365
ANEXO III: MÓDULOS PROGRAMADOS
<a type="edit">
<field name="cargo"></field>
</a>
</h4>
<ul>
<li><field name="nombre"></field>
</li>
<li><field name="empresa"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">asociados.juntadirectiva.tree</field>
<field name="model">asociados.juntadirectiva</field>
<field name="type">tree</field>
<tree string="juntadirectiva">
<field name="cargo"/>
<field name="nombre"/>
<field name="empresa"/>
<field name="telefonoempresa"/>
<field name="movil"/>
<field name="email"/>
</tree>
</field>
</record>
366
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.juntadirectiva.form</field>
<field name="model">asociados.juntadirectiva</field>
<field name="type">form</field>
<form string="juntadirectiva">
<group string="Ficha">
<field name="cargo"/>
<field name="nombre"/>
<field name="empresa"/>
</group>
<group>
<field name="telefonoempresa"/>
<field name="movil"/>
<field name="email"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<record id="asociados_juntadirectiva_action"
model="ir.actions.act_window">
<field name="res_model">asociados.juntadirectiva</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
367
ANEXO III: MÓDULOS PROGRAMADOS
<menuitem action="asociados_juntadirectiva_action"
id="asociados_juntadirectiva_menu" sequence="1"
parent="asociados_organizacion"/>
<field name="name">asociados.grupos.kanban</field>
<field name="model">asociados.grupos</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('asociados.grupos', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="name"></field>
</a>
</h4>
<ul>
<li><field name="coordinador"></field>
</li>
<li><field name="telefono"></field>
</li>
</ul>
</div>
</div>
368
ANEXO III: MÓDULOS PROGRAMADOS
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">asociados.grupos.tree</field>
<field name="model">asociados.grupos</field>
<field name="type">tree</field>
<tree string="grupos">
<field name="name"/>
<field name="coordinador"/>
<field name="telefono"/>
<field name="correo"/>
</tree>
</field>
</record>
<field name="name">asociados.grupos.form</field>
<field name="model">asociados.grupos</field>
<field name="type">form</field>
<form string="grupos">
<group string="Ficha">
<field name="name"/>
<field name="coordinador"/>
</group>
<group>
<field name="telefono"/>
369
ANEXO III: MÓDULOS PROGRAMADOS
<field name="correo"/>
</group>
<newline/>
<field name="miembrosdelgrupo_id"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="res_model">asociados.grupos</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<field name="name">asociados.miembrosgt.tree</field>
<field name="model">asociados.miembrosgt</field>
<field name="type">tree</field>
<tree string="miembrosgt">
<field name="nombre"/>
<field name="empresa"/>
370
ANEXO III: MÓDULOS PROGRAMADOS
<field name="telefonoempresa"/>
<field name="movil"/>
<field name="email"/>
</tree>
</field>
</record>
<field name="name">asociados.miembrosgt.form</field>
<field name="model">asociados.miembrosgt</field>
<field name="type">form</field>
<form string="miembrosgt">
<field name="name_id"/>
<field name="nombre"/>
<field name="empresa"/>
</group>
<group>
<field name="telefonoempresa"/>
<field name="movil"/>
<field name="email"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
371
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.lista.kanban</field>
<field name="model">asociados.lista</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('asociados.lista', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field
name="nombrecliente"></field>
</a>
</h4>
<ul>
</ul>
</div>
</div>
</t>
</templates>
372
ANEXO III: MÓDULOS PROGRAMADOS
</kanban>
</field>
</record>
<field name="name">asociados.lista.tree</field>
<field name="model">asociados.lista</field>
<field name="type">tree</field>
<tree string="lista">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">asociados.lista.form</field>
<field name="model">asociados.lista</field>
<field name="type">form</field>
<form string="lista">
373
ANEXO III: MÓDULOS PROGRAMADOS
<group string="Datos">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</group>
<notebook colspan="2">
<page string="Instaladores">
<field name="altaensello_id"/>
<field name="concesionsello_id"/>
<field name="denegadas_id"/>
</group>
</page>
<page string="Perforación">
<field name="altaenselloper_id"/>
<field name="concesionselloper_id"/>
<field name="denegadasper_id"/>
</group>
</page>
374
ANEXO III: MÓDULOS PROGRAMADOS
</notebook>
</group>
</form>
</field>
</record>
<field name="res_model">asociados.lista</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<field name="name">asociados.clasificacion.tree</field>
<field name="model">asociados.clasificacion</field>
<field name="type">tree</field>
<tree string="clasificacion">
<field name="nombre"/>
<field name="distribuidora"/>
<field name="ingenieria"/>
<field name="instaladora"/>
<field name="sondeos"/>
<field name="institucionales"/>
<field name="arquitectura"/>
<field name="otrasactividades"/>
</tree>
</field>
</record>
375
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.clasificacion.form</field>
<field name="model">asociados.clasificacion</field>
<field name="type">form</field>
<form string="clasificacion">
<field name="nombre"/>
<field name="distribuidora"/>
<field name="ingenieria"/>
<field name="instaladora"/>
<field name="sondeos"/>
<field name="institucionales"/>
<field name="arquitectura"/>
<newline/>
</group>
</form>
</field>
</record>
<field name="res_model">asociados.clasificacion</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_clasificacion_action"
id="asociados_clasificacion_menu" sequence="5"
parent="asociados_informacion"/>
376
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.altas.tree</field>
<field name="model">asociados.altas</field>
<field name="type">tree</field>
<tree string="altas">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">asociados.altas.form</field>
<field name="model">asociados.altas</field>
<field name="type">form</field>
<form string="altas">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
377
ANEXO III: MÓDULOS PROGRAMADOS
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</form>
</field>
</record>
<field name="name">Altas</field>
<field name="res_model">asociados.altas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">asociados.bajas.tree</field>
<field name="model">asociados.bajas</field>
<field name="type">tree</field>
<tree string="bajas">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
378
ANEXO III: MÓDULOS PROGRAMADOS
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">asociados.bajas.form</field>
<field name="type">form</field>
<form string="bajas">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
379
ANEXO III: MÓDULOS PROGRAMADOS
<field name="web"/>
</form>
</field>
</record>
<field name="name">Bajas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">asociados.variaciones.tree</field>
<field name="model">asociados.variaciones</field>
<field name="type">tree</field>
<tree string="variaciones">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
380
ANEXO III: MÓDULOS PROGRAMADOS
<field name="web"/>
</tree>
</field>
</record>
<field name="name">asociados.variaciones.form</field>
<field name="model">asociados.variaciones</field>
<field name="type">form</field>
<form string="variaciones">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</form>
</field>
</record>
<field name="name">Variaciones</field>
<field name="res_model">asociados.variaciones</field>
<field name="view_type">form</field>
381
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_variaciones_action"
id="asociados_variaciones_menu" sequence="8" parent="asociados_informacion"/>
<field name="name">asociados.otros.tree</field>
<field name="model">asociados.otros</field>
<field name="type">tree</field>
<tree string="otros">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">asociados.otros.form</field>
<field name="model">asociados.otros</field>
<field name="type">form</field>
382
ANEXO III: MÓDULOS PROGRAMADOS
<form string="otros">
<field name="nombrecliente"/>
<field name="codigo"/>
<field name="numero"/>
<field name="direccion"/>
<field name="cp"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="cif"/>
<field name="telefono"/>
<field name="fax"/>
<field name="email"/>
<field name="contacto"/>
<field name="web"/>
</form>
</field>
</record>
<field name="name">Otros</field>
<field name="res_model">asociados.otros</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">asociados.ingenierias.tree</field>
<field name="model">asociados.ingenierias</field>
<field name="type">tree</field>
383
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="ingenierias">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.ingenierias.form</field>
<field name="model">asociados.ingenierias</field>
<field name="type">form</field>
<form string="ingenierias">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
384
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="name">Ingenierias</field>
<field name="res_model">asociados.ingenierias</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_ingenierias_action"
id="asociados_ingenierias_menu" sequence="10" parent="asociados_contacto"/>
<field name="name">asociados.instaladoras.tree</field>
<field name="model">asociados.instaladoras</field>
<field name="type">tree</field>
<tree string="instaladoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.instaladoras.form</field>
385
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">asociados.instaladoras</field>
<field name="type">form</field>
<form string="instaladoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Instaladoras</field>
<field name="res_model">asociados.instaladoras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_instaladoras_action"
id="asociados_instaladoras_menu" sequence="11" parent="asociados_contacto"/>
<field name="name">asociados.sondeos.tree</field>
<field name="model">asociados.sondeos</field>
<field name="type">tree</field>
<tree string="sondeos">
386
ANEXO III: MÓDULOS PROGRAMADOS
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.sondeos.form</field>
<field name="model">asociados.sondeos</field>
<field name="type">form</field>
<form string="sondeos">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
387
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Sondeos</field>
<field name="res_model">asociados.sondeos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">asociados.distribuidoras.tree</field>
<field name="model">asociados.distribuidoras</field>
<field name="type">tree</field>
<tree string="distribuidoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.distribuidoras.form</field>
<field name="model">asociados.distribuidoras</field>
<field name="type">form</field>
388
ANEXO III: MÓDULOS PROGRAMADOS
<form string="distribuidoras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<record id="asociados_distribuidoras_action"
model="ir.actions.act_window">
<field name="name">Distribuidoras</field>
<field name="res_model">asociados.distribuidoras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_distribuidoras_action"
id="asociados_distribuidoras_menu" sequence="13" parent="asociados_contacto"/>
<field name="name">asociados.arquitectura.tree</field>
<field name="model">asociados.arquitectura</field>
<field name="type">tree</field>
<tree string="arquitectura">
<field name="email"/>
389
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.arquitectura.form</field>
<field name="model">asociados.arquitectura</field>
<field name="type">form</field>
<form string="arquitectura">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
390
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Arquitectura</field>
<field name="res_model">asociados.arquitectura</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_arquitectura_action"
id="asociados_arquitectura_menu" sequence="14" parent="asociados_contacto"/>
<field name="name">asociados.otras.tree</field>
<field name="model">asociados.otras</field>
<field name="type">tree</field>
<tree string="otras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</tree>
</field>
</record>
<field name="name">asociados.otras.form</field>
<field name="model">asociados.otras</field>
<field name="type">form</field>
391
ANEXO III: MÓDULOS PROGRAMADOS
<form string="otras">
<field name="email"/>
<field name="fuente"/>
<field name="empresa"/>
<field name="poblacion"/>
<field name="provincia"/>
<field name="telefono"/>
<field name="cif"/>
<field name="direccion"/>
<field name="cp"/>
</form>
</field>
</record>
<field name="name">Otras</field>
<field name="res_model">asociados.otras</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">asociados.altaensello.tree</field>
<field name="model">asociados.altaensello</field>
<field name="type">tree</field>
<tree string="altaensello">
<field name="name"/>
<field name="fechaentrada"/>
<field name="lugarauditoria"/>
392
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fechaauditoria"/>
<field name="aprobada"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">asociados.altaensello.form</field>
<field name="model">asociados.altaensello</field>
<field name="type">form</field>
<form string="altaensello">
<field name="name"/>
<field name="fechaentrada"/>
<field name="lugarauditoria"/>
<field name="fechaauditoria"/>
<field name="aprobada"/>
<field name="observaciones"/>
</form>
</field>
</record>
<field name="res_model">asociados.altaensello</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_altaensello_action"
id="asociados_altaensello_menu" sequence="16"
parent="asociados_selloinstaladores"/>
393
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.concesionsello.tree</field>
<field name="model">asociados.concesionsello</field>
<field name="type">tree</field>
<tree string="concesionsello">
<field name="name"/>
<field name="empresa"/>
<field name="fecha"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">asociados.concesionsello.form</field>
<field name="model">asociados.concesionsello</field>
<field name="type">form</field>
<form string="concesionsello">
<field name="name"/>
<field name="empresa"/>
<field name="fecha"/>
<field name="observaciones"/>
</form>
</field>
</record>
<record id="asociados_concesionsello_action"
model="ir.actions.act_window">
<field name="res_model">asociados.concesionsello</field>
394
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_concesionsello_action"
id="asociados_concesionsello_menu" sequence="17"
parent="asociados_selloinstaladores"/>
<field name="name">asociados.denegadas.tree</field>
<field name="model">asociados.denegadas</field>
<field name="type">tree</field>
<tree string="denegadas">
<field name="name"/>
<field name="empresa"/>
<field name="pendienterevision"/>
<field name="plazo"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">asociados.denegadas.form</field>
<field name="model">asociados.denegadas</field>
<field name="type">form</field>
<form string="denegadas">
<field name="name"/>
<field name="empresa"/>
<field name="pendienterevision"/>
<field name="plazo"/>
395
ANEXO III: MÓDULOS PROGRAMADOS
<field name="observaciones"/>
</form>
</field>
</record>
<field name="name">Denegadas</field>
<field name="res_model">asociados.denegadas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_denegadas_action"
id="asociados_denegadas_menu" sequence="18"
parent="asociados_selloinstaladores"/>
<field name="name">asociados.altaenselloper.tree</field>
<field name="model">asociados.altaenselloper</field>
<field name="type">tree</field>
<tree string="altaenselloper">
<field name="name"/>
<field name="fechaentrada"/>
<field name="lugarauditoria"/>
<field name="fechaauditoria"/>
<field name="aprobada"/>
<field name="observaciones"/>
</tree>
</field>
</record>
396
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.altaenselloper.form</field>
<field name="model">asociados.altaenselloper</field>
<field name="type">form</field>
<form string="altaenselloper">
<field name="name"/>
<field name="fechaentrada"/>
<field name="lugarauditoria"/>
<field name="fechaauditoria"/>
<field name="aprobada"/>
<field name="observaciones"/>
</form>
</field>
</record>
<record id="asociados_altaenselloper_action"
model="ir.actions.act_window">
<field name="res_model">asociados.altaenselloper</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_altaenselloper_action"
id="asociados_altaenselloper_menu" sequence="19"
parent="asociados_selloperforacion"/>
<field name="name">asociados.concesionselloper.tree</field>
<field name="model">asociados.concesionselloper</field>
<field name="type">tree</field>
<tree string="concesionselloper">
<field name="name"/>
397
ANEXO III: MÓDULOS PROGRAMADOS
<field name="empresa"/>
<field name="fecha"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">asociados.concesionselloper.form</field>
<field name="model">asociados.concesionselloper</field>
<field name="type">form</field>
<form string="concesionselloper">
<field name="name"/>
<field name="empresa"/>
<field name="fecha"/>
<field name="observaciones"/>
</form>
</field>
</record>
<record id="asociados_concesionselloper_action"
model="ir.actions.act_window">
<field name="res_model">asociados.concesionselloper</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_concesionselloper_action"
id="asociados_concesionselloper_menu" sequence="20"
parent="asociados_selloperforacion"/>
398
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">asociados.denegadasper.tree</field>
<field name="type">tree</field>
<tree string="denegadasper">
<field name="name"/>
<field name="empresa"/>
<field name="pendienterevision"/>
<field name="plazo"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">asociados.denegadasper.form</field>
<field name="model">asociados.denegadasper</field>
<field name="type">form</field>
<form string="denegadasper">
<field name="name"/>
<field name="empresa"/>
<field name="pendienterevision"/>
<field name="plazo"/>
<field name="observaciones"/>
</form>
</field>
</record>
<field name="name">Denegadas</field>
<field name="res_model">asociados.denegadasper</field>
399
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="asociados_denegadasper_action"
id="asociados_denegadasper_menu" sequence="21"
parent="asociados_selloperforacion"/>
</data>
</openerp>
400
ANEXO III: MÓDULOS PROGRAMADOS
3. Legislación.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
import legislación
Archivo __openerp__.py
##############################################################################
401
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Legislación",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["legislacion.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
402
ANEXO III: MÓDULOS PROGRAMADOS
Archivo legislacion.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class legislacion_galicia(osv.osv):
_name = 'legislacion.galicia'
_description = 'Galicia'
_columns = {
403
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_galicia()
class legislacion_comunidadautonoma(osv.osv):
_name = 'legislacion.comunidadautonoma'
_columns = {
legislacion_comunidadautonoma()
class legislacion_estado(osv.osv):
_name = 'legislacion.estado'
_description = 'Estado'
_columns = {
404
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_estado()
class legislacion_unioneuropea(osv.osv):
_name = 'legislacion.unioneuropea'
_columns = {
legislacion_unioneuropea()
class legislacion_galiciaer(osv.osv):
_name = 'legislacion.galiciaer'
_description = 'Galicia'
_columns = {
405
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_galiciaer()
class legislacion_comunidadautonomaer(osv.osv):
_name = 'legislacion.comunidadautonomaer'
_columns = {
legislacion_comunidadautonomaer()
class legislacion_estadoer(osv.osv):
_name = 'legislacion.estadoer'
_description = 'Estado'
_columns = {
406
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_estadoer()
class legislacion_unioneuropeaer(osv.osv):
_name = 'legislacion.unioneuropeaer'
_columns = {
legislacion_unioneuropeaer()
class legislacion_galiciaot(osv.osv):
_name = 'legislacion.galiciaot'
_description = 'Galicia'
_columns = {
407
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_galiciaot()
class legislacion_comunidadautonomaot(osv.osv):
_name = 'legislacion.comunidadautonomaot'
_columns = {
legislacion_comunidadautonomaot()
class legislacion_estadoot(osv.osv):
_name = 'legislacion.estadoot'
_description = 'Estado'
_columns = {
408
ANEXO III: MÓDULOS PROGRAMADOS
legislacion_estadoot()
class legislacion_unioneuropeaot(osv.osv):
_name = 'legislacion.unioneuropeaot'
_columns = {
legislacion_unioneuropeaot()
Archivo legislacion.xml
<openerp>
<data>
<field name="name">legislacion.galicia.tree</field>
<field name="model">legislacion.galicia</field>
<field name="type">tree</field>
<tree string="galicia">
<field name="directiva"/>
409
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.galicia.form</field>
<field name="model">legislacion.galicia</field>
<field name="type">form</field>
<form string="galicia">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
410
ANEXO III: MÓDULOS PROGRAMADOS
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Galicia</field>
<field name="res_model">legislacion.galicia</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_galicia_action"
id="legislacion_galicia_menu" sequence="1" parent="geotermia_menu"/>
<field name="name">legislacion.comunidadautonoma.kanban</field>
<field name="model">legislacion.comunidadautonoma</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
411
ANEXO III: MÓDULOS PROGRAMADOS
t-att-
src="kanban_image('legislacion.comunidadautonoma', 'image', record.id.value)"
/>
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="comunidad"></field>
</a>
</h4>
<ul>
<li><field name="directiva"></field>
</li>
<li><field name="fuente"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">legislacion.comunidadautonoma.tree</field>
<field name="model">legislacion.comunidadautonoma</field>
<field name="type">tree</field>
<tree string="comunidadautonoma">
<field name="comunidad"/>
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
412
ANEXO III: MÓDULOS PROGRAMADOS
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.comunidadautonoma.form</field>
<field name="model">legislacion.comunidadautonoma</field>
<field name="type">form</field>
<form string="comunidadautonoma">
<group>
<field name="comunidad"/>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
413
ANEXO III: MÓDULOS PROGRAMADOS
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<record id="legislacion_comunidadautonoma_action"
model="ir.actions.act_window">
<field name="res_model">legislacion.comunidadautonoma</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="legislacion_comunidadautonoma_action"
id="legislacion_comunidadautonoma_menu" sequence="2" parent="geotermia_menu"/>
<field name="name">legislacion.estado.tree</field>
<field name="model">legislacion.estado</field>
<field name="type">tree</field>
<tree string="estado">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
414
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">legislacion.estado.form</field>
<field name="model">legislacion.estado</field>
<field name="type">form</field>
<form string="estado">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
415
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Estado</field>
<field name="res_model">legislacion.estado</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">legislacion.unioneuropea.tree</field>
<field name="model">legislacion.unioneuropea</field>
<field name="type">tree</field>
<tree string="unioneuropea">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.unioneuropea.form</field>
<field name="model">legislacion.unioneuropea</field>
<field name="type">form</field>
<form string="unioneuropea">
<group>
<field name="directiva"/>
416
ANEXO III: MÓDULOS PROGRAMADOS
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="res_model">legislacion.unioneuropea</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
417
ANEXO III: MÓDULOS PROGRAMADOS
<menuitem action="legislacion_unioneuropea_action"
id="legislacion_unioneuropea_menu" sequence="4" parent="geotermia_menu"/>
<field name="name">legislacion.galiciaer.tree</field>
<field name="model">legislacion.galiciaer</field>
<field name="type">tree</field>
<tree string="galiciaer">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.galiciaer.form</field>
<field name="model">legislacion.galiciaer</field>
<field name="type">form</field>
<form string="galiciaer">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
418
ANEXO III: MÓDULOS PROGRAMADOS
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Galicia</field>
<field name="res_model">legislacion.galiciaer</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_galiciaer_action"
id="legislacion_galiciaer_menu" sequence="5"
parent="energiasrenovables_menu"/>
<field name="name">legislacion.comunidadautonomaer.kanban</field>
<field name="model">legislacion.comunidadautonomaer</field>
419
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('legislacion.comunidadautonomaer', 'image',
record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="comunidad"></field>
</a>
</h4>
<ul>
<li><field name="directiva"></field>
</li>
<li><field name="fuente"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
420
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">legislacion.comunidadautonomaer.tree</field>
<field name="model">legislacion.comunidadautonomaer</field>
<field name="type">tree</field>
<tree string="comunidadautonomaer">
<field name="comunidad"/>
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.comunidadautonomaer.form</field>
<field name="model">legislacion.comunidadautonomaer</field>
<field name="type">form</field>
<form string="comunidadautonomaer">
<group>
<field name="comunidad"/>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
421
ANEXO III: MÓDULOS PROGRAMADOS
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<record id="legislacion_comunidadautonomaer_action"
model="ir.actions.act_window">
<field name="res_model">legislacion.comunidadautonomaer</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="legislacion_comunidadautonomaer_action"
id="legislacion_comunidadautonomaer_menu" sequence="6"
parent="energiasrenovables_menu"/>
<field name="name">legislacion.estadoer.tree</field>
<field name="model">legislacion.estadoer</field>
422
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="estadoer">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.estadoer.form</field>
<field name="model">legislacion.estadoer</field>
<field name="type">form</field>
<form string="estadoer">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
423
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Estado</field>
<field name="res_model">legislacion.estadoer</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_estadoer_action"
id="legislacion_estadoer_menu" sequence="7" parent="energiasrenovables_menu"/>
<field name="name">legislacion.unioneuropeaer.tree</field>
<field name="model">legislacion.unioneuropeaer</field>
<field name="type">tree</field>
<tree string="unioneuropeaer">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
424
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<field name="name">legislacion.unioneuropeaer.form</field>
<field name="model">legislacion.unioneuropeaer</field>
<field name="type">form</field>
<form string="unioneuropeaer">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
425
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<record id="legislacion_unioneuropeaer_action"
model="ir.actions.act_window">
<field name="res_model">legislacion.unioneuropeaer</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_unioneuropeaer_action"
id="legislacion_unioneuropeaer_menu" sequence="8"
parent="energiasrenovables_menu"/>
<field name="name">legislacion.galiciaot.tree</field>
<field name="model">legislacion.galiciaot</field>
<field name="type">tree</field>
<tree string="galiciaot">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.galiciaot.form</field>
<field name="model">legislacion.galiciaot</field>
<field name="type">form</field>
426
ANEXO III: MÓDULOS PROGRAMADOS
<form string="galiciaot">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Galicia</field>
<field name="res_model">legislacion.galiciaot</field>
427
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_galiciaot_action"
id="legislacion_galiciaot_menu" sequence="9" parent="varias_menu"/>
<field name="name">legislacion.comunidadautonomaot.kanban</field>
<field name="model">legislacion.comunidadautonomaot</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('legislacion.comunidadautonomaot', 'image',
record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="comunidad"></field>
</a>
</h4>
<ul>
<li><field name="directiva"></field>
</li>
428
ANEXO III: MÓDULOS PROGRAMADOS
<li><field name="fuente"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">legislacion.comunidadautonomaot.tree</field>
<field name="model">legislacion.comunidadautonomaot</field>
<field name="type">tree</field>
<tree string="comunidadautonomaot">
<field name="comunidad"/>
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.comunidadautonomaot.form</field>
<field name="model">legislacion.comunidadautonomaot</field>
<field name="type">form</field>
<form string="comunidadautonomaot">
<group>
429
ANEXO III: MÓDULOS PROGRAMADOS
<field name="comunidad"/>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<record id="legislacion_comunidadautonomaot_action"
model="ir.actions.act_window">
<field name="res_model">legislacion.comunidadautonomaot</field>
430
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
</record>
<menuitem action="legislacion_comunidadautonomaot_action"
id="legislacion_comunidadautonomaot_menu" sequence="10" parent="varias_menu"/>
<field name="name">legislacion.estadoot.tree</field>
<field name="model">legislacion.estadoot</field>
<field name="type">tree</field>
<tree string="estadoot">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.estadoot.form</field>
<field name="model">legislacion.estadoot</field>
<field name="type">form</field>
<form string="estadoot">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
431
ANEXO III: MÓDULOS PROGRAMADOS
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Estado</field>
<field name="res_model">legislacion.estadoot</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_estadoot_action"
id="legislacion_estadoot_menu" sequence="11" parent="varias_menu"/>
432
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">legislacion.unioneuropeaot.tree</field>
<field name="model">legislacion.unioneuropeaot</field>
<field name="type">tree</field>
<tree string="unioneuropeaot">
<field name="directiva"/>
<field name="fuente"/>
<field name="modificada"/>
<field name="derogada"/>
</tree>
</field>
</record>
<field name="name">legislacion.unioneuropeaot.form</field>
<field name="model">legislacion.unioneuropeaot</field>
<field name="type">form</field>
<form string="unioneuropeaot">
<group>
<field name="directiva"/>
<field name="modificada"/>
</group>
<group>
<field name="derogada"/>
<field name="fuente"/>
</group>
<newline/>
<notebook colspan="2">
<page string="Resumen">
433
ANEXO III: MÓDULOS PROGRAMADOS
<field name="resumen"/>
</group>
</page>
<page string="Contenido">
<field name="contenido"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="res_model">legislacion.unioneuropeaot</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="legislacion_unioneuropeaot_action"
id="legislacion_unioneuropeaot_menu" sequence="12" parent="varias_menu"/>
</data>
</openerp>
434
ANEXO III: MÓDULOS PROGRAMADOS
4. Subvenciones.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
import subvenciones
Archivo __openerp__.py
##############################################################################
435
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Subvenciones",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["subvenciones.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
436
ANEXO III: MÓDULOS PROGRAMADOS
Archivo subvenciones.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class subvenciones_geotermia(osv.osv):
_name = 'subvenciones.geotermia'
_description = 'Geotermia'
_columns = {
437
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_geotermia()
class subvenciones_renovables(osv.osv):
_name = 'subvenciones.renovables'
_description = 'Renovables'
_columns = {
438
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_renovables()
class subvenciones_energia(osv.osv):
_name = 'subvenciones.energia'
_description = 'Energia'
_columns = {
439
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_energia()
class subvenciones_otras(osv.osv):
_name = 'subvenciones.otras'
_description = 'Otras'
_columns = {
subvenciones_otras()
440
ANEXO III: MÓDULOS PROGRAMADOS
class subvenciones_unioneuropea(osv.osv):
_name = 'subvenciones.unioneuropea'
_columns = {
subvenciones_unioneuropea()
class subvenciones_otra(osv.osv):
_name = 'subvenciones.otra'
_description = 'Otras'
_columns = {
441
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_otra()
class subvenciones_cursos(osv.osv):
_name = 'subvenciones.cursos'
_description = 'Cursos'
_columns = {
442
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_cursos()
class subvenciones_congresos(osv.osv):
_name = 'subvenciones.congresos'
_description = 'Congresos'
_columns = {
443
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_congresos()
class subvenciones_material(osv.osv):
_name = 'subvenciones.material'
_description = 'Material'
_columns = {
444
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_material()
class subvenciones_difusion(osv.osv):
_name = 'subvenciones.difusion'
_description = 'Difusion'
_columns = {
subvenciones_difusion()
class subvenciones_personal(osv.osv):
_name = 'subvenciones.personal'
_description = 'Personal'
445
ANEXO III: MÓDULOS PROGRAMADOS
_columns = {
subvenciones_personal()
class subvenciones_otros(osv.osv):
_name = 'subvenciones.otros'
_description = 'Otras'
_columns = {
446
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_otros()
class subvenciones_pedidas(osv.osv):
_name = 'subvenciones.pedidas'
_description = 'Pedidas'
_columns = {
447
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_pedidas()
class subvenciones_aceptadaspendientes(osv.osv):
_name = 'subvenciones.aceptadaspendientes'
_columns = {
448
ANEXO III: MÓDULOS PROGRAMADOS
subvenciones_aceptadaspendientes()
class subvenciones_recibidas(osv.osv):
_name = 'subvenciones.recibidas'
_description = 'Recibidas'
_columns = {
subvenciones_recibidas()
449
ANEXO III: MÓDULOS PROGRAMADOS
class subvenciones_otro(osv.osv):
_name = 'subvenciones.otro'
_description = 'Otras'
_columns = {
subvenciones_otro()
450
ANEXO III: MÓDULOS PROGRAMADOS
Archivo subvenciones.xml
<openerp>
<data>
<field name="name">subvenciones.geotermia.kanban</field>
<field name="model">subvenciones.geotermia</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('subvenciones.geotermia', 'i mage', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
451
ANEXO III: MÓDULOS PROGRAMADOS
<field name="lugar"></field>
</a>
</h4>
<ul>
<li><field name="institucion"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">subvenciones.geotermia.tree</field>
<field name="model">subvenciones.geotermia</field>
<field name="type">tree</field>
<tree string="geotermia">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
452
ANEXO III: MÓDULOS PROGRAMADOS
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.geotermia.form</field>
<field name="model">subvenciones.geotermia</field>
<field name="type">form</field>
<form string="geotermia">
<group string="Entidad">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
453
ANEXO III: MÓDULOS PROGRAMADOS
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Geotermia</field>
<field name="res_model">subvenciones.geotermia</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="subvenciones_geotermia_action"
id="subvenciones_geotermia_menu" sequence="1"
parent="subvenciones_subvenciones_estatales"/>
<field name="name">subvenciones.renovables.kanban</field>
<field name="model">subvenciones.renovables</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
454
ANEXO III: MÓDULOS PROGRAMADOS
t-att-
src="kanban_image('subvenciones.renovables', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="lugar"></field>
</a>
</h4>
<ul>
<li><field name="institucion"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">subvenciones.renovables.tree</field>
<field name="model">subvenciones.renovables</field>
<field name="type">tree</field>
<tree string="renovables">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
455
ANEXO III: MÓDULOS PROGRAMADOS
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.renovables.form</field>
<field name="model">subvenciones.renovables</field>
<field name="type">form</field>
<form string="renovables">
<group string="Entidad">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
456
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Renovables</field>
<field name="res_model">subvenciones.renovables</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="subvenciones_renovables_action"
id="subvenciones_renovables_menu" sequence="2"
parent="subvenciones_subvenciones_estatales"/>
<field name="name">subvenciones.energia.kanban</field>
<field name="model">subvenciones.energia</field>
<field name="type">kanban</field>
<kanban>
457
ANEXO III: MÓDULOS PROGRAMADOS
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('subvenciones.energia', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="lugar"></field>
</a>
</h4>
<ul>
<li><field name="institucion"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">subvenciones.energia.tree</field>
<field name="model">subvenciones.energia</field>
<field name="type">tree</field>
458
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="energia">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.energia.form</field>
<field name="model">subvenciones.energia</field>
<field name="type">form</field>
<form string="energia">
<group string="Entidad">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
459
ANEXO III: MÓDULOS PROGRAMADOS
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Energia</field>
<field name="res_model">subvenciones.energia</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="subvenciones_energia_action"
id="subvenciones_energia_menu" sequence="3"
parent="subvenciones_subvenciones_estatales"/>
460
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">subvenciones.otras</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('subvenciones.otras', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="lugar"></field>
</a>
</h4>
<ul>
<li><field name="institucion"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
461
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">subvenciones.otras.tree</field>
<field name="model">subvenciones.otras</field>
<field name="type">tree</field>
<tree string="otras">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.otras.form</field>
<field name="model">subvenciones.otras</field>
<field name="type">form</field>
<form string="otras">
<group string="Entidad">
462
ANEXO III: MÓDULOS PROGRAMADOS
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Otras</field>
<field name="res_model">subvenciones.otras</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
463
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">subvenciones.unioneuropea.tree</field>
<field name="model">subvenciones.unioneuropea</field>
<field name="type">tree</field>
<tree string="unioneuropea">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.unioneuropea.form</field>
<field name="model">subvenciones.unioneuropea</field>
<field name="type">form</field>
464
ANEXO III: MÓDULOS PROGRAMADOS
<form string="unioneuropea">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<record id="subvenciones_unioneuropea_action"
model="ir.actions.act_window">
<field name="res_model">subvenciones.unioneuropea</field>
465
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_unioneuropea_action"
id="subvenciones_unioneuropea_menu" sequence="5"
parent="subvenciones_subvenciones_extranjeras"/>
<field name="name">subvenciones.otra.tree</field>
<field name="model">subvenciones.otra</field>
<field name="type">tree</field>
<tree string="otra">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
466
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">subvenciones.otra.form</field>
<field name="model">subvenciones.otra</field>
<field name="type">form</field>
<form string="otra">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
467
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Otra</field>
<field name="res_model">subvenciones.otra</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="model">subvenciones.cursos</field>
<field name="type">tree</field>
<tree string="cursos">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
468
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="name">subvenciones.cursos.form</field>
<field name="model">subvenciones.cursos</field>
<field name="type">form</field>
<form string="cursos">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
469
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="name">Cursos</field>
<field name="res_model">subvenciones.cursos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_cursos_action"
id="subvenciones_cursos_menu" sequence="7"
parent="subvenciones_ayudasybecas"/>
<field name="name">subvenciones.congresos.tree</field>
<field name="model">subvenciones.congresos</field>
<field name="type">tree</field>
<tree string="congresos">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
470
ANEXO III: MÓDULOS PROGRAMADOS
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.congresos.form</field>
<field name="model">subvenciones.congresos</field>
<field name="type">form</field>
<form string="congresos">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
471
ANEXO III: MÓDULOS PROGRAMADOS
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Congresos</field>
<field name="res_model">subvenciones.congresos</field>
<field name="view_type">form</field>
</record>
<menuitem action="subvenciones_congresos_action"
id="subvenciones_congresos_menu" sequence="8"
parent="subvenciones_ayudasybecas"/>
<field name="name">subvenciones.material.tree</field>
<field name="model">subvenciones.material</field>
<field name="type">tree</field>
<tree string="material">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
472
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.material.form</field>
<field name="model">subvenciones.material</field>
<field name="type">form</field>
<form string="material">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
473
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Material</field>
<field name="res_model">subvenciones.material</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_material_action"
id="subvenciones_material_menu" sequence="9"
parent="subvenciones_ayudasybecas"/>
<field name="name">subvenciones.difusion.tree</field>
<field name="model">subvenciones.difusion</field>
<field name="type">tree</field>
<tree string="difusion">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
474
ANEXO III: MÓDULOS PROGRAMADOS
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.difusion.form</field>
<field name="model">subvenciones.difusion</field>
<field name="type">form</field>
<form string="difusion">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
475
ANEXO III: MÓDULOS PROGRAMADOS
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Difusion</field>
<field name="res_model">subvenciones.difusion</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_difusion_action"
id="subvenciones_difusion_menu" sequence="10"
parent="subvenciones_ayudasybecas"/>
<field name="name">subvenciones.personal.tree</field>
<field name="model">subvenciones.personal</field>
<field name="type">tree</field>
<tree string="personal">
476
ANEXO III: MÓDULOS PROGRAMADOS
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.personal.form</field>
<field name="model">subvenciones.personal</field>
<field name="type">form</field>
<form string="personal">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
477
ANEXO III: MÓDULOS PROGRAMADOS
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Personal</field>
<field name="res_model">subvenciones.personal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_personal_action"
id="subvenciones_personal_menu" sequence="11"
parent="subvenciones_ayudasybecas"/>
<field name="name">subvenciones.otros.tree</field>
478
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">subvenciones.otros</field>
<field name="type">tree</field>
<tree string="otros">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.otros.form</field>
<field name="model">subvenciones.otros</field>
<field name="type">form</field>
<form string="otros">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
479
ANEXO III: MÓDULOS PROGRAMADOS
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Otros</field>
<field name="res_model">subvenciones.otros</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
480
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">subvenciones.pedidas.tree</field>
<field name="model">subvenciones.pedidas</field>
<field name="type">tree</field>
<tree string="pedidas">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.pedidas.form</field>
<field name="model">subvenciones.pedidas</field>
<field name="type">form</field>
<form string="pedidas">
<group string="Entidad">
481
ANEXO III: MÓDULOS PROGRAMADOS
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">Pedidas</field>
<field name="res_model">subvenciones.pedidas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
482
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<menuitem action="subvenciones_pedidas_action"
id="subvenciones_pedidas_menu" sequence="13"
parent="subvenciones_subvenciones_interes"/>
<field name="name">subvenciones.aceptadaspendientes.tree</field>
<field name="model">subvenciones.aceptadaspendientes</field>
<field name="type">tree</field>
<tree string="aceptadaspendientes">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
<field name="name">subvenciones.aceptadaspendientes.form</field>
<field name="model">subvenciones.aceptadaspendientes</field>
483
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">form</field>
<form string="aceptadaspendientes">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
</record>
<record id="subvenciones_aceptadaspendientes_action"
model="ir.actions.act_window">
484
ANEXO III: MÓDULOS PROGRAMADOS
<field name="res_model">subvenciones.aceptadaspendientes</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_aceptadaspendientes_action"
id="subvenciones_aceptadaspendientes_menu" sequence="14"
parent="subvenciones_subvenciones_interes"/>
<field name="name">subvenciones.recibidas.tree</field>
<field name="model">subvenciones.recibidas</field>
<field name="type">tree</field>
<tree string="recibidas">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</tree>
</field>
</record>
485
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">subvenciones.recibidas.form</field>
<field name="model">subvenciones.recibidas</field>
<field name="type">form</field>
<form string="recibidas">
<group string="Entidad">
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
<field name="resumen"/>
</group>
</form>
</field>
486
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="name">Recibidas</field>
<field name="res_model">subvenciones.recibidas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="subvenciones_recibidas_action"
id="subvenciones_recibidas_menu" sequence="15"
parent="subvenciones_subvenciones_interes"/>
<field name="name">subvenciones.otro.tree</field>
<field name="model">subvenciones.otro</field>
<field name="type">tree</field>
<tree string="otro">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="beneficiarios"/>
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
487
ANEXO III: MÓDULOS PROGRAMADOS
</tree>
</field>
</record>
<field name="name">subvenciones.otro.form</field>
<field name="model">subvenciones.otro</field>
<field name="type">form</field>
<form string="otro">
<group string="Entidad">
<field name="tipo"/>
<field name="lugar"/>
<field name="fecha"/>
<field name="institucion"/>
<field name="privada"/>
<field name="nboletin"/>
<field name="nombre"/>
<field name="nombreuno"/>
<field name="nombredos"/>
</group>
<group string="Cuantías">
<field name="fondostotales"/>
<field name="fondossubvencionados"/>
<field name="fondosaportados"/>
<field name="fondosgeotermia"/>
<field name="inversionreal"/>
<field name="otrosimportes"/>
</group>
<newline/>
488
ANEXO III: MÓDULOS PROGRAMADOS
<field name="resumen"/>
</group>
</form>
</field>
</record>
<field name="name">otro</field>
<field name="res_model">subvenciones.otro</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
489
ANEXO III: MÓDULOS PROGRAMADOS
5. Geotermia.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
import geotermia
Archivo __openerp__.py
##############################################################################
490
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Geotermia",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["geotermia.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
491
ANEXO III: MÓDULOS PROGRAMADOS
Archivo geotermia.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class geotermia_preguntasyrespuestas(osv.osv):
_name = 'geotermia.preguntasyrespuestas'
_columns = {
492
ANEXO III: MÓDULOS PROGRAMADOS
geotermia_preguntasyrespuestas()
class geotermia_medios(osv.osv):
_name = 'geotermia.medios'
_description = 'Medios'
_rac_name='medio'
_columns = {
'contacto': fields.many2one('geotermia.contactos','Contacto'),
geotermia_medios()
class geotermia_contactos(osv.osv):
_name = 'geotermia.contactos'
_description = 'Contactos'
_rac_name='name'
_columns = {
'medio': fields.many2one('geotermia.medios','Medio'),
493
ANEXO III: MÓDULOS PROGRAMADOS
geotermia_contactos()
class geotermia_webpropia(osv.osv):
_name = 'geotermia.webpropia'
_columns = {
geotermia_webpropia()
class geotermia_publicidad(osv.osv):
_name = 'geotermia.publicidad'
_description = 'Publicidad'
_columns = {
'fecha': fields.date('Fecha'),
'medio': fields.many2one('geotermia.medios','Medio'),
494
ANEXO III: MÓDULOS PROGRAMADOS
geotermia_publicidad()
class geotermia_noticiasgen(osv.osv):
_name = 'geotermia.noticiasgen'
_columns = {
'fecha': fields.date('Fecha'),
'medio': fields.many2one('geotermia.medios','Medio'),
geotermia_noticiasgen()
class geotermia_imagenes(osv.osv):
_name = 'geotermia.imagenes'
_description = 'Imagenes'
_columns = {
'fecha': fields.date('Fecha'),
495
ANEXO III: MÓDULOS PROGRAMADOS
geotermia_imagenes()
class geotermia_alertas(osv.osv):
_name = 'geotermia.alertas'
_description = 'Alertas'
_columns = {
496
ANEXO III: MÓDULOS PROGRAMADOS
geotermia_alertas()
class geotermia_alertasenviadas(osv.osv):
_name = 'geotermia.alertasenviadas'
_columns = {
geotermia_alertasenviadas()
Archivo geotermia.xml
<openerp>
<data>
<field name="name">geotermia.alertas.kanban</field>
<field name="model">geotermia.alertas</field>
497
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('geotermia.alertas', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="comunidad"></field>
</a>
</h4>
<ul>
<li><field name="permite"></field>
</li>
<li><field
name="permitealertas"></field> </li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
498
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">geotermia.alertas.tree</field>
<field name="model">geotermia.alertas</field>
<field name="type">tree</field>
<tree string="alertas">
<field name="comunidad"/>
<field name="permite"/>
<field name="permitealertas"/>
<field name="llegan"/>
<field name="alertasempleadas"/>
</tree>
</field>
</record>
<field name="name">geotermia.alertas.form</field>
<field name="model">geotermia.alertas</field>
<field name="type">form</field>
<form string="alertas">
<group>
<field name="comunidad"/>
<field name="permite"/>
<field name="permitealertas"/>
<field name="llegan"/>
</group>
<field name="alertasempleadas"/>
</group>
</form>
499
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<field name="name">Alertas</field>
<field name="res_model">geotermia.alertas</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<field name="name">geotermia.alertasenviadas.tree</field>
<field name="model">geotermia.alertasenviadas</field>
<field name="type">tree</field>
<tree string="alertasenviadas">
<field name="tipo"/>
<field name="abrir"/>
<field name="titulo"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">geotermia.alertasenviadas.form</field>
<field name="model">geotermia.alertasenviadas</field>
<field name="type">form</field>
500
ANEXO III: MÓDULOS PROGRAMADOS
<form string="alertasenviadas">
<group>
</group>
<newline/>
<field name="titulo"/>
<field name="informacion"/>
</group>
</form>
</field>
</record>
<record id="geotermia_alertasenviadas_action"
model="ir.actions.act_window">
<field name="res_model">geotermia.alertasenviadas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_alertasenviadas_action"
id="geotermia_alertasenviadas_menu" sequence="7"
parent="geotermia_alertasdecorreo"/>
<field name="name">geotermia.preguntasyrespuestas.tree</field>
<field name="model">geotermia.preguntasyrespuestas</field>
<field name="type">tree</field>
<tree string="preguntasyrespuestas">
<field name="fecha"/>
501
ANEXO III: MÓDULOS PROGRAMADOS
<field name="autorpreg"/>
<field name="autorresp"/>
<field name="pregunta"/>
<field name="respuesta"/>
</tree>
</field>
</record>
<field name="model">geotermia.preguntasyrespuestas</field>
<field name="type">form</field>
<form string="preguntasyrespuestas">
<field name="fecha"/>
<field name="autorpreg"/>
<field name="autorresp"/>
<newline/>
<notebook colspan="2">
<page string="Pregunta">
</group>
</page>
<page string="Respuesta">
</group>
</page>
</notebook>
</form>
</field>
502
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<record id="geotermia_preguntasyrespuestas_action"
model="ir.actions.act_window">
<field name="res_model">geotermia.preguntasyrespuestas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_preguntasyrespuestas_action"
id="geotermia_preguntasyrespuestas_menu" sequence="9"
parent="geotermia_preguntastecnicas"/>
<field name="name">geotermia.medios.kanban</field>
<field name="model">geotermia.medios</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('geotermia.medios', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
503
ANEXO III: MÓDULOS PROGRAMADOS
<field name="medio"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">geotermia.medios.tree</field>
<field name="model">geotermia.medios</field>
<field name="type">tree</field>
<tree string="medios">
<field name="medio"/>
<field name="web"/>
<field name="galicia"/>
<field name="estatal"/>
<field name="estranjero"/>
<field name="especializados"/>
<field name="online"/>
<field name="contacto"/>
</tree>
</field>
</record>
504
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">geotermia.medios.form</field>
<field name="model">geotermia.medios</field>
<field name="type">form</field>
<form string="medios">
<group>
<field name="medio"/>
<field name="web"/>
</group>
<group>
<field name="galicia"/>
<field name="estranjero"/>
<field name="especializados"/>
<field name="online"/>
<field name="contacto"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Medios</field>
<field name="res_model">geotermia.medios</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
505
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">geotermia.contactos.tree</field>
<field name="model">geotermia.contactos</field>
<field name="type">tree</field>
<tree string="contactos">
<field name="name"/>
<field name="medio"/>
<field name="email"/>
<field name="telefono"/>
</tree>
</field>
</record>
<field name="name">geotermia.contactos.form</field>
<field name="model">geotermia.contactos</field>
<field name="type">form</field>
<form string="contactos">
<field name="name"/>
<field name="medio"/>
<field name="email"/>
<field name="telefono"/>
</form>
</field>
</record>
506
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Contactos</field>
<field name="res_model">geotermia.contactos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_contactos_action"
id="geotermia_contactos_menu" sequence="11" parent="geotermia_comunicacion"/>
<field name="name">geotermia.webpropia.tree</field>
<field name="model">geotermia.webpropia</field>
<field name="type">tree</field>
<tree string="webpropia">
<field name="titulo"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">geotermia.webpropia.form</field>
<field name="model">geotermia.webpropia</field>
<field name="type">form</field>
<form string="webpropia">
<group>
<field name="titulo"/>
<field name="enlace"/>
</group>
507
ANEXO III: MÓDULOS PROGRAMADOS
<newline/>
</group>
</form>
</field>
</record>
<field name="res_model">geotermia.webpropia</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_webpropia_action"
id="geotermia_webpropia_menu" sequence="12" parent="geotermia_comunicacion"/>
<field name="name">geotermia.publicidad.tree</field>
<field name="model">geotermia.publicidad</field>
<field name="type">tree</field>
<tree string="publicidad">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
508
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">geotermia.publicidad.form</field>
<field name="model">geotermia.publicidad</field>
<field name="type">form</field>
<form string="publicidad">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<newline/>
<notebook colspan="2">
<page string="Presupuesto">
</group>
</page>
<page string="Contenido">
</group>
</page>
</notebook>
<newline/>
</group>
</form>
</field>
</record>
509
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Publicidad</field>
<field name="res_model">geotermia.publicidad</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_publicidad_action"
id="geotermia_publicidad_menu" sequence="13" parent="geotermia_comunicacion"/>
<field name="name">geotermia.noticiasgen.tree</field>
<field name="model">geotermia.noticiasgen</field>
<field name="type">tree</field>
<tree string="noticiasgen">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">geotermia.noticiasgen.form</field>
<field name="model">geotermia.noticiasgen</field>
<field name="type">form</field>
<form string="noticiasgen">
<field name="fecha"/>
<field name="medio"/>
510
ANEXO III: MÓDULOS PROGRAMADOS
<field name="enlace"/>
<newline/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="res_model">geotermia.noticiasgen</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="geotermia_noticiasgen_action"
id="geotermia_noticiasgen_menu" sequence="14"
parent="geotermia_comunicacion"/>
<field name="name">geotermia.imagenes.tree</field>
<field name="model">geotermia.imagenes</field>
<field name="type">tree</field>
<tree string="imagenes">
<field name="evento"/>
511
ANEXO III: MÓDULOS PROGRAMADOS
<field name="fecha"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">geotermia.imagenes.form</field>
<field name="model">geotermia.imagenes</field>
<field name="type">form</field>
<form string="imagenes">
<field name="evento"/>
<field name="fecha"/>
<newline/>
</group>
<newline/>
512
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</form>
</field>
</record>
<field name="name">Imagenes</field>
<field name="res_model">geotermia.imagenes</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
513
ANEXO III: MÓDULOS PROGRAMADOS
6. Curso.
Archivo __init__.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
############################################################# #################
import curso
Archivo __openerp__.py
##############################################################################
514
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Curso",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["curso.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
515
ANEXO III: MÓDULOS PROGRAMADOS
Archivo curso.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class curso_ficha(osv.osv):
_name = 'curso.ficha'
_description = 'Ficha'
_columns = {
516
ANEXO III: MÓDULOS PROGRAMADOS
curso_ficha()
class curso_periododematricula(osv.osv):
_name = 'curso.periododematricula'
_columns = {
curso_periododematricula()
517
ANEXO III: MÓDULOS PROGRAMADOS
class curso_periododedocencia(osv.osv):
_name = 'curso.periododedocencia'
_columns = {
curso_periododedocencia()
class curso_listapreinscritos(osv.osv):
_name = 'curso.listapreinscritos'
_columns = {
518
ANEXO III: MÓDULOS PROGRAMADOS
curso_listapreinscritos()
_name = 'curso.listamatriculados'
_rac_name='name'
_columns = {
'asistencia_id': fields.one2many('curso.asistencia','name_id','Asistencia
al curso'),
'evaluacion_id':
fields.one2many('curso.evaluacion','name_id','Evaluación'),
curso_listamatriculados()
519
ANEXO III: MÓDULOS PROGRAMADOS
class curso_asistencia(osv.osv):
_name = 'curso.asistencia'
_description = 'Asistencia'
_columns = {
'name_id': fields.many2one('curso.listamatriculados','Nombre', ),
curso_asistencia()
class curso_evaluacion(osv.osv):
_name = 'curso.evaluacion'
_description = 'Evaluacion'
_columns = {
'name_id': fields.many2one('curso.listamatriculados','Nombre', ),
curso_evaluacion()
class curso_listabajas(osv.osv):
_name = 'curso.listabajas'
_columns = {
520
ANEXO III: MÓDULOS PROGRAMADOS
curso_listabajas()
class curso_fichaalumnos(osv.osv):
_name = 'curso.fichaalumnos'
_columns = {
521
ANEXO III: MÓDULOS PROGRAMADOS
curso_fichaalumnos()
class curso_tutores(osv.osv):
_name = 'curso.tutores'
_description = 'Tutores'
_columns = {
curso_tutores()
Archivo curso.xml
<openerp>
<data>
522
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">curso.ficha.tree</field>
<field name="model">curso.ficha</field>
<field name="type">tree</field>
<tree string="ficha">
<field name="nombre"/>
<field name="tipo"/>
<field name="codigo"/>
<field name="modalidad"/>
<field name="objetivo"/>
<field name="entidadesorganizadoras"/>
<field name="coordinadores"/>
<field name="destinatarios"/>
<field name="extension"/>
<field name="plazas"/>
<field name="abrir"/>
</tree>
</field>
</record>
<field name="name">curso.ficha.form</field>
<field name="model">curso.ficha</field>
<field name="type">form</field>
<form string="ficha">
523
ANEXO III: MÓDULOS PROGRAMADOS
<field name="nombre"/>
<field name="tipo"/>
<field name="codigo"/>
<field name="modalidad"/>
<field name="objetivo"/>
<field name="entidadesorganizadoras"/>
<field name="coordinadores"/>
<field name="destinatarios"/>
<field name="extension"/>
<field name="plazas"/>
<notebook colspan="8">
<page string="Créditos">
</group>
</page>
<page string="Programa">
</group>
</page>
<page string="Materiales">
</group>
</page>
524
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</page>
</group>
</page>
</group>
</page>
<page string="Metodología">
<field name="metodologia"/>
</group>
</page>
<page string="Observaciones">
<field name="observaciones"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Ficha</field>
<field name="res_model">curso.ficha</field>
525
ANEXO III: MÓDULOS PROGRAMADOS
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">curso.periododematricula.tree</field>
<field name="model">curso.periododematricula</field>
<field name="type">tree</field>
<tree string="periododematricula">
<field name="desde"/>
<field name="hasta"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">curso.periododematricula.form</field>
<field name="model">curso.periododematricula</field>
<field name="type">form</field>
<form string="periododematricula">
<field name="desde"/>
<field name="hasta"/>
<field name="observaciones"/>
</form>
</field>
</record>
526
ANEXO III: MÓDULOS PROGRAMADOS
<record id="curso_periododematricula_action"
model="ir.actions.act_window">
<field name="res_model">curso.periododematricula</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="curso_periododematricula_action"
id="curso_periododematricula_menu" sequence="2"
parent="curso_calendarioyfecha"/>
<field name="name">curso.periododedocencia.tree</field>
<field name="model">curso.periododedocencia</field>
<field name="type">tree</field>
<tree string="periododedocencia">
<field name="desde"/>
<field name="hasta"/>
<field name="observaciones"/>
</tree>
</field>
</record>
<field name="name">curso.periododedocencia.form</field>
<field name="model">curso.periododedocencia</field>
<field name="type">form</field>
<form string="periododedocencia">
<field name="desde"/>
<field name="hasta"/>
<field name="observaciones"/>
527
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="res_model">curso.periododedocencia</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="curso_periododedocencia_action"
id="curso_periododedocencia_menu" sequence="3"
parent="curso_calendarioyfecha"/>
<field name="name">curso.listapreinscritos.tree</field>
<field name="model">curso.listapreinscritos</field>
<field name="type">tree</field>
<tree string="listapreinscritos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
528
ANEXO III: MÓDULOS PROGRAMADOS
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
</tree>
</field>
</record>
<field name="name">curso.listapreinscritos.form</field>
<field name="model">curso.listapreinscritos</field>
<field name="type">form</field>
<form string="listapreinscritos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
</group>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
</group>
529
ANEXO III: MÓDULOS PROGRAMADOS
</form>
</field>
</record>
<field name="res_model">curso.listapreinscritos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="curso_listapreinscritos_action"
id="curso_listapreinscritos_menu" sequence="4" parent="curso_alumnos"/>
<field name="name">curso.listamatriculados.tree</field>
<field name="model">curso.listamatriculados</field>
<field name="type">tree</field>
<tree string="listamatriculados">
<field name="name"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
530
ANEXO III: MÓDULOS PROGRAMADOS
<field name="acluxega"/>
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
<field name="entregadomanual"/>
</tree>
</field>
</record>
<field name="name">curso.listamatriculados.form</field>
<field name="model">curso.listamatriculados</field>
<field name="type">form</field>
<form string="listamatriculados">
<field name="name"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
</group>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
531
ANEXO III: MÓDULOS PROGRAMADOS
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
<field name="entregadomanual"/>
</group>
<newline/>
<notebook>
<page string="Asistencia">
<field name="asistencia_id"/>
</group>
</page>
</notebook>
<notebook>
<page string="Evaluación">
<field name="total"/>
<field name="evaluacion_id"/>
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="res_model">curso.listamatriculados</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
532
ANEXO III: MÓDULOS PROGRAMADOS
<menuitem action="curso_listamatriculados_action"
id="curso_listamatriculados_menu" sequence="5" parent="curso_alumnos"/>
<field name="name">curso.asistencia.tree</field>
<field name="model">curso.asistencia</field>
<field name="type">tree</field>
<tree string="asistencia">
<field name="jornada"/>
<field name="asistio"/>
</tree>
</field>
</record>
<field name="name">curso.asistencia.form</field>
<field name="model">curso.asistencia</field>
<field name="type">form</field>
<form string="asistencia">
<field name="jornada"/>
<field name="asistio"/>
</form>
</field>
</record>
<field name="name">curso.evaluacion.tree</field>
<field name="model">curso.evaluacion</field>
<field name="type">tree</field>
<tree string="evaluacion">
533
ANEXO III: MÓDULOS PROGRAMADOS
<field name="tema"/>
<field name="nota"/>
</tree>
</field>
</record>
<field name="name">curso.evaluacion.form</field>
<field name="model">curso.evaluacion</field>
<field name="type">form</field>
<form string="evaluacion">
<field name="tema"/>
<field name="nota"/>
</form>
</field>
</record>
<field name="name">curso.listabajas.tree</field>
<field name="model">curso.listabajas</field>
<field name="type">tree</field>
<tree string="listabajas">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
534
ANEXO III: MÓDULOS PROGRAMADOS
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
</tree>
</field>
</record>
<field name="name">curso.listabajas.form</field>
<field name="model">curso.listabajas</field>
<field name="type">form</field>
<form string="listabajas">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
</group>
<field name="colectivo"/>
535
ANEXO III: MÓDULOS PROGRAMADOS
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="bonificada"/>
<field name="etiquetas"/>
<field name="pago"/>
</group>
</form>
</field>
</record>
<field name="res_model">curso.listabajas</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">curso.fichaalumnos.tree</field>
<field name="model">curso.fichaalumnos</field>
<field name="type">tree</field>
<tree string="fichaalumnos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
536
ANEXO III: MÓDULOS PROGRAMADOS
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="pago"/>
<field name="entregadomanual"/>
</tree>
</field>
</record>
<field name="name">curso.fichaalumnos.form</field>
<field name="model">curso.fichaalumnos</field>
<field name="type">form</field>
<form string="fichaalumnos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="cp"/>
<field name="ciudad"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
</group>
537
ANEXO III: MÓDULOS PROGRAMADOS
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="pago"/>
<field name="entregadomanual"/>
</group>
</form>
</field>
</record>
<field name="res_model">curso.fichaalumnos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">curso.tutores.tree</field>
<field name="model">curso.tutores</field>
<field name="type">tree</field>
<tree string="tutores">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="tlf"/>
<field name="direccion"/>
538
ANEXO III: MÓDULOS PROGRAMADOS
<field name="modulo"/>
<field name="disponibilidaddiayhoras"/>
<field name="tutoriasdiayhoras"/>
<field name="horasclasediayhoras"/>
</tree>
</field>
</record>
<field name="name">curso.tutores.form</field>
<field name="model">curso.tutores</field>
<field name="type">form</field>
<form string="tutores">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="tlf"/>
<field name="direccion"/>
<field name="modulo"/>
</group>
<group string="Horarios">
<notebook>
<page string="Disponibilidad">
<field name="disponibilidaddiayhoras"/>
</group>
</page>
<page string="Tutorías">
<field name="tutoriasdiayhoras"/>
539
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</page>
<field name="horasclasediayhoras"/>
</group>
</page>
</notebook>
</group>
</form>
</field>
</record>
<field name="name">Tutores</field>
<field name="res_model">curso.tutores</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
540
ANEXO III: MÓDULOS PROGRAMADOS
7. Congreso.
# -*- coding: utf-8 -*-
##############################################################################
# You should have received a copy of the GN U Affero General Public License
##############################################################################
import congreso
Archivo __openerp__.py
##############################################################################
541
ANEXO III: MÓDULOS PROGRAMADOS
# You should have received a copy of the GNU Affero General Public License
##############################################################################
"name" : "Congreso",
"version" : "0.1",
"website" : "http://ambiental.uvigo.es",
"category" : "Unknown",
'data': [],
'depends' : ['base'],
'update_xml': ["congreso.xml"],
'init_xml' : [ ],
'demo_xml' : [ ],
'installable': True,
'active': False,
542
ANEXO III: MÓDULOS PROGRAMADOS
Archivo congreso.py
##############################################################################
# You should have received a copy of the GNU Affero General Public License
##############################################################################
class congreso_ficha(osv.osv):
_name = 'congreso.ficha'
_description = 'Ficha'
_columns = {
543
ANEXO III: MÓDULOS PROGRAMADOS
congreso_ficha()
class congreso_programa(osv.osv):
_name = 'congreso.programa'
_description = 'programa'
_columns = {
'desde': fields.float('Desde'),
'hasta': fields.float('Hasta'),
congreso_programa()
class congreso_organizadores(osv.osv):
544
ANEXO III: MÓDULOS PROGRAMADOS
_name = 'congreso.organizadores'
_description = 'Organizadores'
_columns = {
congreso_organizadores()
class congreso_entidadescolaboradoras(osv.osv):
_name = 'congreso.entidadescolaboradoras'
_columns = {
545
ANEXO III: MÓDULOS PROGRAMADOS
congreso_entidadescolaboradoras()
class congreso_patrocinadores(osv.osv):
_name = 'congreso.patrocinadores'
_description = 'Patrocinadores'
_columns = {
congreso_patrocinadores()
class congreso_presentador(osv.osv):
_name = 'congreso.presentador'
_description = 'Presentador'
_columns = {
546
ANEXO III: MÓDULOS PROGRAMADOS
congreso_presentador()
class congreso_ponentes(osv.osv):
_name = 'congreso.ponentes'
_description = 'Ponentes'
_columns = {
congreso_ponentes()
class congreso_expositores(osv.osv):
_name = 'congreso.expositores'
_description = 'Expositores'
_columns = {
547
ANEXO III: MÓDULOS PROGRAMADOS
congreso_expositores()
class congreso_listapreinscritos(osv.osv):
_name = 'congreso.listapreinscritos'
_columns = {
548
ANEXO III: MÓDULOS PROGRAMADOS
congreso_listapreinscritos()
class congreso_listamatriculados(osv.osv):
_name = 'congreso.listamatriculados'
_columns = {
congreso_listamatriculados()
class congreso_medios(osv.osv):
549
ANEXO III: MÓDULOS PROGRAMADOS
_name = 'congreso.medios'
_description = 'Medios'
_rac_name='name'
_columns = {
'contacto': fields.many2one('congreso.contactos','Contacto'),
congreso_medios()
class congreso_contactos(osv.osv):
_name = 'congreso.contactos'
_description = 'Contactos'
_rac_name='name'
_columns = {
'medio': fields.many2one('congreso.medios','Medio'),
congreso_contactos()
550
ANEXO III: MÓDULOS PROGRAMADOS
class congreso_webpropia(osv.osv):
_name = 'congreso.webpropia'
_columns = {
congreso_webpropia()
class congreso_publicidad(osv.osv):
_name = 'congreso.publicidad'
_description = 'Publicidad'
_columns = {
'fecha': fields.date('Fecha'),
'medio': fields.many2one('congreso.medios','Medio'),
congreso_publicidad()
class congreso_noticiasgen(osv.osv):
551
ANEXO III: MÓDULOS PROGRAMADOS
_name = 'congreso.noticiasgen'
_columns = {
'fecha': fields.date('Fecha'),
'medio': fields.many2one('congreso.medios','Medio'),
congreso_noticiasgen()
class congreso_imagenes(osv.osv):
_name = 'congreso.imagenes'
_description = 'Imagenes'
_columns = {
'fecha': fields.date('Fecha'),
552
ANEXO III: MÓDULOS PROGRAMADOS
congreso_imagenes()
Archivo congreso.xml
<openerp>
<data>
<field name="name">congreso.ficha.tree</field>
<field name="model">congreso.ficha</field>
<field name="type">tree</field>
553
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="ficha">
<field name="nombre"/>
<field name="subtitulo"/>
<field name="fechauno"/>
<field name="fechados"/>
<field name="sede"/>
<field name="secretariatecnica"/>
<field name="abrir"/>
</tree>
</field>
</record>
<field name="name">congreso.ficha.form</field>
<field name="model">congreso.ficha</field>
<field name="type">form</field>
<form string="ficha">
<field name="nombre"/>
<field name="subtitulo"/>
<field name="sede"/>
<field name="secretariatecnica"/>
</group>
<group string="Fecha">
<field name="fechauno"/>
<field name="fechados"/>
554
ANEXO III: MÓDULOS PROGRAMADOS
</group>
<notebook colspan="8">
<page string="Presentación">
</group>
</page>
<page string="Objetivos">
</group>
</page>
<page string="Comités">
</group>
</page>
<page string="Inscripciones">
</group>
</page>
</group>
</page>
<page string="Exposición">
555
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</page>
<page string="Patrocinadores">
</group>
</page>
<page string="Programa">
</group>
</page>
<page string="Observaciones">
</group>
</page>
</notebook>
</form>
</field>
</record>
<field name="name">Ficha</field>
<field name="res_model">congreso.ficha</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
556
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">congreso.programa.tree</field>
<field name="model">congreso.programa</field>
<field name="type">tree</field>
<tree string="programa">
<field name="desde"/>
<field name="hasta"/>
<field name="actividad"/>
<field name="ponente"/>
</tree>
</field>
</record>
<field name="name">congreso.programa.form</field>
<field name="model">congreso.programa</field>
<field name="type">form</field>
<form string="programa">
<field name="actividad"/>
<field name="ponente"/>
</form>
</field>
</record>
<field name="name">Programa</field>
557
ANEXO III: MÓDULOS PROGRAMADOS
<field name="res_model">congreso.programa</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">congreso.organizadores.kanban</field>
<field name="model">congreso.organizadores</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.organizadores', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
558
ANEXO III: MÓDULOS PROGRAMADOS
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">congreso.organizadores.tree</field>
<field name="model">congreso.organizadores</field>
<field name="type">tree</field>
<tree string="organizadores">
<field name="nombre"/>
<field name="contacto"/>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">congreso.organizadores.form</field>
<field name="model">congreso.organizadores</field>
<field name="type">form</field>
<form string="organizadores">
559
ANEXO III: MÓDULOS PROGRAMADOS
<group>
<field name="nombre"/>
<field name="contacto"/>
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Organizadores</field>
<field name="res_model">congreso.organizadores</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="congreso_organizadores_action"
id="congreso_organizadores_menu" sequence="3" parent="congreso_organizacion"/>
<field name="name">congreso.entidadescolaboradoras.kanban</field>
560
ANEXO III: MÓDULOS PROGRAMADOS
<field name="model">congreso.entidadescolaboradoras</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.entidadescolaboradoras', 'image',
record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
561
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">congreso.entidadescolaboradoras.tree</field>
<field name="model">congreso.entidadescolaboradoras</field>
<field name="type">tree</field>
<tree string="entidadescolaboradoras">
<field name="nombre"/>
<field name="contacto"/>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">congreso.entidadescolaboradoras.form</field>
<field name="model">congreso.entidadescolaboradoras</field>
<field name="type">form</field>
<form string="entidadescolaboradoras">
<group>
<field name="nombre"/>
<field name="contacto"/>
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
562
ANEXO III: MÓDULOS PROGRAMADOS
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<record id="congreso_entidadescolaboradoras_action"
model="ir.actions.act_window">
<field name="res_model">congreso.entidadescolaboradoras</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="congreso_entidadescolaboradoras_action"
id="congreso_entidadescolaboradoras_menu" sequence="4"
parent="congreso_organizacion"/>
<field name="name">congreso.patrocinadores.kanban</field>
<field name="model">congreso.patrocinadores</field>
<field name="type">kanban</field>
<kanban>
<templates>
563
ANEXO III: MÓDULOS PROGRAMADOS
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.patrocinadores', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">congreso.patrocinadores.tree</field>
<field name="model">congreso.patrocinadores</field>
<field name="type">tree</field>
<tree string="patrocinadores">
<field name="nombre"/>
<field name="contacto"/>
564
ANEXO III: MÓDULOS PROGRAMADOS
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">congreso.patrocinadores.form</field>
<field name="model">congreso.patrocinadores</field>
<field name="type">form</field>
<form string="patrocinadores">
<group>
<field name="nombre"/>
<field name="contacto"/>
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
</group>
</form>
565
ANEXO III: MÓDULOS PROGRAMADOS
</field>
</record>
<field name="name">Patrocinadores</field>
<field name="res_model">congreso.patrocinadores</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="congreso_patrocinadores_action"
id="congreso_patrocinadores_menu" sequence="5"
parent="congreso_organizacion"/>
<field name="name">congreso.presentador.kanban</field>
<field name="model">congreso.presentador</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.presentador', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
566
ANEXO III: MÓDULOS PROGRAMADOS
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="empresa"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">congreso.presentador.tree</field>
<field name="model">congreso.presentador</field>
<field name="type">tree</field>
<tree string="presentador">
<field name="nombre"/>
<field name="empresa"/>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
567
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">congreso.presentador.form</field>
<field name="model">congreso.presentador</field>
<field name="type">form</field>
<form string="presentador">
<group>
<field name="nombre"/>
<field name="empresa"/>
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Presentador</field>
<field name="res_model">congreso.presentador</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
568
ANEXO III: MÓDULOS PROGRAMADOS
<menuitem action="congreso_presentador_action"
id="congreso_presentador_menu" sequence="7" parent="congreso_ponencias"/>
<field name="name">congreso.ponentes.kanban</field>
<field name="model">congreso.ponentes</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.ponentes', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="empresa"></field>
</li>
</ul>
</div>
</div>
569
ANEXO III: MÓDULOS PROGRAMADOS
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">congreso.ponentes.tree</field>
<field name="model">congreso.ponentes</field>
<field name="type">tree</field>
<tree string="ponentes">
<field name="nombre"/>
<field name="empresa"/>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">congreso.ponentes.form</field>
<field name="model">congreso.ponentes</field>
<field name="type">form</field>
<form string="ponentes">
<group>
<field name="nombre"/>
<field name="empresa"/>
570
ANEXO III: MÓDULOS PROGRAMADOS
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Ponentes</field>
<field name="res_model">congreso.ponentes</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<field name="name">congreso.expositores.kanban</field>
<field name="model">congreso.expositores</field>
<field name="type">kanban</field>
<kanban>
571
ANEXO III: MÓDULOS PROGRAMADOS
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.expositores', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="nombre"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<field name="name">congreso.expositores.tree</field>
<field name="model">congreso.expositores</field>
<field name="type">tree</field>
572
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="expositores">
<field name="nombre"/>
<field name="contacto"/>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="email"/>
<field name="web"/>
</tree>
</field>
</record>
<field name="name">congreso.expositores.form</field>
<field name="model">congreso.expositores</field>
<field name="type">form</field>
<form string="expositores">
<group>
<field name="nombre"/>
<field name="contacto"/>
<field name="email"/>
</group>
<group>
<field name="direccion"/>
<field name="cif"/>
<field name="telefono"/>
<field name="web"/>
</group>
<newline/>
573
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</form>
</field>
</record>
<field name="name">Expositores</field>
<field name="res_model">congreso.expositores</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<menuitem action="congreso_expositores_action"
id="congreso_expositores_menu" sequence="9" parent="congreso_ponencias"/>
<field name="name">congreso.listapreinscritos.tree</field>
<field name="model">congreso.listapreinscritos</field>
<field name="type">tree</field>
<tree string="listapreinscritos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
574
ANEXO III: MÓDULOS PROGRAMADOS
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="estudiante"/>
<field name="entidad"/>
<field name="pago"/>
<field name="cantidad"/>
</tree>
</field>
</record>
<field name="name">congreso.listapreinscritos.form</field>
<field name="model">congreso.listapreinscritos</field>
<field name="type">form</field>
<form string="listapreinscritos">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
</group>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
575
ANEXO III: MÓDULOS PROGRAMADOS
<field name="estudiante"/>
<field name="entidad"/>
<field name="pago"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<record id="congreso_listapreinscritos_action"
model="ir.actions.act_window">
<field name="res_model">congreso.listapreinscritos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="congreso_listapreinscritos_action"
id="congreso_listapreinscritos_menu" sequence="10"
parent="congreso_participantes"/>
<field name="name">congreso.listamatriculados.tree</field>
<field name="model">congreso.listamatriculados</field>
<field name="type">tree</field>
<tree string="listamatriculados">
<field name="nombre"/>
<field name="dni"/>
576
ANEXO III: MÓDULOS PROGRAMADOS
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="estudiante"/>
<field name="entidad"/>
<field name="pago"/>
<field name="cantidad"/>
</tree>
</field>
</record>
<field name="name">congreso.listamatriculados.form</field>
<field name="model">congreso.listamatriculados</field>
<field name="type">form</field>
<form string="listamatriculados">
<field name="nombre"/>
<field name="dni"/>
<field name="email"/>
<field name="direccioncompleta"/>
<field name="provincia"/>
<field name="pais"/>
<field name="tlf"/>
577
ANEXO III: MÓDULOS PROGRAMADOS
</group>
<field name="colectivo"/>
<field name="empresa"/>
<field name="cif"/>
<field name="ntrabajadores"/>
<field name="acluxega"/>
<field name="estudiante"/>
<field name="entidad"/>
<field name="pago"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<record id="congreso_listamatriculados_action"
model="ir.actions.act_window">
<field name="res_model">congreso.listamatriculados</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="congreso_listamatriculados_action"
id="congreso_listamatriculados_menu" sequence="11"
parent="congreso_participantes"/>
578
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">congreso.medios.kanban</field>
<field name="model">congreso.medios</field>
<field name="type">kanban</field>
<kanban>
<templates>
<t t-name="kanban-box">
<div class="oe_product_vignette">
<a type="open">
<img class="oe_kanban_image"
t-att-
src="kanban_image('congreso.medios', 'image', record.id.value)" />
</a>
<div class="oe_product_desc">
<h4>
<a type="edit">
<field name="name"></field>
</a>
</h4>
<ul>
<li><field name="contacto"></field>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
579
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="name">congreso.medios.tree</field>
<field name="model">congreso.medios</field>
<field name="type">tree</field>
<tree string="medios">
<field name="name"/>
<field name="web"/>
<field name="galicia"/>
<field name="estatal"/>
<field name="estranjero"/>
<field name="especializados"/>
<field name="online"/>
<field name="contacto"/>
</tree>
</field>
</record>
<field name="name">congreso.medios.form</field>
<field name="model">congreso.medios</field>
<field name="type">form</field>
<form string="medios">
<group>
<field name="name"/>
<field name="web"/>
</group>
<group>
<field name="galicia"/>
580
ANEXO III: MÓDULOS PROGRAMADOS
<field name="estranjero"/>
<field name="especializados"/>
<field name="online"/>
<field name="contacto"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Medios</field>
<field name="res_model">congreso.medios</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<field name="name">congreso.contactos.tree</field>
<field name="model">congreso.contactos</field>
<field name="type">tree</field>
<tree string="contactos">
<field name="name"/>
<field name="medio"/>
<field name="email"/>
581
ANEXO III: MÓDULOS PROGRAMADOS
<field name="telefono"/>
</tree>
</field>
</record>
<field name="name">congreso.contactos.form</field>
<field name="model">congreso.contactos</field>
<field name="type">form</field>
<form string="contactos">
<field name="name"/>
<field name="medio"/>
<field name="email"/>
<field name="telefono"/>
</form>
</field>
</record>
<field name="name">Contactos</field>
<field name="res_model">congreso.contactos</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="model">congreso.webpropia</field>
<field name="type">tree</field>
582
ANEXO III: MÓDULOS PROGRAMADOS
<tree string="webpropia">
<field name="titulo"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">congreso.webpropia.form</field>
<field name="model">congreso.webpropia</field>
<field name="type">form</field>
<form string="webpropia">
<group>
<field name="titulo"/>
<field name="enlace"/>
</group>
<newline/>
</group>
</form>
</field>
</record>
<field name="res_model">congreso.webpropia</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
583
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="name">congreso.publicidad.tree</field>
<field name="model">congreso.publicidad</field>
<field name="type">tree</field>
<tree string="publicidad">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">congreso.publicidad.form</field>
<field name="model">congreso.publicidad</field>
<field name="type">form</field>
<form string="publicidad">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<newline/>
<notebook colspan="2">
<page string="Presupuesto">
584
ANEXO III: MÓDULOS PROGRAMADOS
</group>
</page>
<page string="Contenido">
</group>
</page>
</notebook>
<newline/>
</group>
</form>
</field>
</record>
<field name="name">Publicidad</field>
<field name="res_model">congreso.publicidad</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="congreso_publicidad_action"
id="congreso_publicidad_menu" sequence="15" parent="congreso_comunicacion"/>
<field name="name">congreso.noticiasgen.tree</field>
<field name="model">congreso.noticiasgen</field>
585
ANEXO III: MÓDULOS PROGRAMADOS
<field name="type">tree</field>
<tree string="noticiasgen">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">congreso.noticiasgen.form</field>
<field name="model">congreso.noticiasgen</field>
<field name="type">form</field>
<form string="noticiasgen">
<field name="fecha"/>
<field name="medio"/>
<field name="enlace"/>
<newline/>
</group>
<newline/>
</group>
</form>
</field>
586
ANEXO III: MÓDULOS PROGRAMADOS
</record>
<field name="res_model">congreso.noticiasgen</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="name">congreso.imagenes.tree</field>
<field name="model">congreso.imagenes</field>
<field name="type">tree</field>
<tree string="imagenes">
<field name="evento"/>
<field name="fecha"/>
<field name="informacion"/>
</tree>
</field>
</record>
<field name="name">congreso.imagenes.form</field>
<field name="model">congreso.imagenes</field>
<field name="type">form</field>
<form string="imagenes">
<field name="evento"/>
<field name="fecha"/>
587
ANEXO III: MÓDULOS PROGRAMADOS
<newline/>
</group>
<newline/>
</group>
</form>
</field>
</record>
588
ANEXO III: MÓDULOS PROGRAMADOS
<field name="name">Imagenes</field>
<field name="res_model">congreso.imagenes</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
589
ANEXO III: MÓDULOS PROGRAMADOS
590
ANEXO IV
Tutorial OpenERP ACLUXEGA
Tutorial Openerp Acluxega
6. Permisos
7. Importar-exportar datos
7.1. Exportar
novooa@gmail.com
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
1. Definiciones, acceso, IP
Otra forma más fácil y que puede hacerse desde los otros dos ordenadores
directamente es escribir no la Ip del ordenador, si no la del router, la cual es
“192.168.0.1” con lo que se abrirá la pantalla siguiente en la que aparecen las IPs de
todos los equipos conectados. El de Belén es el que considera como “computer”.
595
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Objeto: Son los que forman la estructura principal de OpenERP. Son los
modelos en los cuales se establecen los campos con sus diferentes tipos. Son una
entidad propia que como conjunto forman parte de un módulo o una aplicación.
Mediante un campo relación dentro de la pantalla en que se ve un objeto podrá haber
otros objetos. Sucede esto ,por ejemplo con los one2many.
Vista: Las vistas describen como es mostrado cada objeto, como y donde es
dibujado cada uno. Hay 6 tipos de vista distintos que se irán visualizando a lo largo de
la guía: Kanban, Lista, Formulario, Calendario, Gantt y Gráfico . No es necesario que
un objeto las tenga todas, pero al menos si la vista Lista o arbol, que será de la que se
puedan importar los datos y la vista Formulario que será en la que se cubran
manualmente los datos.
596
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Siguiendo las instrucciones de pantalla se crea una nueva base de datos con el
nuevo nombre y la traducción que corresponda, en este caso español. Desde este
apartado también se podrán borrar o duplicar bases de datos.
597
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Se van a crear en un principio tres bases de datos una base de datos general
llamada “ACLUXEGA”, una base para los cursos llamada “curso_nombre” y otra para
los congresos “congreso”. Se accederá a ellas desde la pantalla inicial.
-Que el que los ha creado (en este caso Fernando) los haya insertado en el
sistema y estén listos para instalar. En ese caso, que será el habitual, bastará con ir al
apartado “Módulos instalados” y escribir el nombre del módulo y pulsar instalar. Por
ejemplo en la imagen “curso”.
598
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
599
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Aplicaciones instaladas
- -Events organisation .
- - Calendar.
- -Adress book.
- -Project Management (Gestión de proyectos).
- -Acounting and finance (Contabilidad y finanzas).
- Employee Directory (Directorio de empleados).
- Recriuitment Process(Proceso de selección ).
- Notes.
- Timesheets.(Partes de tiempo .)
- Leave management.(Gestión de ausencias ).
- Expense management.(Gestión de gastos ).
- Employee apraisals.(Evaluación de empleados ).
- Social Network
- Elvoincing & paiments
- Lista de correos.
- Asociados.
- Legislación
- Subvenciones
- Geotermia
600
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Aplicaciones instaladas
-Events organisation.
- Calendar.
-Adress book.
-Project Management.
-Acounting and finance.
-Recriuitment Process.
- Cursos
601
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Aplicaciones instaladas
-Events organisation .
- Calendar.
-Adress book.
-Project Management.
-Acounting and finance
-Recriuitment Process.
- congreso
602
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
603
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Esto es muy útil para enlazar en un módulo objetos de otro módulo. Al hacerse
en modo gráfico habrá que hacerlo cada vez que se cree una nueva base de datos.
Se hace por comodidad.
Tal y como están diseñadas las bases de datos en principio solo se plantean
dos modificaciones y ambas en el mismo objeto. En la base de datos del “curso” lo que
se hará será enlazar “Empleados” del módulo de recursos humanos, con el módulo
personalizado “curso” añadiendo el menú “Profesorado”. En la base de datos de
“congreso” se enlazará el mismo menú, pero esta vez dentro del menú
“organizadores”.A continuación se explica cómo hacer el primero de los cambios, ya
que el segundo va implícito en el mismo.
En primer lugar habrá que conocer el nombre del objeto que se quiere cambiar.
En este caso se trata del “hr.employee”, pero si no se conociese, para hacerlo hay que
activar el modo desarrollador y verlo.Esto se hace en la pestaña que se abre a la
derecha, en la misma de cerrar sesión pulsando “Acerca de openerp” y en la ventana.
A efectos prácticos de uso normal solo se activará este modo para realizar esta tarea o
la de configurar permisos.
Con este modo activado se podrán hacer múltiples tareas, pero la más
importante será conocer el nombre de los objetos. En la vista formulario, bastará con
ponerse encima de un campo y ahí se especifica el nombre del campo y del objeto.
604
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
605
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
En este caso se puede crear un menú o utilizar uno existente. Se utilizará uno
existente en el caso, por ejemplo, del módulo “congreso” en el cual se quiere insertar
dentro de “organización”.se pulsa buscar y el resultado es tal que este:
Hay que tener en cuenta que como el objeto es el mismo y lo único que varía
es el menú por tanto todas las modificaciones en uno se reproducen en el otro.
606
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
607
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
608
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Para cambiar la contraseña una vez creado el usuario aparece una ventana
“más” y desde ahí se puede cambiar las contraseñas además, de por ejemplo, asignar
tareas.
609
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
6. Permisos
Objetos
Curso Congreso
curso.ficha congreso.ficha
curso.periododematricula congreso.programa
curso.periododedocencia congreso.organizadores
curso.listapreinscritos congreso.entidadescolaboradoras
curso.listamatriculados congreso.patrocinadores
curso.asistencia congreso.presentador
curso.evaluacion congreso.ponentes
curso.listabajas congreso.expositores
curso.fichaalumnos congreso.listapreinscritos
curso.tutores congreso.listamatriculados
congreso.medios
congreso.contactos
congreso.webpropia
congreso.publicidad
congreso.noticiasgen
congreso.imagenes
Habrá que crear un grupo y dentro de este una aplicación y a partir de ahí
moviéndose por las pestañas se seleccionan los permisos de acceso. Los módulos
que ya han quedado instalados se ha seleccionado la aplicación “compartir” con
nombre “usuario” o”usuariodos” para separar en función del número de objetos. Por
ejemplo en la base de datos “ACLUXEGA _GENERAL” se han dado los permisos para
“Lista de correos” y “asociados” al nombre “usuarios” y los otros tres a “usuariodos”
610
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
En “permisos de acceso” será donde haya que poner el nombre del objeto, en
este caso es “curso.ficha” aunque al introducirlo ya pone automáticamente “Ficha”. En
principio habrá que ir objeto a objeto, no podrá seleccionarse un módulo completo.
Esto presenta como inconveniente lo laborioso que resulta, pero por otra parte la
ventaja de poder compartir las partes que interesen.
Además no será necesario crear un grupo por cada módulo, pueden insertarse
objetos de cualquier parte y así hacerlo todo de una vez.
611
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
612
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
7. Importar-exportar datos.
7.1. Exportar.
Figura 26.Exportar.
613
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
El archivo habrá que guardarlo como “CSV (delimitado por comas)” y será el
que se importe.
614
ANEXO IV: TUTORIAL OPENERP ACLUXEGA
Cuando se importe habrá que tener cuidado con las opciones de importación
porque si no puede dar lugar a errores. Se utilizarán las que aparecen en la imagen
donde habrá que seleccionar en codificación “Windows 1252” y en separador “punto y
coma”.
615