domingo, 8 de agosto de 2010

OpenERP - Cambiar el tamaño de la pagina a tamaño carta cuando se usa Print Screen

Al usar el menu print screen el tamaño de la pagina impresa es siempre A4, para cambiarlo a tamaño carta es necesario modificar la la linea :

pageSize=[297.0, 210.0]

por:

pageSize=[279.4,215.9]

Estas líneas deberan ser modificadas en los archivos ps_form.py y ps_list.py localizados en /usr/local/lib/python2.6/site-packages/openerp-server/report/printscreen/

Mi sistema esta montado en OpenSuse 11.3, OpenERP 5.0.12

Cambiar el lenguaje de FireFox

Teclear en la barra de direcciones:

about:config

Buscar:
general.useragent.locale

Y cambiarlo al lenguaje deseado por ejemplo fr-FR

sábado, 7 de agosto de 2010

Solucion de error al conectar con OpenERP 5.0.12 server

Instalé sin mayores problemas OpenERP ( servidor, servidor web y cliente) en una computadora corriendo OpenSUSE 11.3

El problema que tenia era que cuando abría el Cliente recibía un mensaje indicando que no se podía conectar con el servidor.

Indagando me encontré con la solución, que es la siguiente:
El problema de conexión no es entre el cliente y el servidor (openerp-server), el problema es entre openerp-server y el servidor PostgreSQL, nótese que yo venia de utilizar la versión 5.0.9 y en esa versión no habia autenticacion o si la había era transparente para el usuario o al menos en mi particular situación no me había pasado; bueno el caso es que lo que se tiene que hacer es verificar el archivo de configuración PostgreSQL, lo mas seguro es que la autenticación por password no está configurada.

Para cambiar la configuración buscar el archivo pg_hba.conf

Buscar la linea

local all all ident

y cambiarla a:

local all all md5

Reiniciar el servidor

/etc/init.d/postgresql restart

Arrancar el servidor indicando el user y password creado cuando se configuró el servidor p.ej
openerp-server --addons-path=/home/openerp/Descargas/openERP/addons-instalados/ --db_user=openuser --db_password=12345&

Debería de iniciar sin problemas

miércoles, 4 de agosto de 2010

Multimedia en OpenSuse 11.3

OpenSuse no incluye codecs y software multimedia para no violar derechos de autor, esto sin embargo no quiere decir que no se pueda disfrutar de dichos archivos en nuestra PC con Linux; para hacerlo tenemos que instalar lo siguiente:

Los links siguientes "1-Click" son para OpenSuse 11.3

Los codecs para escritorio KDE "1-Click"
Los codecs para escritorio GNOME "1-Click"

Soporte para leer DVDs encriptados "1-Click"

Algunos codecs no son soportados por Kaffeine, por lo que es recomendado instalar MPlayer y VLC player.

VLC

Para VLC es necesario instalarlo desde la linea de comandos:
Abrir una consola como root y teclear:
1)sudo zypper ar http://download.videolan.org/pub/vlc/SuSE/11.3/ VLC
2)sudo zypper mr -r VLC
3)sudo zypper -v in vlc


MPlayer

Verifica que el repositorio de Packman este cargado:
Yast Control Center/Software Repositories
Deberia estar cargado http://packman.inode.at/suse/11.3
sino esta cargado agregalo usando la interfaz grafica o con los comandos
1)sudo zypper ar http://packman.inode.at/suse/11.3 PackMan
2)sudo zypper mr -r PackMan


Utiliza YAST para agregar software y busca smplayer, esto es para que instale mplayer y la interfaz grafica smplayer

Una vez que tengas instaladas las aplicaciones y codecs mencionados tendras soporte para una amplia gama de archivos multimedia

viernes, 26 de marzo de 2010

Cargar el modulo bttv durante el arranque de la computadora.

El sistema que estoy usando es OpenSuse 11.2 (kernel 2.6.31), la información cargada está basada en las instrucciones de la página http://www.zoneminder.com/wiki/index.php/Kodicom_4400r .

Estoy tratando de crear un sistema de vigilancia usando una tarjeta Kodikom 4400r con capacidad de conectar 16 camaras, mi problema era que el cada vez que apagaba la computadora la configuración de la tarjeta se perdia y las instrucciones dadas en la mencionada página no aplican para opensuse ya que opensuse no usa el archivo modprobe.conf

