TING! DESARROLLO DE MÓDULOS FORMACIÓN TÉCNICA MADRID JULIO 2010
|
|
- Juana Quintero Redondo
- hace 8 años
- Vistas:
Transcripción
1 TING! DESARROLLO DE MÓDULOS FORMACIÓN TÉCNICA MADRID JULIO 2010 JULIO 2010 V2.0 ting! Tecnologías Inteligentes de Software S.L.
2 índice i. INTRODUCCIÓN ii. ESTRUCTURA DE UN MÓDULO a. ESTUDIO COMPLETO DE UN MÓDULO EXISTENTE b. DESCRIPCIÓN DE MÓDULOS BÁSICOS: BASE, SALE, PRODUCT, STOCK, PROJECT c. HERENCIA iii. iv. MAPEADOR ORM OBJETOS, CAMPOS Y MÉTODOS a. DEFINICIÓN DE OBJETOS b. CAMPOS SIMPLES, FUNCIONALES, RELACIONALES, PROPIEDADES, PREDEFINIDOS Y ESPECIALES c. RESTRICCIONES v. VISTAS Y EVENTOS a. ELEMENTOS DE LAS VISTAS: FIELD, BUTTON, SEPARATOR, LABEL,... b. ATRIBUTOS DE LOS ELEMENTOS: READONLY, VISIBLE, NOLABEL,... c. AGRUPACIÓN DE ELEMENTOS: GROUP, NOTEBOOK, PAGE,... d. ACCIONES, DOMINIOS e. MENÚS f. ATAJOS ENTRE OBJETOS vi. vii. viii. MENUS Y ACCIONES SEGURIDAD DE OBJETOS EJERCICIO PRÁCTICO
3 Introducción Una vez instalado, OpenERP tiene una estructura modular permitiendo añadir módulos según vaya siendo necesario. El uso de los módulos es la manera de ampliar la funcionalidad OpenERP. La instalación por defecto de OpenERP se compone de un núcleo y varios módulos dependiendo del tipo de instalación entre los cuales podemos distinguir: base: el módulo básico compuesto por ir.property, res.company, res.request, res.currency, res.user, res.partner este módulo siempre es instalado. crm: gestión de la relación con los Clientes / Proveedores. sale: gestión de ventas. mrp: fabricación y planificación de recursos.. Los nuevos módulos pueden programarse fácilmente y requieren un poco de práctica en XML y Python.
4 Estructura de un módulo Contenido de un módulo: (addons/nombre_de_modulo) terp.py subdirectorio security/ Objetos: nombre_de_modulo.py, y posiblemente otros init.py Archivos XML: nombre_de_modulo_view.xml nombre_de_modulo_workflow.xml (opcional) nombre_de_modulo_report.xml (opcional) nombre_de_modulo_wizard.xml (opcional) nombre_de_modulo_data.xml (opcional) nombre_de_modulo_demo.xml (opcional) posiblemente otros ficheros XML opcionales Subdirectorio report/ report_name.xml / report_name.xsl report_name.rml / report_name.sxw / report_name.py (opcional) report_name.py subdirectorio wizard/ init.py wizard_name.py ir_model_access.csv (permisos sobre objetos) modelo_security.xml (creación de grupos y acceso a opciones de menú) Subdirectorio i18n/ modulo.pot (plantilla) es_es.po fr_fr.po... SubdirectorioProcess, para incluir información de procesos Otros Es una buena estrategia crear directorios donde se contengan las modificaciones propias de módulos externos
5 Estructura de un módulo Los pasos básicos para generar un módulo son: Crear un subdirectorio en la raíz del servidor OpenERP dentro del directorio bin/addons. Crear un archivo con la descripción del módulo: terp.py Crear los archivos Python que contendrán los objetos. Crear los archivos xml para la obtención de datos (vistas, menús, datos de ejemplo,...) Opcionalmente crear listados, asistentes y flujos de trabajo. Los archivos xml ubicados en el directorio del módulo se pueden utilizar para modificar la estructura de la base de datos también son utilizados para otros propósitos entre los que podemos destacar: Cargar datos iniciales o datos de demostración. Declaración de vistas. Declaración de listados. Declaración de asistentes. Declaración de flujos de trabajo.
6 Estructura de un módulo La estructura general de los ficheros xml es la siguiente <?xml version="1.0"?> <openerp> <data> <record model="workflow" id=workflow_id> <field name="name">workflow.name</field> <field name="osv">resource.model</field> <field name="on_create">true False</field> </record> </data> </openerp> Ejemplo: sale_workflow.xml id (en el ejemplo "workflow_id") es un identificador del flujo de trabajo. Cada flujo de trabajo debe tener un identificador único. name (en el ejemplo "workflow.name") es el nombre del flujo de trabajo. El nombre del flujo de trabajo debe respetar la sintaxis de OpenERP "nombres punteados". osv (en el ejemplo "resource.model") es el nombre del objeto OpenERP que vamos a utilizar como modelo [- (Recuerde que OpenObjects hereda de osv.osv, de ahí "<field name="osv">')-]. on_create es verdadero cuando workflow.name se instancia automáticamente cuando resource.model es creado y falso en el caso contrario.
7 Estructura de un módulo init.py: El archivo init.py, como cualquier módulo de Python, es ejecutado al inicio del programa. En el incluiremos los archivos de Python que necesiten ser cargados.por lo tanto, si creamos un archivo "modulo.py", que contiene la descripción de nuestros objetos, tenemos que incluir una línea en init.py: import modulo terp.py : Cualquier módulo que creemos debe contener un un archivo con este nombre terp.py y debe estar ubicado en la raíz de nuestro módulo. Este archivo, que debe tener el formato Phyton es responsable de determinar: Los archivos XML que serán analizados durante la inicialización del servidor OpenERP. Las dependencias del módulo que hemos creado.
8 Estructura de un módulo Este archivo terp.py debe contener los siguientes valores de Python: name: nombre del módulo. version: versión del módulo description: descripción del módulo. author: autor del módulo website: sitio web del modulo license: licencia del módulo (por defecto GPL-2) depends: lista de módulos de los que depende este módulo. El módulo base se debe incluir casi siempre en las dependencias ya que algunos datos de este módulo son necesarios para las vistas, informes... init_xml: lista de archivos xml que se cargaran al iniciar el servidor OpenERP con la opción "- init=modulo". Las rutas de los archivos debe ser relativas al directorio donde está el módulo. update_xml: lista de archivos xml que se cargaran al iniciar el servidor OpenERP con la opción "-update=modulo". Las rutas de los archivos debe ser relativas al directorio donde está el módulo. installable: acepta valores true o false y determina si el módulo es instalable o no. active: acepta valores true o false y determina los si el módulo sera instalado cuando se cree la base de datos (por defecto false)
9 Mapeador ORM El mapeador se encuentra en la carpeta bin/osv, es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional. En nuestro caso: Python - PostgreSQL La estructura es sencilla: 4 ficheros: fields.py : donde se definen las estructuras básicas (columnas y tipos de campos) orm.py : donde se crean las clases que van a albergar los objetos y se define su funcionamiento íntimo. (En teoría, todo el SQL debería estar aquí...) osv.py: Instancia los objetos expression.py : permite evaluar expresiones complejas para dominios de datos (AND, OR, etc.)
10 Objetos (modelo) Todos los datos de OpenERP son accesibles a través de "objetos". Por ejemplo, existe un objeto "res.partner" para acceder a la información concerniente a las empresas (partners), un objeto "account.invoice" para acceder a los datos relativos a las facturas, etc. Localización: addons/nombre_modulo/nombre_modulo.py Existe un objeto para cada tipo de recurso, y no un objeto por recurso. Así tenemos un único objeto res.partner para manejar a todas las empresas y no un res.partner para cada empresa, es decir, existe un objeto por nivel. La principal consecuencia de éste hecho es que todos los métodos de los objetos tienen un parámetro común: el parámetro "ids". Este especifica sobre qué recursos (por ejemplo, sobre que empresa) el método debe aplicarse. Precisamente este parámetro contiene una lista de identificadores de recurso (ids) sobre los que se aplicará el método.
11 Objetos : tipos simples boolean integer float char parámetro opcional digits Ex: 'rate': fields.float('relative Change rate', digits=(12,6)) parámetro size text date datetime binary Ex: 'zip': fields.char('zip', size=24),
12 Objetos: Los elementos básicos... fields Heredan de una clase base denominada _column (columna), definida en fields.py Clase _column, atributos más importantes: _type : se utiliza para mapear su equivalente en la base de datos posteriormente (método get_pg_type de orm.py) class integer_big(_column): _type = 'integer_big'... type_dict = { fields.boolean: 'bool', fields.integer: 'int4', fields.integer_big: 'int8',...
13 Objetos: Atributos _multi : Se utiliza en campos 'funcionales' cuando el valor de varios campos se devuelve simultaneamente string: Almacena el valor de la cadena a mostrar (etiqueta) readonly: Especifica si el campo es de sólo lectura required: Si es obligatorio ( ojo! A nivel de base de datos...) size: el tamaño. Obligatorio para algunos tipos de campo como 'char' help: Cadena de texto para ayuda contextual change_default: Si es verdadero permite definir al usuario valores por defecto de otros campos basados en el valor de éste. ondelete: En campos relacionados permite definir a nivel de base de datos el comportamiento con los campos relacionados (... el ON DELETE CASCADE, SET NULL o en su caso RESTRICT). Por defecto set null translate: Si es verdadero, el contenido del campo será traducible _domain: si existe un dominio sobre el campo _context: información de contexto select : Permite definir si el campo se utilizará en los formularios de búsqueda de registros states: permite definir el valor de los demás atributos dependiendo del valor de la columna 'state'.
14 Objetos: boolean Ejemplo típico: campo 'active'. Si el campo 'active' existe para un objeto por defecto las búsquedas filtrarán solamente los registros activos. Si además no ponemos en campo 'active' un atributo 'select' no habrá forma de seleccionar nunca los registros no activos. base/res/partner/partner.py: 'active': fields.boolean('active'),ó base/res/partner/partner.py: 'customer': fields.boolean('customer', help="check this box if the partner if a customer."),
15 Objetos: integer Además de los usos habituales de los enteros se utiliza también en campos como 'sequence'. Es una convención dentro de la aplicación usar un campo llamado 'sequence' para ordenar los registros. Rango: a Ejemplo: product/product.py clase: product.category _columns = { 'name': fields.char('name', size=64, required=true, translate=true), 'complete_name': fields.function(_name_get_fnc, method=true, type="char", string='name'), 'parent_id': fields.many2one('product.category','parent Category', select=true), 'child_id': fields.one2many('product.category', 'parent_id', string='childs Categories'), 'sequence': fields.integer('sequence'), } _order = "sequence" Big Integer apenas se utiliza
16 Objetos: reference Se utiliza para crear una referencia a otro objeto que no es siempre del mismo tipo. Ejemplo: requests -> permite enlazar a los mensajes referencias a facturas, pedidos de ventas, tareas, etc. En la base de datos se almacena como una cadena de texto donde figura el nombre de modelo y su identificador: account.invoice,7 sería una referencia a la factura número 7. El campo se muestra como 2: un desplegable con los objetos a enlazar y un campo para seleccionarlo. (Ver ejemplo)
17 Objetos: char Son cadenas de texto. El campo 'name' es normalmente de tipo char. (Es un campo semiobligatorio por lo que podemos encontrar definiciones en prácticamente todas las clases). Obligatorio: indicar tamaño mediante atributo size Ejemplo: 'name':fields.char('name',size=64,invisible=true)
18 Objetos: text Texto (sin límite) Se utiliza normalmente para observaciones, etc. Es texto sin formato
19 Objetos: float Numéricos de punto flotante En la definición se pueden especificar los dígitos Se traduce en la base de datos por: double si no establecemos un número de dígitos numeric si los establecemos Ejemplo: en account/account_move_line.py La mayor parte de los campos numéricos tienes establecida una precisión El campo 'amount_currency' no la tiene...
20 Objetos: date, datetime, time Campos para almacenar valores de tiempo: date : fecha (sin hora) datetime : almacena fecha y hora time : hora (apenas utilizado) La forma de evitar problemas... AAAA-MM-DD HH:MM:SS
21 Objetos: binary Guarda datos binarios En muchas ocasiones se almacenan codificados en formato base64 Permite almacenar imágenes, ficheros, etc.
22 Objetos: selection En el objeto es un campo que puede tomar valores de una lista En la base de datos se mapea a un tipo text
23 Objetos: many2one Se utiliza para relaciones muchos a uno El mapeador crea una columna en la tabla muchos, clave foranea de la tabla uno. (La clave principal siempre es id) Ejemplo: lineas de pedido -> pedidos: 'order_id': fields.many2one('sale.order', 'Order Ref', required=true, ondelete='cascade', select=true) En la base de datos: CONSTRAINT sale_order_line_order_id_fkey FOREIGN KEY (order_id) REFERENCES sale_order (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE, Cuando creamos un campo many2one, la aplicación automáticamente genera en la base de datos la clave foránea, pero NO crea un índice sobre esa clave Si el campo en cuestión lleva un select, esto es, prevemos que vamos a utilizarlo en búsquedas, la aplicación genera un índice sobre dicho campo
24 Objetos: one2many Es la visión inversa de la relación anterior Es posible definir la relación en un sentido y no en el otro. La única consecuencia es que programáticamente no podremos utilizarla. En la base de datos no hay diferencia. Ejemplo: 'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=true, states={'draft':[('readonly',false)]}),
25 Objetos:many2many Permite crear relaciones muchos a muchos En la base de datos se utiliza una tabla intermedia (normalmente terminada en _rel) que almacena los identificadores de los registros relacionados Automáticamente se crean índices sobre ambas columnas
26 Objetos: function Existe la posibilidad de definir campos funcionales En principio éstos no tienen un mapeo a la base de datos excepto que utilicemos el argumento store=true, que almacena el resultado de la función en una columna en la base de datos del tipo adecuado. Existe la posibilidad de definir varios campos funcionales con la opción multi. De esta manera, se pueden calcular varios simultáneamente. Ejemplo: account/partner.py _columns = { 'credit': fields.function(_credit_debit_get, fnct_search=_credit_search, method=true, string='total Receivable', multi='dc', help="total amount this customer owns you."), 'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, method=true, string='total Payable', multi='dc', help="total amount you have to pay to this supplier."),... def _credit_debit_get(self, cr, uid, ids, field_names, arg, context):...
27 Objetos: related Campos relacionados (derivan de los campos funcionales) En versiones antiguas, no era sencillo mostrar campos perteneciente a objetos relacionados (más allá de su nombre) Ejemplo: Un campo de alerta en clientes. Con este tipo de campos es posible acceder y mostrar esos campos alojados en otras tablas.
28 Objetos: serialized Es un tipo de campo diseñado para almacenar objetos serializados (persistentes) Utiliza el método repr() de Python para serializar los objetos por defecto, pero puede ser reemplazado por otro método mediante el parámetro serialize_func
29 Objetos: property La clase fields.property hereda de fields.function y sobreescribe los métodos read y write. El tipo de este campo es 'many2one', de modo que en la vista se representa de la misma manera que un campo many2one. Pero el valor de la propiedad se almacena en la clase ir.property (tabla ir_property) como un registro independiente. El valor almacenado es un campo del tipo 'reference' (referencia, no muchos a uno) porque cada propiedad puede apuntar a un objeto diferente. Si se editan los valores de las propiedades (en el menú de administración), estas están representadas como campos de tipo referencia.
30 Objetos: property (2) Cuando se lee una propiedad el programa devuelve la propiedad adjunta a la instancia del objeto que se está leyendo. Si el valor de la propiedad no está definido el sistema devolverá la propiedad por defecto. La definición de un a propiedad es almacenada en la clase ir.model.fields como cualquier otro campo. En la definición de la propiedad se pueden añadir los grupos que tienen permiso para modificarla.
31 Clases definidas en OpenERP class orm_template(object) / class orm(orm_template) Las clases que albergan los objetos con los que normalmente trabajamos descienden de la clase osv.osv que hereda de orm que a su vez hereda de orm_template. Todos los datos del ERP son accesibles a través de "objetos". Por ejemplo, existe un objeto "res.partner" para acceder a la información concerniente a las empresas (partners), un objeto "account.invoice" para acceder a los datos relativos a las facturas, etc.
32 Clases definidas en OpenERP La principal consecuencia de éste hecho es que todos los métodos de los objetos tienen un parámetro común: el parámetro "ids". Este especifica sobre qué recursos el método debe aplicarse. Normalmente llamaremos a un método con una serie de parámetros, de los cuales algunos prácticamente siempre están presentes: objeto.metodo(cr, uid, ids,...) cr : es una referencia al cursor que conecta a la base de datos uid: identificador de usuario que hace la petición ids: lista de identificadores
33 Objetos: orm_template y orm Principales atributos: _name = None _columns = {} _constraints = [] _defaults = {} _rec_name = 'name' _parent_name = 'parent_id' _parent_store = False _date_name = 'date' _order = 'id' _sequence = None _description = None _inherits = {} _table = None _sql_constraints = [] _log_access = True _table = None _sql = '' _auto = False
34 Objetos: orm_template y orm Principales métodos: _auto_init: se ejecuta automáticamente al cargar el objeto. En algunos casos se sobreescribe para añadir la creación de índices adicionales. (Ej: stock/stock.py) check_recursion: Se utiliza en estructuras arbóreas para prevenir ciclos infinitos. Si la estructura la hemos creado a mano también podemos utilizar el método pasándole como argumento parent el nombre del campo padre Browse: Se utiliza continuamente. Devuelve un conjunto de objetos navegables de una clase. Copy: Es el método que se invoca cuando duplicamos un registro. Puede ser interesante reescribirlo. Ejemplo: pedidos de venta Create: Se ejecuta al crear un nuevo objeto. En muchos casos puede ser interesante manipular éste método. Ejemplo: account.move.line (al crear un apunte contable) default_get: Devuelve los valores por defecto establecidos por un usuario, etc. Ejemplo de utilización: account.move.line
35 Objetos: orm_template y orm Principales métodos: distinct_field_get: Devuelve todos los distintos valores introducidos en un campo. Se utiliza normalmete para autocompletar campos (es automático). fields_get: Devuelve los campos pertenecientes a un objeto. Ejemplo de utilización: si fuesemos a escribir nuestra propia aplicación cliente utilizaríamos este método remotamente para obtener los campos y sus tipos. Hay un ejemplo de manipulación de este método en base/res/partner/partner.py en la definición de los bancos. export_data / import_data: Son los métodos utilizados en la importación / exportación de datos desde el cliente. El hecho de que sean métodos de clase nos permite sobreescribirlos, en caso necesario, para los objetos que queramos. (No hay un sólo caso en todo el repositorio, pero es posible hacerlo) fields_view_get: Devuelve la vista correspondiente a un objeto (en su contexto). Es el método que entre otras cosas se encarga de la aplicación de las herencias en las vistas. Ejemplo de manipulación: en stock/product.py o en ir/ir_model.py (ver éste último en funcionamiento)
36 Objetos: orm_template y orm Principales métodos: name_get: Es un método trivial que devuelve el valor del campo name o el especificado en _rec_name. Ejemplo de utilización: Las categorías de producto. name_search: Define la búsqueda a través del nombre de un objeto. Ejemplo de utilización: búsqueda de productos. _parent_store_compute: Para la optimización de determinadas consultas en la base de datos de estructuras arbóreas es preciso calcular para cada nodo sus ramas izquierda y derecha. Es este método el encargado de realizar el cálculo. Ejemplo de utilización: este tipo de estructuras se utilizan actualmente con las cuentas contables y las localizaciones de almacén. (enlace) perm_read: Permite consultar los permisos sobre un objeto y los datos de creación y última modificación. Este método es a veces conveniente ya que los campos internos (create_uid, create_date, etc.) son accesibles directamente sólo si los hemos redeclarado (en _columns). Con este método podemos acceder a leerlos sin necesidad de dicha declaración
37 Objetos: orm_template y orm Principales métodos: Read: Se utiliza para leer el contenido de diversos campos de un conjunto de registros. Se recomienda utilizar browse en lugar de read, ya que no es más lento y nos permite realizar lo mismo con una sintaxis más clara. search_count: Devuelve el número de registros como resultado de una búsqueda. search : Es otro de los métodos muy utilizados. Devuelve una lista de ids que cumplen con una serie de requisitos. Ejemplo de utilización: en stock/stock.py hay un bucle que recorre todas las localizaciones hijas de otra. Unlink: Para borrar o eliminar registros view_header_get: Se utiliza si queremos cambiar la etiqueta de una pestaña, dependiendo del contexto. Write: Es el método que se utiliza habitualmente para escribir valores en un objeto
38 RESUMEN: atributos de campo readonly (boolean) Valor por defecto: False. required (boolean) Valor por defecto: False. translate (boolean) Valor por defecto: False. change_default (boolean) Valor por defecto: False.
39 Objetos: Atributos de campo states Uso: establecer parámetros dependiendo del estado Sintaxis: {'nombre_estado': lista_atributos,...} donde lista_atributos es una lista de tuplas de la forma [('nombre_atributo', valor),...] Valor por defecto: {}. Ejemplo: 'partner_id': fields.many2one('res.partner', 'Partner', states={'posted': [('readonly',true)]}),
40 Objetos: campos complejos function (nombre_metodo, tipo_metodo,...) Ejemplo: def _get_installed_version(self, cr, uid, ids, field_name=none, arg=none, context={}): res = {} for m in...: res[m.id] =... return res 'installed_version': fields.function(_get_installed_version, method=true, string='installed version', type='char'), selection (opciones,...) Ejemplo: 'state': fields.selection( (('n','unconfirmed'),('c','confirmed')), 'State', required=true)
41 Objetos: campos relación many2one (obj,...) Ejemplo: 'commercial': fields.many2one('res.users', 'Commercial'), Parámetros opcionales: ondelete = cascade - Valor por defecto: set null domain = [('field_name', 'operator', value),...] - Valor por defecto: [] one2many (obj, campo_id,...) Ejemplo: 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'),
42 Objetos: campos relación many2many (obj, rel, id1, id2) obj es el otro objeto relacionado rel es el nombre de la tabla que hace la relación id1 e id2 son los nombres de los campos en la tabla de relación Ejemplo: 'category_id': fields.many2many( res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'),
43 Objetos: campos relación reference (string, optiones, size) Ejemplo: 'ref': fields.reference( 'Field label', selection = ((('object.name', 'Object Label'),...), size=128), Selección dinámica: <record model="res.request.link"> <field name="name">project Task</field> <field name="object">project.task</field> </record>
44 Objetos: valores por defecto Principios son funciones toman 4 parámetros (obj, cr, uid, context) Sintaxis: _defaults = { 'field_name': function,... } Ejemplo _defaults = { 'date': lambda obj,cr,uid,context: time.strftime('%y-%m-%d'), 'state': lambda *a: 'draft' }
45 Objetos: restricciones Principios: son restricciones en código Sintaxis: [(metodo, 'mensaje error', lista_campos),...] Example def _constraint_sum(self, cr, uid, ids):... return res < 1000 _constraints = [ (_constraint_sum, 'Error: el resultado debería ser < 1000.', ['name']) ]
46 Objetos: herencia simple Principios: Sintaxis: _inherit = 'object.name' Ejemplo: class custom_material(osv.osv): _name = 'network.material' _inherit = 'network.material' _columns = { 'manuf_warranty': fields.boolean('manufacturer warranty?'), } _defaults = { 'manuf_warranty': lambda *a: False, } custom_material()
47 Objetos: herencia compleja Principios: (ver ejemplo biblio) Sintaxis: _inherits = { 'nombre.objeto': nombre_columna,...} Ejemplo: Ver product.product y product.template
48 Objetos: otros atributos de objeto _table Valor por defecto: nombre del objeto (. sustutuidos por _ ) _rec_name Valor por defecto: 'name'. _order Valor por defecto: 'id'.
49 Objetos: acceso a los objetos Acceso directo (desde dentro de un objeto) self.pool.get('nombre.objeto') Ejemplo: partner_object = self.pool.get('res.partner') partner_object.nombre_del_metodo(parámetros_m etodo) Acceso a través de Netservice (en el servidor pero desde fuera de los objetos) service = netsvc.localservice("object_proxy") result = service.execute(user_id, object_name, method_name, parameters)
50 Objetos: acceso a los objetos Acceso XML-RPC sock = xmlrpclib.serverproxy(' erto/xmlrpc/object') result = sock.execute(user_id, password, object_name, method_name, parameters)
51 Objetos: métodos predefinidos más importantes create def create(self, cr, uid, vals, context={}) devuelve el id search read def search(self, cr, uid, args, offset=0, limit=80) args = [('nombre_campo', 'operador', valor),...] devuelve lista de ids def read(self, cr, uid, ids, fields=none, context={}) devuelve lista de diccionarios: [{'nombre_campo': valor}]
52 Objetos: métodos predefinidos más importantes write def write(self, cr, uid, ids, vals, context={}) vals = {'field_name': value,...} devuelve True unlink def unlink(self, cr, uid, ids) devuelve True browse def browse(self, cr, uid, ids, offset=0, limit=2000) Ejemplo: addr_obj = self.pool.get('res.partner.address').browse(cr, uid, contact_id) contact_name = addr_obj.name contact_bank = addr_obj.partner_id.bank
53 Objetos: métodos predefinidos más importantes name_get def name_get(self, cr, uid, ids, context={}) Devuelve [(id, name),...] name_search
54 Vistas Vistas sirven para definir como mostrar los objetos. tienes que saber que la interfaz de usuario de OpenERP es dinámica. Esto quiere decir que no esta descrita estáticamente por algún código, pero es dinámicamente construida desde las descripciones en XML de la pantalla del cliente. Puede haber varias vistas para el mismo objeto Diferentes tipos de vista: Formularios form tree Tree (con atajos) Graph (* Versión 5) Calendar (* Versión 5)
55 Vistas: principios Acciones Abrir una ventana (form o tree) Imprimir un informe Ejecutar un wizar Items de Menú
56 Vistas: sintaxis Como los otros ficheros XML (usan las etiquetas record ) objeto que almacena vistas = ir.ui.view <openerp> <data> <record model= ir.ui.view id=... >... </record> </data> </openerp>
57 Vistas: sintaxis (formulario) <record model="ir.ui.view" id="view_id"> <field name="name">nombre_vista</field> <field name="model">nombre_objecto</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="etiqueta"> <field name="nombre_campo".../>... </form> </field> </record>
58 Vista: ejemplo <record model="ir.ui.view" id="view_organisation_form"> <field name="name">account.organisation.form</field> <field name="model">account.organisation</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="company"> <field name="partner_id"/> <field name="partner_contact_id"/> <field name="note"/> </form> </field> </record>
59 Menus y acciones Crean la acción abrir ventana Crean el correspondiente item de menú <record model="ir.actions.act_window" id="action_id"> <field name="name">action_name</field> <field name="res_model">object_name</field> <field name="view_type">form</field> <field name="view_id" ref="view_id"/> </record> <menuitem name="network/all Materials" action="action_id"/>
60 Seguridad de objetos Es importante definir permisos de acceso a los objetos de openerp para que puedan acceder a ellos otros usuarios que no sean administradores. Para ello es necesario definir politicas de seguridad a los módulos que se definirían, tal y como hemos visto en la estructura del módulo, dentro de la carpeta security y sobre los archivos ir_model_access.csv y modulo_security.xml Ir_model_access.csv: Este archivo contiene los permisos que se les dan a los objetos para un determinado grupo. Este archivo contiene las siguientes columnas: Id: Indica el identificador de esa línea de seguridad especifica Name: Nombre del registro Model_id:id: Identificador del modelo de objeto sobre el que se van a aplicar esos permisos. Ej: model_res_partner si se llama desde el módulo que lo crea. Si lo hiciesemos desde otro módulo se llamaría con: base.model_res_partner (Pertenece al módulo base) Group_id:id: Identificador del grupo de usuarios para el cual se están estableciendo los permisos. Ej: base.group_partner_manager
61 Seguridad de objetos ir_model_access.csv: Perm_read: Indica si al grupo definido le está permitida la lectura sobre ese objeto. Al ser boolean se define con 0 o 1 Perm_write: Indica si le está permitida la escritura sobre el objeto. Perm_create: Indica si se les permite crear esa clase de objetos. Perm_unlink: Indica si les está permitido borrar objetos de esa clase.
62 Seguridad de objetos Archivo modulo_security.xml: En este archivo se define la creación de grupos, reglas de registros y los permisos de un grupo sobre los menús. Creación de grupos: <record model="res.groups" id="group_system"> </record> <field name="name">administrator / Configuration</field> Permisos sobre menús: <record id="base.menu_security" model="ir.ui.menu"> </record> <field eval="[(6,0,[ref('base.group_erp_manager')])]" name="groups_id"/>
63 Seguridad de objetos Archivo modulo_security.xml: En este archivo se define la creación de grupos, reglas de registros y los permisos de un grupo sobre los menús. Creación de Reglas: Sirven para crear dominios especificos sobre los grupos que las tienen definidas. En el ejemplo se creará una regla para que los usuarios vean solamente sus ventas. <record model="ir.rule.group" id="filter_sale_orders_rule_group"> <field name="name">user Sale Orders</field> <field name="model_id" search="[('model','=','sale.order')]" model="ir.model"/> <field name="global" eval="false"/> </record> <record model="ir.rule" id="filter_sale_orders_rule"> <field name="field_id" search="[('model','=','sale.order'),('name','=','user_id')]" model="ir.model.fields"/> <field name="operator">in</field> <field name="operand">','.join(map(lambda x: str(x.id), user.child_id))</field> <field name="rule_group" ref="filter_sale_orders_rule_group"/> </record>
64 Seguridad de objetos Archivo modulo_security.xml: En este archivo se define la creación de grupos, reglas de registros y los permisos de un grupo sobre los menús. Asignación de reglas a grupos: A la hora de crear un grupo podemos asignarle las reglas definidas anteriormente: <record model="res.groups" id="group_system"> <field name="name">administrator / Configuration</field> <field name="rule_groups" eval="[(6,0,[ref('filter_sale_orders_rule_group')])]"/> </record>
65 Ejercicio práctico
DSI módulo de vacaciones para OpenERP 4.2.0
para OpenERP 4.2.0 Título: DSI módulo vacaciones OpenERP 4.2.0 Autor: Solid Rock IT - Aitzol Egia Amezua Código: Versión: 1.0 Fecha: 12-03-2009 Índice de contenido OpenERP 4.2.0 Pág. 2 1 Objetivo del documento...3
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesTING! CICLOS DE NEGOCIO FORMACIÓN TÉCNICA MADRID 19-23 JULIO 2010
TING! CICLOS DE NEGOCIO FORMACIÓN TÉCNICA MADRID 19-23 JULIO 2010 JULIO 2010 V2.0 ting! Tecnologías Inteligentes de Software S.L. índice I. HERENCIA I. DEPENDENCIA ENTRE MÓDULOS II. III. IV. II. III. IV.
Más detallesPerson IP CRM Manual MOBILE
Manual MOBILE División Informática BuscPerson Telecomunicaciones : Manual MOBILE 0.- Introducción 3 0.1 Configuración de los terminales 3 0.2 Acceso de Usuarios 3 1.- Funcionalidades CRM 5 1.1 Agenda del
Más detallesPHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.
PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone
Más detallesGESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...
Más detallesMANUAL DE USUARIO APLICACIÓN SYSACTIVOS
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014
Más detallesPrograma diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Más detallesManual de instalación Actualizador masivo de Stocks y Precios
Manual de instalación Actualizador masivo de Stocks y Precios Instrucciones para la instalación de Actualizado masivo de Stocks y Precios Módulo para Prestashop desarrollado por OBSolutions Módulo para
Más detallesMANUAL DE LA APLICACIÓN HELP DESK
CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado
Más detallesNotas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Más detallesMANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA
MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA Proveedores PLATAFORMA FACTURACIÓN ELECTRÓNICA PARA PROVEEDORES DE LA JUNTA DE COMUNIDADES DE CASTILLA LA MANCHA. Índice 1. INTRODUCCIÓN... 3 2. ACCESO A LA PLATAFORMA
Más detallesMANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Más detallesSincronización del Servidor.
Sincronización del Servidor. Versión 1.0 03/05/05 Fecha Jose Autor Manuel Viejo Lobato http://ars.viejolobato.com Página 1 de 5 Índice. 1. Introducción... 3 2. Búsqueda de elementos de workflow por nombre....
Más detallesMinisterio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder
Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 5: Report Builder Instituto de Tecnologías Educativas 2011 Informes con Oracle Report Builder En su configuración original, OpenOffice
Más detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
Más detallesCREACIÓN Y CONFIGURACIÓN DE WIKIS
Paso 1: Creación CREACIÓN Y CONFIGURACIÓN DE WIKIS Como con el resto de actividades, para crear un wiki lo primero es activar el modo de edición y seleccionar la opción Wiki de la lista desplegable Agregar
Más detallesMANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora
MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo
Más detallesManual hosting acens
Manual hosting acens Contenido Acceso al panel de control de cliente... 3 Asociar un dominio a mi Hosting... 5 Acceso al panel de administración del hosting... 7 INICIO - Visión general del estado de nuestro
Más detallesSERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC
Diputación de Lugo SERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC Manual usuario ERP Marzo 2015 ÍNDICE 1 INTRODUCCIÓN...
Más detallesCreación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
Más detallesDefiniciones. Tema 21_Módulos Menú 1
Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos
Más detallesCREACIÓN Y GENERACIÓN DE REMESAS DE ADEUDOS SEPA
CREACIÓN Y GENERACIÓN DE REMESAS DE ADEUDOS SEPA Una vez que hayamos accedido a la aplicación instalada, estos serías los pasos para crear la empresa y configurar la cuenta con la que se vaya a trabajar.
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesPlataforma e-ducativa Aragonesa. Manual de Administración. Bitácora
Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar
Más detallesInstalación de FileZilla FTP Server
Instalación de FileZilla FTP Server [Ir a Página principal] El proceso de instalación es muy sencillo, solamente en algunos pasos tendremos que realizar acciones como elegir el tipo de instalación o de
Más detallesManual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib
Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico
Más detallesSitios remotos. Configurar un Sitio Remoto
Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder
Más detallesGVisualPDA Módulo de Almacén
GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en
Más detallesREDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición
Más detalles- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7
Copia de seguridad en Wingest 7 desde WgAdmin Los pasos a seguir serán los siguientes: - Todos los usuarios de la aplicación deberán estar fuera de ella. - Deberemos entrar en nuestra carpeta de Wingest
Más detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesUNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE
PROGRAMA: TUTORÍA VIRTUAL EN AMBIENTES DE APRENDIZAJE UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE 1 USO DE LOS RECURSOS EN MOODLE 1. Tipos de Recursos 2. Editar Páginas de Texto o Web 3. Enlazar
Más detallesMARFIL CONTABILIDAD ACTUALIZACIÓN FEBRERO 2011
ACTUALIZACIÓN FEBRERO 2011 Este documento es propiedad de Totware Novelda, SL y su contenido es confidencial. Este documento no puede ser reproducido en su totalidad o parcialmente, ni mostrado a terceros,
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesMANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
Más detallesMANUAL COPIAS DE SEGURIDAD
MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta
Más detallesNOTAS TÉCNICAS SOBRE EL SIT: Definición y Configuración de Usuarios
NOTAS TÉCNICAS SOBRE EL SIT: Definición y Configuración de Usuarios Qué es un Usuario?...2 Definición...2 Características...2 Tipos de Usuario...3 Supervisor...3 Privilegios de Acceso...4 Confidenciales...4
Más detallesProceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento
Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)
Más detalles01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE... 1 02 OBJETO DEL DOCUMENTO... 2 03 ESTRUCTURA GRÁFICA DEL SISTEMA... 3
01 Índice 01 ÍNDICE..... 1 02 OBJETO DEL DOCUMENTO..... 2 03 ESTRUCTURA GRÁFICA DEL SISTEMA..... 3 04 GESTIÓN DE TABLAS..... 5 05 USO DE TABLAS EN ENVIDUR..... 15 06 GESTIÓN DE FUNCIONALIDAD ADICIONAL.
Más detallesAccede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:
Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su
Más detallesManual Ingreso Notas y Acta Electrónica
Manual Ingreso Notas y Acta Electrónica ÍNDICE ÍNDICE 2 I. INTRODUCCIÓN 3 II. CREAR LA ESTRUCTURA DE NOTAS PARCIALES (OPCIÓN NOTAS NORMALES) _ 4 III. CREAR LA ESTRUCTURA DE NOTA FINAL (OPCIÓN NOTAS CALCULADAS)
Más detallesPatrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
Más detallesPara entornos con más de un equipo conectados en red es necesario que el programa de firewall conceda paso a los servicios de Microsoft SQL Server.
ET-SEGURIDAD SQL INSTRUCCIONES DE USO IMPORTANTE Este software puede ser bloqueado por software antivirus. Asegúrese de añadir la excepción correspondiente si fuese necesario. Se recomienda deshabilitar
Más detalles- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Más detallesComisión Nacional de Bancos y Seguros
Comisión Nacional de Bancos y Seguros Manual de Usuario Capturador de Pólizas División de Servicios a Instituciones Financieras Mayo de 2011 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga
Más detallesManual de NetBeans y XAMPP
Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación
Más detallesGuía Notas Parciales. Intermedio
Guía Notas Parciales Intermedio ÍNDICE I. INTRODUCCIÓN 3 II. CREAR LA ESTRUCTURA DE NOTAS PARCIALES (OPCIÓN NOTAS NORMALES) 4 III. CREAR LA ESTRUCTURA DE NOTA FINAL (OPCIÓN NOTAS CALCULAS) 6 IV. INGRESAR
Más detallesMultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A. www.base100.com
MultiBase Cosmos Notas a la versión 4.4, release 1 BASE 100, S.A. www.base100.com Índice IMPLEMENTACIONES... 3 MÉTODOS DE LA CLASE SIMPLECONTROL... 4 MÉTODOS DE LA CLASE INTEGER... 4 MÉTODOS DE LA CLASE
Más detallesInstalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Más detallesSISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO
SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO Consideraciones Iniciales I. El sistema está desarrollado bajo un entorno web por lo que puede ser accedido desde cualquier cliente
Más detallesConceptos Generales en Joomla 1.7.2.
1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente
Más detallesMANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES
1. ÍNDICE MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES 1. INTRODUCCIÓN...4 2 INSTALACIÓN DE LA APLICACIÓN...4 3 PANTALLA DE ACCESO...5 4 SELECCIÓN DE CLÍNICA...6 5 PANTALLA PRINCIPAL...7 6.
Más detallesSeven ERP Guía De Referencia - Imágenes
Seven ERP Guía De Referencia - Imágenes Digital WARE Ltda. Calle 72 # 12-65 P.2 Bogotá, Colombia 2004 Digital Ware, Ltda. Todos Los Derechos Reservados Toda la documentación utilizada en Seven ERP está
Más detallesGUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA
Más detallesManual CMS Mobincube
Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una
Más detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad
Más detallesPropuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA
Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)
Más detallesPS.Vending Almacén Pocket PC
Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...
Más detallesCIF-KM. GUÍA DE LOS PRIMEROS PASOS
CIF-KM. GUÍA DE LOS PRIMEROS PASOS Secciones 1. CONCEPTOS PREVIOS. 2. INSTALAR CIF-KM. 2.1 Descargar e instalar CIF-KM. 2.2 Configuración de CIF-KM. 2.3 Acceso externo al servidor de CIF-KM. 3. PRIMERA
Más detallesA- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN
Pag - 1 Guía de Elaboración de Reportes Herramienta de Administración 2.0 A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN NOTA: Los pasos de esta sección deben ser ejecutados si identifica realizar
Más detallesÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)
JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una
Más detallesIntroducción a la Firma Electrónica en MIDAS
Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento
Más detallesTEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín
TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,
Más detallesAGREGAR COMPONENTES ADICIONALES DE WINDOWS
INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución
Más detallesRedes de área local: Aplicaciones y servicios WINDOWS
Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor
Más detallesMANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE
MANUAL DE USUARIO EGROUPWARE 1 INDICE Que es egroupware... 3 Inicio de sesión... 4 Aplicaciones de egroupware... 4 Correo electrónico... 5 Calendario... 7 ACL... 9 Administración de proyectos... 10 Libreta
Más detallesEurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES
Eurowin 8.0 SQL Manual del módulo TALLAS Y COLORES Documento: me_tallasycolores Edición: 05 Nombre: Manual del módulo Tallas y Colores de Eurowin 8.0 SQL Fecha: 30-04-2012 Tabla de contenidos 1. Introducción...
Más detallesESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS
UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas
Más detallesAGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7
Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detallesManual de operación Tausend Monitor
Manual de operación Tausend Monitor Luego de haber realizado satisfactoriamente el proceso de instalación, al iniciar el programa le aparecerá la siguiente ventana: El usuario principal y con el primero
Más detallesTutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
Más detallesAPLICACIONES INFORMÁTICAS de BASE de DATOS
APLICACIONES INFORMÁTICAS de BASE de DATOS AUTOR: Juan Carlos Cambero Palmero EDITA: ACADEMIA BALANUS Reservados todos los derechos. Queda prohibido, sin el permiso del autor o editor, la reproducción
Más detallesMANUAL DE LA APLICACIÓN DE ENVÍO DE SMS
MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS SEGUIMIENTO DE VERSIONES Versión Novedades respecto a la versión anterior Fecha Versión 1.0 14/03/2011 Página 2 ÍNDICE ÍNDICE... 3 1. INTRODUCCIÓN... 4 2. MÓDULO
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesListados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008
Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales
Más detallesPrograma de Educación a Distancia MOODLE EDUC. (Modular Object Oriented Distance Learning Enviroment)
MOODLE EDUC (Modular Object Oriented Distance Learning Enviroment) 1) La Interfaz de la asignatura Manual del Profesor Contiene las mismas 5 zonas que observa el alumno. Sin embargo, respecto a los bloques
Más detallesCIMA. MANUAL DE USUARIO
MANUAL DE USUARIO Proyecto: Consultoría para la Implementación de una base de datos y un sistema web para almacenar y manejar la información de proyectos y/o actividades en el Parque nacional Cordillera
Más detallesGUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII
GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples
Más detallesAdministración de la producción. Sesión 10: Gestor de Base de Datos (Access)
Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,
Más detallesZon@de. Servidor FTP LEECH FTP INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado.
INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado. 1.1.-MAILING. Herramienta de Mailing.. Gestor de Textos. E-mails. MANUAL DE AYUDA ADMINISTRACIÓN
Más detallesHerramientas CONTENIDOS. MiAulario
Herramientas CONTENIDOS MiAulario CONTENIDOS Qué es Contenidos Ver un ejemplo Añadir la herramienta al sitio Añadir contenido en la página Páginas principales / subpáginas Criterios de visibilidad Configuración
Más detallesMi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:
Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.
Más detallesMicrosoft Access 2010 (Completo)
Microsoft Access 2010 (Completo) Descripción: Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2010, estudiando los conceptos fundamentales de las bases de datos:
Más detallesUNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER
UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER Eduard Lara 1 1. INTRODUCCIÓN En Windows Server: - Los usuarios y grupos dados de alta cuando el equipo es un servidor independiente,
Más detallesManual de configuración de Thunderbird ÍNDICE
Manual de configuración de Thunderbird ÍNDICE 1. ARRANCANDO THUNDERBIRD POR PRIMERA VEZ... 2 2. ARRANCANDO THUNDERBIRD POR N-ÉSIMA VEZ... 2 3. CONFIGURACIÓN DE CUENTA DE CORREO... 4 4. SERVICIO DE DIRECTORIO
Más detallesTrey-SAT Pag. 1. Manual de usuario
Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión
Más detallesFicheros Electrónicos
Última actualización: Marzo 11 Versión para Imprimir Ficheros Electrónicos Ver Índice Introducción A continuación detallamos los aspectos funcionales asociados a la gestión de ficheros electrónicos, herramienta
Más detallesNORMA 34.14(SEPA) 05/11/2013
NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios
Más detallesKepler 8.0 USO DEL ERP
Kepler 8.0 USO DEL ERP CONTENIDO 1. Introducción... 3 2. Inicio del sistema... 3 3. Pantalla inicial... 4 4. Barra de menús... 5 a) Menú archivo... 5 b) Menú edición... 6 c) Menú Ver... 6 5. Ayuda... 8
Más detallesHerramienta Encuestas. MiAulario
Herramienta Encuestas MiAulario Introducción... 2 Menú de la herramienta... 3 Panel de encuestas... 3 Mis encuestas... 4 Añadir encuesta... 4 Mis plantillas... 7 Añadir elemento: pregunta o cabecera...
Más detallesTutorial de Drupal para Editores de Sitios
Tutorial de Drupal para Editores de Sitios Autora: Aylín Alvarez Martínez Dpto. de Desarrollo de Infomed Noviembre 2010 1 Índice Qué es un CMS?... 3 Qué es Drupal?... 3 Registro e Ingreso... 3 Mi cuenta...
Más detallesGedicoPDA: software de preventa
GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente
Más detallesOficina Online. Manual del administrador
Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal
Más detallesSISTEMA DE ATENCIÓN y GESTIÓN MANUAL DEL USUARIO. SAyGeS v2.0
SAyGeS v2.0 1. Usuario 1.1. INGRESO Ingrese usuario y contraseña. Posteriormente hacer click en Conectar. El sistema le mostrará su pantalla principal, compuesta de Cinco pestañas: Alta Ticket Alta Tramite
Más detallesMANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:
MANUAL DE USUARIO La aplicación para la convocatoria Parques Científicos y Tecnológicos consta de un programa descargable más un módulo web. Mediante el módulo descargable, es posible cumplimentar todos
Más detalles