Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Tu marca aqui mismo

Llega a miles de personas.

Publicidad

Mostrando las entradas con la etiqueta fields. Mostrar todas las entradas
Mostrando las entradas con la etiqueta fields. Mostrar todas las entradas

viernes, 2 de octubre de 2015

Campos Seleccion Calculados en Odoo

Crear un Campo Calculado de Tipo Seleccion



Si trabajamos con campos calculados en Odoo y nos hemos enfrentado a obtener un valor de un campo Selección o Relación, observamos que en la nueva tabla el resultado es correcto obtenemos el resultado pero no tenemos la etiqueta correcta. Esto se soluciona haciendo uso del atributo "selection".

Ejemplo:
def _get_states(self, cr, uid, ids, fieldnames, args, context=None):
    res = {}
    state = 'draft'
    #### Aqui meteriamos el codigo para obtener el Estado del registro que necesitaramos #####
    return res[ids[0]] = state

lista_estados = [
                ('draft','Borrador')
                ('done','Realizado')
                ]

'state': fields.function(_get_states, type='selection',method=True,  selection=lista_estados, string="Estado"),


La misma regla aplica para los campos Relacion (Related):

lista_estados = [
                ('draft','Borrador')
                ('confirmed','Confirmado')
                ('done','Realizado')
                ('cancel','Cancelado')
                ]

'state': fields.related('invoice_id','state', type='selection',method=True,  selection=lista_estados, string="Estado"),

jueves, 28 de mayo de 2015

Eliminar los Valores predefinidos por el Usuario

Eliminar los Valores predefinidos por el Usuario


    Es muy comĆŗn que el administrador del Sistema le aplique un valor predeterminado a un Campo(s), como puede ser detalles en Notas, Referencias, Ubicaciones por default, y cuando queremos Eliminarlas no sabemos en donde se Almacenan.

Ejemplo, yo aplico un texto en Notas con la leyenda: "UNA VEZ SALIDA LA MERCANCƍA NO SE ACEPTAN DEVOLUCIONES, REVƍSELA ANTES DE SALIR DE LA TIENDA" y la defino por default para que cada Factura lleve impresa la misma.


    Si en algĆŗn punto de la Empresa decide cambiar y tener garantĆ­a en sus productos, esta leyenda ya no sera necesaria, entonces para evitarle al usuario tener que eliminarla cada vez que crea una Factura, debemos eliminar ese valor del Sistema.

Para eliminar campos con valores por defecto, vamos a ir al menú del Sistema Configuración --> Técnico --> Acciones --> Predeterminados Predefinidos por el Usuario.

AquĆ­ solo tendremos que aplicar los filtros para encontrar nuestro campo.


Ahora solo lo seleccionamos y pulsamos Eliminar.




jueves, 10 de abril de 2014

Integracion de Codigos QR con Odoo (OpenERP)

Generar Codigos QR para campos Binary en Odoo (OpenERP)



Para la generación de Códigos QR para OpenERP les enseñare a utilizar 2 Librerias:


Utilizando Python qrtools:


Lo primero que de debemos hacer es instalar la libreria qrtools, para instalarlo debemos descargar el paquete del link oficial:


Lo instalamos como cualquier paquete python con el comando :

sudo python setup.py install

Una vez instalado lo importamos en nuestros archivos .py con la linea siguiente:

from qrtools import QR

Ahora debemos agregar un Campo de Tipo binario por ejemplo:

'cfdi_cbb': fields.binary("CFD-I CBB")


Este campo es un código CBB propio de la facturación electrónica, ahora debemos ingresar la cadena para generar ese codigo CBB:

       qr_string = "La cadena para mi codigo QR" ## Cadena de Texto
       qr_code = QR(data=qr_string.encode('utf-8')) ## Encodeamos a utf8 mi Cadena
       qr_file = open(qr_code.filename, "rb") ## Escribimos la Imagen
       temp_bytes = qr_file.read() ## Leemos la Imagen
       qr_bytes = base64.encodestring(temp_bytes) ## Convertimos la Imagen para Escribirla en Base
       qr_file.close() ## Cerramos la lectura del archivo con la imagen QR

       Lo ultimo es escribir la imagen en el modelo account.invoice:

       account_obj = self.pool.get('account.invoice')
        account_obj.write(cr,uid,[ids_del_registro],{'cfdi_cbb':qr_bytes})




lunes, 6 de enero de 2014

Agregar nuevos campos en formularios OpenERP 7 sin necesidad de crear modulos

AGREGAR CAMPOS EN PEDIDO DE VENTA

     OpenERP tiene la facilidad y flexibilidad de poder agregarle nuevos campos a cualquier formulario de cualquier modulo directamente en el servicio sin necesidad de crear un modulo que realice esto, esto es muy eficiente y de mucha ayuda al momento de implementar OpenERP, ya que en ocasiones los campos que contienen los modulo no satisfagan nuestras necesidades, por ejemplo en pedido de venta necesitamos un nuevo campo denominado detalles de la venta este campo contendra hasta 200 caracteres para realizar esto realizaremos lo siguiente:

Entramos a OpenERP mediante nuestro navegador web y nos dirigirnos a la siguiente ruta:

Configuración --> Personalizacion --> Estructura de la Base de Datos --> Modelos