La solución fue:
  • Iniciar YAST e ir a Sistema/Editar los archivos /etc/sysconfig/System/Kernel/MODULES_LOADED_ON_BOOT
  • Teclear bttv en el cuadro de dialogo y darle aceptar. Esto hará que el modulo se cargue en el arranque.
  • Iniciar una terminar con el superusuario (root) e ir al directorio /etc/modprobe.d
  • Crear un nuevo archivo con el nombre que se les ocurra, por conveniencia deberia de estar relacionado a lo que se va a instalar, en mi caso creé el archivo bttv.conf; este archivo debe de contener : options bttv gbuffers=32 card=133,132,133,133 chroma_agc=1, el ultimo parámetro es opcional (chroma_agc=1) y puede ser eliminado. El archivo creado contiene la configuración que necesitamos en la tarjeta.
  • Reiniciar la computadora.
El parámetro card se obtiene con ayuda del archivo  CARDLIST.bttv; para encontrar el archivo utilizar find / -name CARDLIST.bttv desde la consola (como usuario root).

    domingo, 28 de febrero de 2010

    Conversión de numeros a letras para openERP

    Estoy corriendo la version 5.0.6 (servidor), Python 2.6 y OpenSuse 11.2.

    Esta solución esta basada en información encontrada en internet en algunos foros de Python y openERP.

    Abrir una consola con el usuario root e ir ar directorio:

    /usr/local/lib/python2.6/site-packages/openerp-server/addons/account/report

    una vez ahi, editar el archivo invoice.py (yo utilizé el editor vi), debería quedar como: (el código agregado está marcado)

    import time
    from numero_a_texto import Numero_a_Texto
    from report import report_sxw

    class account_invoice(report_sxw.rml_parse):
        def __init__(self, cr, uid, name, context):
            super(account_invoice, self).__init__(cr, uid, name, context)
            self.localcontext.update({
                'time': time,
                'obt_texto':self.obt_texto,
                'lang':context['lang'],
            })

        def obt_texto(self,cantidad):
            res=Numero_a_Texto(cantidad)
            return res
    report_sxw.report_sxw(
        'report.account.invoice',
        'account.invoice',
        'addons/account/report/invoice.rml',
        parser=account_invoice
    )
    # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:


    Una vez que esté listo el archivo, crear un nuevo archivo el archivo numero_a_texto.py, este archivo debe contener:

    #!/usr/bin/python                  
    # -*- coding: utf-8 -*-            

    UNIDADES = (
        '',    
        'UN ', 
        'DOS ',
        'TRES ',
        'CUATRO ',
        'CINCO ',
        'SEIS ', 
        'SIETE ',
        'OCHO ', 
        'NUEVE ',
        'DIEZ ', 
        'ONCE ', 
        'DOCE ', 
        'TRECE ',
        'CATORCE ',
        'QUINCE ',
        'DIECISEIS ',
        'DIECISIETE ',
        'DIECIOCHO ',
        'DIECINUEVE ',
        'VEINTE '    
    )                
    DECENAS = (      
        'VENTI',     
        'TREINTA ',  
        'CUARENTA ', 
        'CINCUENTA ',
        'SESENTA ',  
        'SETENTA ',  
        'OCHENTA ',  
        'NOVENTA ',  
        'CIEN '      
    )                
    CENTENAS = (     
        'CIENTO ',   
        'DOSCIENTOS ',
        'TRESCIENTOS ',
        'CUATROCIENTOS ',
        'QUINIENTOS ',  
        'SEISCIENTOS ', 
        'SETECIENTOS ', 
        'OCHOCIENTOS ', 
        'NOVECIENTOS '  
    )                   
                        
    def Numero_a_Texto(number_in):
                                 
        converted = ''                             

        if type(number_in) != 'str':
          number = str(number_in)  
        else:                      
          number = number_in       
                                                              
        number_str=number                                     
                                                              
        try:                                                  
          number_int, number_dec = number_str.split(".")      
        except ValueError:                                    
          number_int = number_str                             
          number_dec = ""                                     

        number_str = number_int.zfill(9)
        millones = number_str[:3]      
        miles = number_str[3:6]        
        cientos = number_str[6:]       

        if(millones):
            if(millones == '001'):
                converted += 'UN MILLON '
            elif(int(millones) > 0):    
                converted += '%sMILLONES ' % __convertNumber(millones)
                                                                     
        if(miles):                                                   
            if(miles == '001'):                                      
                converted += 'MIL '                                  
            elif(int(miles) > 0):                                    
                converted += '%sMIL ' % __convertNumber(miles)       
        if(cientos):                                                 
            if(cientos == '001'):                                    
                converted += 'UN '                                   
            elif(int(cientos) > 0):                                  
                converted += '%s ' % __convertNumber(cientos)        

        if number_dec == "":
          number_dec = "00"
        if (len(number_dec) < 2 ):
          number_dec+='0'        

        converted += 'PESOS '+ number_dec + "/100 M.N."

        return converted
                       
    def __convertNumber(n):
        output = ''

        if(n == '100'):
            output = "CIEN "
        elif(n[0] != '0'):
            output = CENTENAS[int(n[0])-1]

        k = int(n[1:])
        if(k <= 20):
            output += UNIDADES[k]
        else:
            if((k > 30) & (n[2] != '0')):
                output += '%sY %s' % (DECENAS[int(n[1])-2], UNIDADES[int(n[2])])
            else:
                output += '%s%s' % (DECENAS[int(n[1])-2], UNIDADES[int(n[2])])

        return output
    """
    print Numero_a_Texto(9121234.2)
    """


    Una vez que este listo en la factura se debe de utilizar la etiqueta [[obt_texto(o.amount_total)]] en donde se requiera imprimir la cantidad en letras.


    Notas:
    Se debe reiniciar el servidor para que los cambios tengan efecto.
    Python es sensible a los espacios tabuladores.

    miércoles, 24 de febrero de 2010

    Instalar ZINIO reader on OpenSuse 11.2

     En la version que tengo instalada no corren totalmente bien, algunas paginas se ven otras no, la pantalla se  bloquea, los iconos del menu desaparecen pero pasando el raton en el area donde deben de estar vuelven a aparecer, algunas veces las paginas giran solas 180º, en fin le falta mucho para decir que funciona.

    Actualmente corriendo wine 1.1.38, Zinio Reader 3.7

    1. Descargar el software de instalacion de www.zinio.com
    2. Ejecutar la instalacion ( wine setup.exe )
    3. Abrir la configuracion de wine ( winecfg )
    4. En al pestaña Librerias agregar msxml3.dll, msxml3a.dll and msxml4.dll, seleccionar la opcion Nativo Windows.
    5. Seleccionar la pestaña Aplicaciones, agregar ZinioReader.exe y ZLH.exe y hacerlos ejecutar en Windows 98.

    miércoles, 3 de febrero de 2010

    Instalación de Genius CP-SF600 en OpenSuse 11.2

    La instalacion de el escaner Genius CP-SF600 se hace de la siguiente manera:

    1. Conectar el escaner a un puerto USB
    2. Ir a YAST\Hardware\Scaner
    3. En la lista que aparezca, seleccionar el escaner a actualizar y presiona EDIT, buscar el modelo de escaner: Genius Colorpage SF600
    4. Permitir la instalacion del software
    5. Ahi te dara la indicacion de un archivo faltante, el archivo requerido es cism216.fw, para obtenerlo deberas descargar los drivers de la pagina de Genius
    6. Ya que tengas el driver (archivo .zip), descomprimelo y busca el directorio donde lo descomprimiste, ahi ejecuta
      wine INSTALL.EXE
    7. Ya que se haya instalado copia el archivo
      $HOME/.wine/drive_c/Program Files/ColorPage-SF600/cism216.fw
      en el folder indicado en el paso 5, o sea en
      /usr/share/sane/gt68xxM
    8. El escaner esta listo para ser usado con tu aplicacion favorita, en mi caso tengo Skanlite y xSane

    Instalacion de Openbravo POS 2.3 en OpenSuse 11.2

    La instalacion de Openbravo POS puede ser bastante simple siguiendo los pasos siguientes:

    1. Verificar que se tiene instalado SUN JAVA run time enviroment (JRE) 6
    2.  
      Usar en la consola: java -version
      
      
    3. Verificar si SUN JAVA es usado por defecto
    4.  
      linux-vjtw:# update-alternatives --config java
      
      There are 3 alternatives which provide `java'.
      
        Selection    Alternative
      -----------------------------------------------
       +        1    /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
                2    /usr/lib/jvm/jre-1.5.0-gcj/bin/java
      *         3    /usr/lib/jvm/jre-1.6.0-sun/bin/java
      
      Press enter to keep the default[*], or type selection number:
      
      Nota:En este caso se puede notar la versión SUN es empleada por defecto.(Marcada con *)
      
      
    5. Descargar Openbravo POS de acuerdo al tipo de computadora que se tenga, en mi caso descargué el archivo openbravopos-2.30-linux-installer.bin. El enlace de descarga: http://wiki.openbravo.com/wiki/Openbravo_POS_2.30_Release_notes#How_to_get_Openbravo_POS
    6. Ejecutar el archivo para su instalación.
    7.  
      ./openbravopos-2.30-linux-installer.bin
      
      
    8. Instalar MySQL y el conector Java para MySQL, en mi caso use YAST. Es una buena opcion instalar el Administrador de MySQL (es una interfaz gráfica para MySQL).
    9. Cuando MySQL haya sido instalado debemos iniciar el servidor de MySQL, para esto iniciar YAST y buscar : SYSTEM\SYSTEM SERVICES; en la columna SERVICE buscar MYSQL y habilitar el servicio para arrancar el servidor
    10. Abrir una consola y ejecutar :
    11.  
      mysql_install_db
      
      Nota:va a salir bastante informacion sobre lo que se acaba de instalar y recomendaciones.
      
      
    12. Agregar un password al usuario root (de MySQL), teclear en la consola:
    13.  
      mysqladmin -u root password “nuevo_password” 
      mysqladmin -u root -h localhost password “nuevo_password”
      
      
    14. Abrir el Administrador de MySQL (interfaz grafica) y crear un usuario y password para Openbravo POS. El usuario creado en mi caso es rsaucedo
    15. Crear una base de datos (Catalogo). En mi caso el nombre de la base de datos creada es: openbravopos.
    16. Al nuevo usuario creado darle todos los privilegios para accesar la nueva base de datos.
    17. Buscar el conector java instalado (debe de estar en /usr/share/java/mysql-connector-5.1.6.jar) y crear un link o copiar el archivo en el directorio donde se instalo Openbravo, que deberia de ser /opt/openbravopos-2.30/lib
    18. Iniciar Openbravo POS, deberia de marcar un error y abrir un panel de configuración, en ese panel cargar lo siguiente:
    19.  
      Driver library: /opt/openbravopos-2.30/libmysql-connector-java-5.1.6.jar
      Driver class: com.mysql.jdbc.Driver
      URL: jdbc:mysql://localhost:3306/openbravopos
      User: rsaucedo
      Password: 123456
      
      Nota:Los parametros empleados en driver library no deben de incluir espacios ni adelante ni atras, verificar bien para evitar errores, los otros parametros deben de ser cargados de acuerdo a el usuario y la base de datos (catalogo) creados en MySQL
      
      
    20. Cerrar y reiniciar Openbravo POS, en este punto va a decir que no hay Tablas creadas y que creara las tablas por defecto, dar ACEPTAR y listo deberia estar funcionando.

    ***Cuando intenté instalar por primera vez me marcaba que no encontraba el driver, el problema era que la version de JAVA por defecto no era la de SUN, cuando activé utilizar a SUN JRE por defecto el problema cesó

    domingo, 24 de enero de 2010

    Triangulo rectangulo

    Formulas :













    Teorema del tio Pita:

    c^2 = a^2 + b^2

    b = c * Sen ( angulo a )

    Medidas estandares de cama

    Las medidas de cama son:

    Individual: 1.90 x 1.00
    Matrimonial: 1.90 x 1.35
    Queen Size: 1.90 x 1.50
    King Size: 1.90 x 2.00

    sábado, 9 de enero de 2010

    Soporte de archivos multimedia en OpenSuse 11.2

    OpenSuse no incluye codecs y software multimedia para no violar derechos de autor, esto sin embargo no quiere decir que no se pueda disfrutar de dichos archivos en nuestra PC con Linux; para hacerlo tenemos que instalar lo siguiente:

    Los links siguientes "1-Click" son para OpenSuse 11.2

    Los codecs para escritorio KDE "1-Click"
    Los codecs para escritorio GNOME "1-Click"

    Soporte para leer DVDs encriptados "1-Click"

    Algunos codecs no son soportados por Kaffeine, por lo que es recomendado instalar MPlayer y VLC player.

    MPlayer
    "1-Click"
    VLC "1-Click"

    Una vez que tengas instaladas las aplicaciones y codecs mencionados tendras soporte para una amplia gama de archivos multimedia