Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Gestionar iconos del escritorio Gnome 3

Para gestionar los iconos del escritorio de Gnome 3 (incluir algunos, otros no…) vamos a utilizar “gnome-tweak-tool” que lo podemos localizar en:
Aplicaciones -> Herramientas del sistema -> Preferencias -> Configuración avanzada
Ahí, en la sección “Escritorio” marcamos “Have manager handle the desktop” y ya podemos utilizar el resto de opciones.
Atención: El resto de opciones no funcionará si no activamos la primera.

iconos, gnome

Configurar pantalla en Xorg

En algunos equipos con arranque dual me ha ocurrido que la imagen quedaba desplazada en las X.

La solución es sencilla:

 xvidtune

(ajustar y pulsar “show”)
Aparece una linea como esta:

    "1024x768"     65.00   1024 1064 1200 1344    768  771  777  806 -hsync -vsync

Si no se consigue entorno gráfico, otros modos de obtener “Modelines” son (para resolución 1024×780@60):

 cvt -r 1024 780 60
# 1024x780 59.69 Hz (CVT) hsync: 47.93 kHz; pclk: 56.75 MHz
Modeline "1024x780R"   56.75  1024 1072 1104 1184  780 783 793 803 +hsync -vsync
 gtf 1024 780 60
  # 1024x780 @ 60.00 Hz (GTF) hsync: 48.48 kHz; pclk: 65.16 MHz
  Modeline "1024x780_60.00"  65.16  1024 1080 1184 1344  780 781 784 808  -HSync +Vsync

La línea que hemos obtenido la añadimos, con permisos de administrador (root), como “Modeline” en la seccion Monitor de xorg.conf

 vi /etc/X11/xorg.conf
Section "Monitor"
  Identifier      "Monitor genérico"
  Option          "DPMS"
  HorizSync       28-49
  VertRefresh     43-72
  Modeline "1024x768"     65.00   1024 1064 1200 1344    768  771  777  806 -hsync -vsync
EndSection

UNetbootin: Crea tus USB/CD de arranque de forma fácil

Existe una herramienta multiplataforma llamada “UNetbootin” que permite de forma muy fácil generar USBs o discos con multitud de sistemas diferentes:
UNetbootin

Tan sencillo como elegir el sistema, elegir el dispositivo y pulsar “Aceptar”.
Se puede elegir entre más de 40 distribuciones preparadas, cada una con varias versiones diferentes disponibles, o seleccionar una ISO que hayamos descargado.

Por supuesto, en Debian es muy sencillo instalar utilizando el sistema habitual:

# aptitude install unetbootin
 

Configurar remesas de la norma AEB 19 (CSB 19) en OpenERP

Para poder generar remesas según la norma AEB 19 (antes llamada CSB 19) primero debemos generar un ‘Modo de pago’ desde ‘Contabilidad -> Configuración -> Varios -> Modos de pago‘.
OpenERP
Generamos un nuevo modo de pago para nuestra compañía y sobre nuestro CCC.
OpenERP
Notas: El sufijo es un dato que da el banco. Si no sabes cuál es, probablemente sea ’000′ (solo se dan más para empresas grandes y complejas, en cuyo caso ya lo sabrías ;-).

Una vez configurado el modo de pago ya podemos generar remesas desde ‘Contabilidad -> Pago -> Órdenes de cobro‘.
OpenERP
Pulsamos sobre ‘Nuevo’ y solo tenemos que indicar el modo de pago antes de poder “Seleccionar facturas a pagar/cobrar”.
OpenERP
Ojo: Las facturas deben especificar Tipo de pago “Recibo domiciliado (RECIBO_CSB)”.

Para la norma 43 haremos lo mismo pero definiendo primero los conceptos bancarios.

OpenERP, AEB19, CSB19, norma 19

Permitir cancelaciones en OpenERP

Por defecto OpenERP no deja cancelar una factura una vez validada. Es una buena política que los usuarios no puedan cancelar facturas. Recordemos que podemos preparar usuarios que realicen las facturas y las dejen en modo borrador y usuarios encargados de validar las facturas.
Pero al final siempre es bueno que al menos uno de los usuarios que puede validar las facturas también pueda cancelarlas. Para ello instalamos el módulo ‘account_cancel’.
OpenERP
Se puede consultar cómo instalar módulos en OpenERP.

Vamos a ‘Contabilidad -> Configuración -> Contabilidad financiera -> Diarios -> Diarios‘ y en el diario de venta (SAJ: Sales Journal) marcamos ‘Permitir cancelación de asientos’.
OpenERP

OpenERP, cancelar

Renumerar asientos en OpenERP

La norma española (y probablemente la de otros países también) impone una serie de condicionantes en la numneración de los asientos que pueden hacer necesario renumerarlos.
Esto es uno de los procesos habituales al cerrar un periodo (fin de mes, de trimestre, cierre de ejercicio…).

Desde el menú de ‘Contabilidad -> Configuración -> Contabilidad financiera -> Diarios -> Diarios‘ seleccionamos un diario.
OpenERP

En la sección de ‘Atajos’ encontramos el asistente ‘Renumerar asientos contables’.
OpenERP

Lo lanzamos y seleccionamos los diarios y periodos a renumerar.
OpenERP

Cuando termina, el asistente nos avisa de que ha realizado la operación solicitada.
OpenERP

OpenERP, renumerar, asientos

Separar secuencias de facturas en OpenERP

Desde la versión 6.0 de OpenERP el contador de facturas y el de movimientos contables son el mismo. Esto hace que la numeración de las facturas no sea correlativo, lo cual va contra la norma española.
Por ejemplo, creamos una factura (contador ’1′), hacemos el pago (contador ’2′), hacemos otra factura (contador ’3′).

