Creando generate_orig_tar_gz
Adding tools/compute_and_set_version.py
Adding bgversion.py as a common library for version tools

Used by compute_and_set_version.py, generate_orig_tar_gz.py y
version_and_tag_upstream.py (this one in gbp-debian branches)
renaming version variables
tools:  no longer required to be on git (use --force-version then)

Besides the debian dir is also excluded from generate_orig_tar
changing commit_date to authored_date when returning the commit
timestamp
Arreglo problema con el calculo del recargo de equivalencia en los pedidos a proveedores
que se calculaban mal debido a los errores de la libreria de calculo de punto fijo.

Lo he puesto igual que el calculo del IVA haciendo uso de PGeval (mas fiable).
Merge branch 'master' of gitorious.org:bulmages/bulmages
Con este commit se pueden agregar pestañas a una ficha existente mediante los archivos de especificaciones.

Para ello he ampliado el XML reconocido en los archivos .spc que ahora soportan el tag <TAB></TAB>

y llevan como parametros adicionales

<NAME></NAME>
<UI_INTERFACE></UI_INTERFACE>

Y como es natural los famosos <CAMPO></CAMPO> y ahora también <SUBFORM></SUBFORM>

De esta forma las fichas existentens son extensibles al mismo nivel que los autoformularios.

Pongo un ejemplo de uso en el "supuesto" archivo ArticuloBase_XXX_spec.spc que altera la ficha de articulos:

<DOCUMENT>
<TAB>
<NAME>Ultimas Compras</NAME>
<UI_INTERFACE>/tmp/sociobase.ui</UI_INTERFACE>

<SUBFORM>
<NOMCAMPO>listart</NOMCAMPO>
  <NOMPCAMPO>Reservas</NOMPCAMPO>
  <FILECONFIG>reservassocio</FILECONFIG>
  <RESTRICTIONSCAMPO>DBNOTHING</RESTRICTIONSCAMPO>
  <QUERY>SELECT * FROM lalbaranp NATURAL LEFT JOIN albaranp NATURAL LEFT JOIN proveedor WHERE idarticulo = [idarticulo] </QUERY>
  <VINCULOS>idarticulo = idarticulo</VINCULOS>
  <TABLENAME>articulo</TABLENAME>
  <FIELDID>idarticulo</FIELDID>
  <ALLOWNULL>FALSE</ALLOWNULL>
  <ALLOWINSERT>FALSE</ALLOWINSERT>
  <ALLOWDELETE>FALSE</ALLOWDELETE>
  <SETSORTING>FALSE</SETSORTING>

  <HEADER>
  <NOMCAMPO>nomproveedor</NOMCAMPO>
  <NOMPCAMPO>Proveedor</NOMPCAMPO>
  <DBTYPECAMPO>DBVARCHAR</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
  </HEADER>
  <HEADER>
  <NOMCAMPO>fechaalbaranp</NOMCAMPO>
  <NOMPCAMPO>Fecha</NOMPCAMPO>
  <DBTYPECAMPO>DBDATE</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
  </HEADER>
  <HEADER>
  <NOMCAMPO>cifproveedor</NOMCAMPO>
  <NOMPCAMPO>CIF Proveedor</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
  </HEADER>
  <HEADER>
  <NOMCAMPO>cantlalbaranp</NOMCAMPO>
  <NOMPCAMPO>Cantidad</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
  </HEADER>
  <HEADER>
  <NOMCAMPO>pvplalbaranp</NOMCAMPO>
  <NOMPCAMPO>Precio</NOMPCAMPO>
  <DBTYPECAMPO>DBVARCHAR</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
  </HEADER>
</SUBFORM>

</TAB>

<TAB>
 <NAME>Ultimas Ventas</NAME>
 <UI_INTERFACE>/tmp/sociobase1.ui</UI_INTERFACE>

<SUBFORM>
 <NOMCAMPO>listart1</NOMCAMPO>
 <NOMPCAMPO>Reservas</NOMPCAMPO>
 <FILECONFIG>reservassocio</FILECONFIG>
 <RESTRICTIONSCAMPO>DBNOTHING</RESTRICTIONSCAMPO>
 <QUERY>SELECT * FROM lalbaran NATURAL LEFT JOIN albaran NATURAL LEFT JOIN cliente WHERE idarticulo = [idarticulo] </QUERY>
 <VINCULOS>idarticulo = idarticulo</VINCULOS>
 <TABLENAME>articulo</TABLENAME>
 <FIELDID>idarticulo</FIELDID>
 <ALLOWNULL>FALSE</ALLOWNULL>
 <ALLOWINSERT>FALSE</ALLOWINSERT>
 <ALLOWDELETE>FALSE</ALLOWDELETE>
 <SETSORTING>FALSE</SETSORTING>