Para solventar esto instalamos el módulo ‘nan_account_invoice_sequence’ (cómo instalar módulos en OpenERP) que nos crea cuatro secuencias para facturas normales y facturas rectificativas de clientes y proveedores: account invoice in (facturas de proveedores), account refund in (fac. rectificativas), account invoice out (facturas a clientes), account refund out (fac. rectificativas).

Debemos ir a los diarios y asignar las nuevas secuencias desde el menú de ‘Contabilidad -> Configuración -> Contabilidad financiera -> Diarios -> Diarios‘.
OpenERP

Asignamos al diario ‘Sales Journal’ la secuencia ‘Account invoice out’.
Asignamos al diario ‘Purchase Journal’ la secuencia ‘Account invoice in’.
[ACTUALIZACIÓN 05/11/12: Ojo en la imagen está aplicado al revés, ver comentarios]
OpenERP

Si vamos a mantener el formato y la numeración de facturas utilizado hasta ahora (por ejemplo FAC/2012/0001), basta con indicar en la nueva secuencia el siguiente número de factura. Abrimos ‘Administración -> Configuración -> Secuencias -> Secuencias‘.
OpenERP
Es decir, si hemos emitido 20 facturas, indicamos que el siguiente número es el 21.
Para que todo sea correcto, ejecutamos el asistente de renumerar asientos contables en OpenERP. Con esto ya hemos terminado.

Si deseamos modificar la numeración de las facturas existentes, bien porque cambiamos el formato, bien porque la numeración no es correcta, en vez de lanzar la renumeración automática de asientos es preferible ir factura a factura y hacer: cancelar->borrador->validar->cancelar->borrador->validar (es decir cancelamos y validamos dos veces cada factura).
ATENCIÓN: Esto tiene varios problemas. Primero, las facturas emitidas y enviadas a clientes, legalmente no pueden cambiar su número así como así. Segundo, las facturas ya pagadas habrán generado los correspondientes movimientos que también habrá que deshacer y rehacer.
En general es mejor no modificar la numeración de las facturas una vez se han emitido en producción.

OpenERP, secuencias, facturas

Solventar en OSCommerce eregi is deprecated

Si tienes OSCommerce y actualizas PHP, aparece el error “eregi is deprecated”.

Para solventarlo vamos al foro de OSCommerce, donde tenemos los parches.

Después siguiendo esta receta de cómo generar (diff) y aplicar (patch) parches, bajamos de github los parches, añadiendo “.patch” al URL y aplicar los parches.

$ wget https://github.com/osCommerce/oscommerce2/commit/79c601a7b3ee87943b92a5e6d77ce02480b49ffe.patch
$ wget https://github.com/osCommerce/oscommerce2/commit/88d550f392d86c02d2fe16d0b93f1de8aa6a6770.patch
$ wget https://github.com/osCommerce/oscommerce2/commit/1bfed2f6bf0e9c1c0ce4b160bce1e881cc6e6ef8.patch
$ wget https://github.com/osCommerce/oscommerce2/commit/15101263fa27b523139b405f99b1613c71a8e2c1.patch
$ wget https://github.com/osCommerce/oscommerce2/commit/bc2bcd9b1bd2148bf852409b3843543555bc01e2.patch
$ patch -p1 < 79c601a7b3ee87943b92a5e6d77ce02480b49ffe.patch
patching file catalog/admin/backup.php
patching file catalog/admin/cache.php
Hunk #1 succeeded at 91 with fuzz 2.
patching file catalog/admin/configuration.php
patching file catalog/admin/ext/modules/payment/sofortueberweisung/install.php
[...]
patching file catalog/admin/includes/functions/general.php
Hunk #1 FAILED at 939.
1 out of 1 hunk FAILED -- saving rejects to file catalog/admin/includes/functions/general.php.rej
[...]
patching file catalog/includes/modules/payment/paypal_express.php
Hunk #1 FAILED at 59.
1 out of 1 hunk FAILED -- saving rejects to file catalog/includes/modules/payment/paypal_express.php.rej
[...]

Si nos fijamos en esta parte de la salida:

patching file catalog/admin/includes/functions/general.php
Hunk #1 FAILED at 939.
1 out of 1 hunk FAILED -- saving rejects to file catalog/admin/includes/functions/general.php.rej

Vemos que al parchear el fichero "catalog/admin/includes/functions/general.php" en la línea 939 ha habido un error.
Tenemos más información en "catalog/admin/includes/functions/general.php.rej". Lo que hace patch en este casp es generar 3 ficheros:
- general.php es el fichero original CON los cambios que SÍ ha aplicado.
- general.php.orig es el fichero original.
- general.php.rej contiene los cambios que NO ha aplicado.
Así si el parche incluye varios cambios para un fichero puede ocurrir que unos cambios se apliquen y otros no.
En este caso no queda más remedio que revisar el cambio no realizado a mano.

Puede ocurrir que el archivo a parchear no exista. En ese caso tendremos solo dos ficheros:
- x.orig con 0 bytes, es copia del original. Como éste no existía, es un archivo en blanco.
- x.rej los cambios que no se han aplicado.
Basta con confirmar que es correcto que el fichero no exista. podría ocurrir que esté movido (revisar porqué), o que sea de un módulo del que no disponemos -lo habitual- (ignorar).

Igual con el resto de parches:

$ patch -p1 < 88d550f392d86c02d2fe16d0b93f1de8aa6a6770.patch
$ patch -p1 < 1bfed2f6bf0e9c1c0ce4b160bce1e881cc6e6ef8.patch
$ patch -p1 < 15101263fa27b523139b405f99b1613c71a8e2c1.patch
$ patch -p1 < bc2bcd9b1bd2148bf852409b3843543555bc01e2.patch
OSCommerce, OSC, github, eregi deprecated, patch,