<HEADER>
  <NOMCAMPO>nomcliente</NOMCAMPO>
  <NOMPCAMPO>Cliente</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
</HEADER>
<HEADER>
  <NOMCAMPO>fechaalbaran</NOMCAMPO>
  <NOMPCAMPO>Fecha</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
</HEADER>
<HEADER>
  <NOMCAMPO>cifcliente</NOMCAMPO>
  <NOMPCAMPO>CIF Cliente</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
</HEADER>
<HEADER>
  <NOMCAMPO>cantlalbaran</NOMCAMPO>
  <NOMPCAMPO>Cantidad</NOMPCAMPO>
  <DBTYPECAMPO>DBINT</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
</HEADER>
<HEADER>
  <NOMCAMPO>pvplalbaran</NOMCAMPO>
  <NOMPCAMPO>Precio Venta</NOMPCAMPO>
  <DBTYPECAMPO>DBVARCHAR</DBTYPECAMPO>
  <RESTRICTIONSCAMPO>DBNOSAVE</RESTRICTIONSCAMPO>
  <OPTIONSHEADER>DBNOSAVE</OPTIONSHEADER>
  <OPTIONSHEADER>DBNOWRITE</OPTIONSHEADER>
</HEADER>
</SUBFORM>

</TAB>

<FICHA>
    <CAMPO>
            <NOMCAMPO>fechancliente</NOMCAMPO>
            <NOMPCAMPO>Tel. Movil</NOMPCAMPO>
            <DBTYPECAMPO>DBDATE</DBTYPECAMPO>
            <RESTRICTIONSCAMPO>DBNOTHING</RESTRICTIONSCAMPO>
    </CAMPO>
    <CAMPO>
            <NOMCAMPO>fechanincliente</NOMCAMPO>
            <NOMPCAMPO>Tel. Jodes</NOMPCAMPO>
	    <DBTYPECAMPO>DBDATE</DBTYPECAMPO>
            <RESTRICTIONSCAMPO>DBNOTHING</RESTRICTIONSCAMPO>
    </CAMPO>
</FICHA>

</DOCUMENT>

NOTA: Si la ficha a la que intentamos adjuntar un TAB no tiene ningún QTabWidget entonces no funcionara.
NOTA2: Notad la diferencia entre <TAB> y <FICHA>. El primero crea los campos y en el segundo se diseñan mediante el archivo de QtDesigner indicado en <UI_INTERFACE>
Arreglo problema derivado del commit anterior que no hacia bien la carga de las fichas.
Arreglo una excepcion en relacion con el commit anterior
Permitir desbloquear la ficha desde el aviso que el plugin "Bloqueo de fichas" muestra cuando está siendo usada por otro usuario.
Además, evito que se intente bloquear un ficha que ya está cargada: BlForm::save() hace una carga que activa el BlForm_load de este plugin.
--
Aron Galdón

PostgreSQL, Qt4 and PHP developer
Quito un mensaje que me había dejado.
Limpiar bloqueos de usuarios no conectados.
De este modo evitamos que el un fallo del programa o de la conexión deje bloqueos de ficha indefinidos.
De momento, dicha limpieza la hago en BlForm_BlForm, es decir, cada vez que alguien carga una ficha.

Saludos
--
Aron Galdón

PostgreSQL, Qt4 and PHP developer
Arreglo la compilacion de la rama master con Windows y arreglo un error en la base de datos que se produjo
con la incorporacion del IRPF.
Arreglo problema con el listado de tickets que compartia configuracion con los albaranes y si estaban ambos plugins juntos se pisaban uno al otro. AUCHHHH git status! decia el primero. JODOOOOOOOOOO git status! agregaba el segundo y un por otro la casa sin barrer. Luego, claro está, aparecian en pantalla hechos unos zorros con ojos morados, campos cambiados y així no anam git status./trml2html.py impers_contrato_alquiler.rml  Total que me he puesto firmes y les he dicho: Os voy a poner un setFileConfig y a mem si acabam de una puta vegada amb es problemes. Yo creo que el plugin de ticket se ha acojonado un poco y se ha hecho algo ensima porque no piula. Igual se ha concagado i todo.
Arreglo problema en el plugin de contratos que al ser incrustados en la ficha de clientes hacian una
apertura en falso apareciendo indicados en el indexador.
El problema es que se inicializaba mal la clase BlFormList sin indicar el modo de operacion BL_SELECT_MODE por lo que
se abria la ventana directamente en modo edicion y se insertaba directamente en el indexador. Mientras que la forma correcta es
abrirla en modo seleccion y después pasarla a modo edicion para que no entre en el indexador.

Salut
Arreglo problemas de mayusculas en nombres de archivo que causaban traumas al empaquetado Windows
Arreglos para la barra lateral
Quito el plugin de minicontabilidad de la facturacion generica y cambio el diseño de la ficha de articulo