
Factura Libre CFDI (Beta 1)
Estimados Amigos:
Por si fuera de su interes, publicamos la primer beta de pruebas para Factura Libre, en su versión CFDI, cuando este lista, esta versión estará disponible para todo el que quiera iniciar a factura electronicamente.
Esta version solo funciona con LibreOffice 3.4 o la versión de pruebas de OpenOffice.org 3.4. Puedes tener incluso tanto la 3.3 como 3.4 instaladas, si tienes dudas de como hacer esto, acude al foro oficial donde participamos activamente como moderadores: http://user.services.openoffice.org/es/forum/index.php
Por ahora solo genera el XML, invito a todos los que les sea posible probar para encontrar posibles errores, espero en la siguiente beta, ya tener el enlace con un PAC que ha tenido toda la disponibilidad para ayudarme a ello.
Todo reporte de error o solicitud de soporte gratuito, tiene que hacerse en el foro: http://www.universolibre.org/forum/4
Descarga Factura Libre CFDI b1 desde aquí
Saludos a todos
Tags: facturalibrecfdilibreoffice
2011-10-19T21:52:14Z
mauricio
Categorías: OpenOffice.org
[OFF-TOPIC]UEFI «Secure Boot»: un potencial peligro para el software libre
Un poco alejado de los temas de este blog, pero no por eso menos importante.El sistema de «arranque seguro» que está intentando imponer la empresa de Redmond podría hacer difícil el instalar sistemas operativos libres en nuestros computadores. Tienen más información en esta página de la FSF: UEFI "Secure Boot" and Microsoft Windows 8: The danger for free software Lean, busquen por Internet,
2011-10-15T14:22:32Z
2011-10-15T14:22:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
ODF 1.2 aprobado por OASIS
Existe un proyecto cuyo éxito es aún más importante que el éxito de OOo o LibO, ya que es un proyecto que nos da la libertad de manejar a nuestra voluntad el contenido de nuestros documentos con el software que queramos.
Un proyecto que nos da libertad ahora asegurándonos al mismo tiempo libertad en el futuro: la libertad de no estar atados a una compañía al momento de leer nuestros
2011-10-01T12:50:34Z
2011-10-01T12:50:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
El foro aún está vivo...
... solo falta definir cuál será su nueva casa.Luego de un problema en los servidores de Oracle que dejó los foros de la comunidad fuera de servicio por varios días, todo está funcionando nuevamente en forma normal... al menos por el momento.La decisión sobre si el foro pasará a formar parte de la estructura de Apache o bien se independizará sigue su curso. Pronto habrá más novedades...=-=-=-=-=
2011-09-30T23:06:41Z
2011-09-30T23:06:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
LibO 3.5 y el manejo de encabezamientos/pie de página
Los foros están caídos desde ayer, lo que significa que la discusión sobre su futuro está detenida por el momento ya que no podemos conectarnos entre nosotros... juntando esto al hecho de tener un día franco, pues me he tomado el tiempo de descargar una versión de desarrollo de lo que será LibO 3.5, la 350m1, desde aquí. IMPORTANTE: estamos hablando de una versión de desarrollo, utilizarla solo
2011-09-27T12:30:20Z
2011-09-27T12:30:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Factura Libre CBB versión 3.4 (solo para pruebas)
Estimados Amigos:
Por si fuera de su interes, publicamos la más reciente actualización (para pruebas) de Factura Libre en su versión CBB (para códigos de barras bidimencionales), es muy importante saber que esta versión solo funciona con LibreOffice 3.4 o la versión de pruebas de OpenOffice.org 3.4. Puedes tener incluso tanto la 3.3 como 3.4 instaladas, si tienes dudas de como hacer esto, acude al foro oficial donde participamos activamente como moderadores: http://user.services.openoffice.org/es/forum/index.php
Este sistemita es solo para México, pero si estas en otras latitudes y te gusta la programación con Calc, tienes miles de líneas en el para que aprendas y explores.
Agradeceré a quien pueda probar esta versión para detectar posibles errores antes de dar por buena la versión final. Todo reporte de error o solicitud de soporte gratuito, tiene que hacerse en el foro: http://www.universolibre.org/forum/4
Descarga Factura Libre CBB 3.4 desde aquí: http://www.correolibre.net/archivos/FacturaLibreCBB_v34.7z
Saludos a todos
Tags: libreofficefacturalibrecbb
2011-09-20T18:30:01Z
mauricio
Categorías: OpenOffice.org
Factura libre versión 3.4 final
Hola a todos...
Con gusto les anunciamos la liberación de la versión final estable de Factura Libre 3.4, esta versión solo la puedes usar si:
Ya estas facturando electrónicamente en el esquema CFD v2 que inicio el año pasado.
Si eres usuario actual de Factura Libre v2 o v3.3
Tiene que migrar tus datos a esta versión, el proceso es similar al descrito aquí: http://www.correolibre.net/wiki/index.php?title=Factura_Libre_CFD_v33#.C...
Si ya estas usando FL 3.4, solo tienes que reemplazar el archivo ODS: http://www.correolibre.net/archivos/FacturaLibre_v34.ods
Si vas a migrar tienes que descargar todo para tener la nueva base de datos donde tienes que migrar: http://www.correolibre.net/archivos/FacturaLibre_v34.7z
Se han corregido todos los errores reportados hasta hoy y se a agregado la leyenda "Cancelado" a los CFD que se vuelven a generar y tienen este estatus.
IMPORTANTE: Esta versión solo funciona en OOo/LibO 3.4
Recuerda que todo el soporte gratuito lo damos en el foro oficial de Factura Libre: http://universolibre.org/forum/4
Soporte comercial contactame directamente.
Por favor, no hagan preguntas tecnicas o de soporte en los comentarios de esta nota, gracias.
Saludos
Tags: libreofficefacturacfdbasic
2011-08-19T20:35:51Z
mauricio
Categorías: OpenOffice.org
Funciones que devuelven matrices
Las funciones personalizadas, también pueden devolver matrices, como en el siguiente ejemplo.
Option Explicit
Function DatosTexto( Cadena As String )
Dim sLetra As String
Dim co1 As Integer, co2 As Integer, co3 As Integer
Dim mDatos(2)
For co1 = 1 To Len(Cadena)
sLetra = LCase(Mid(Cadena,co1,1))
If InStr(1,"aeiouáéíóú",sLetra) Then
co2 = co2 + 1
ElseIf InStr(1," ?¿¡!.,:;",sLetra) Then
co3 = co3 + 1
End If
Next
mDatos(0) = co2
mDatos(1) = Len(Cadena)-co2-co3
mDatos(2) = co3
DatosTexto = mDatos
End Function Pero al usarla en la hoja de calculo, tenemos que introducirlas como una función matricial, esto se logra presionando la combinación de teclas CTRL+SHIFT+ENTER. Observa las llaves que encierran a la función en la barra de formulas.
Las funciones personalizadas que devuelven matrices son utiles para, entre otros casos, cuando a partir de unos pocos valores iniciales podemos obtener mucha información, por ejemplo, a partir del radio de un círculo, podemos obtener su diámetro, perímetro y área, con la siguiente función
Option Explicit
Function DatosCirculo( Radio As Single )
Dim mDatos(2)
Const PI As Double = 3.14159
mDatos(0) = Radio * 2
mDatos(1) = Radio * 2 * PI
mDatos(2) = PI * (Radio^2)
DatosCirculo = mDatos
End FunctionY el resultado:
Como ves, no puede ser más sencillo.
¡Feliz programación!
Tags: libreofficebasiccalcfunciones
2011-08-04T02:08:38Z
mauricio
Categorías: OpenOffice.org
Factura libre versión 3.4 (solo para pruebas)
Hola a todos...
La buena noticia, con la reciente publicación de LibreOffice 3.4 que puede descargarse aquí y de OpenOffice.org 3.4 beta que puede descargarse aquí, se corrigieron algunos errores en un control del cual hace uso Factura Libre, la mala noticia es que cambiaron una serie de métodos y propiedades que tambien usamos, lo cual nos obligo a dar una revisión a casi todo el código.
Agradeceremos, si les es posible, probar en un entorno de pruebas esta versión para encontrar posibles errores: Factura Libre v34
Recuerden solo es para pruebas, no vayan a dañar su instalación actual, una entorno virtual es lo ideal.
Saludos
Tags: cfdfacturalibreofficebasicmacros
2011-06-16T05:35:46Z
mauricio
Categorías: OpenOffice.org
Nueva versión de Linux Libertine G y Linux Biolinum G
La familia de fuentes tipográficas basada en el proyecto Libertine agregando tecnología graphite, Linux Libertine G y Linux Biolinum G ha sido actualizada por László Németh.
Esta nueva versión agrega aún más características a la ya impresionante lista de variedades tipográficas, como por ejemplo la corrección automática de la distancia entre caracteres cuando el primero está en itálica y el
2011-09-22T14:44:06Z
2011-09-22T14:44:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Trabajando con funciones personalizadas
Las más de trescientas funciones disponibles en LibreOffice Calc, nos dan una amplia gama de opciones para resolver una gran cantidad de problemas, pero, aun con esta cantidad, puede ser que no todas o la combinación de algunas, no resuelvan nuestras necesidades, en estos casos, podemos hacer nuestras propias funciones. La forma más sencilla es la siguiente, donde tenemos el nombre de la función y el tipo de valor que esperamos que retorne.
Option Explicit
Function MiFuncion() As String
MiFuncion = "Esta función no hace nada"
End FunctionSi vas a la interfaz de Calc, ya puedes usar esta función:
Recuerda que una función, generalmente recibe unos datos llamados parámetros o argumentos, con estos datos, hacemos una serie de operaciones y regresamos el resultado como en el siguiente ejemplo:
Function PerimetroCirculo( Radio As Single ) As Double
Const PI As Single = 3.141592
PerimetroCirculo = ( 2 * Radio ) * PI
End Function
Las funciones personalizadas son idoneas para reemplazar formulas grandes en Calc donde se usan varias funciones anidadas, por ejemplo, la siguiente formula, recibe una cantidad de días y nos devuelve el resultado en años, meses y días:
La formulas completa que no se alcanza a ver en la imagen anterior es:
=INT(A18/365.2)&" años, "&INT((A18-INT(A18/365.2)*365.2)/30.42)&" mes y "&INT(A18-(INT(A18/365.2)*365.2+INT((A18-INT(A18/365.2)*365.2)/30.42)*30.42))&" días"Vamos a obtener el mismo resultado con la siguiente función personalizada:
Option Explicit
Function AMD( Dias As Long ) As String
Dim iAnos As Integer
Dim iMeses As Integer
Dim iDias As Integer
Dim sTmp As String
Const sAno As Single = 365.20
Const sMes As Single = 30.42
iAnos = Dias \ sAno
Select Case iAnos
Case 1 : sTmp = "1 año, "
Case Else : sTmp = iAnos & " años, "
End Select
iMeses = ( Dias - ( iAnos * sAno ) ) \ sMes
Select Case iMeses
Case 1 : sTmp = sTmp & "1 mes y "
Case Else : sTmp = sTmp & iMeses & " meses y "
End Select
iDias = Int( Dias - (( iAnos * sAno ) + (iMeses * sMes )) )
If iDias < 0 Then iDias = 0
Select Case iDias
Case 1 : sTmp = sTmp & "1 día"
Case Else : sTmp = sTmp & iDias & " días"
End Select
AMD = sTmp
End FunctionY el resultado:
Como ves, no puede ser más sencillo.
¡Feliz programación!
Tags: basicfuncioneslibreoffice
2011-06-15T19:33:00Z
mauricio
Categorías: OpenOffice.org
LibO 3.4.x, openSUSE y KDE4
Adoro openSUSE: la uso desde la versión 7.0 (¡más de 10 años!) y luego de probar muchas otras sigue siendo mi distribución Linux favorita por muchas razones que no viene al caso comentar aquí. Pero debo admitir que hay algo en openSUSE que siempre me ha puesto nervioso: su pasión por «parchear» algunos programas importantes, sobre todo OOo y ahora LibO. Nunca pude utilizar la versión de OOo que
2011-09-18T23:11:50Z
2011-09-18T23:11:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Silencio no es quietud...
Por si algún lector no lo sabía aún ;) soy administrador en el foro en español de la comunidad de OOo, además de contribuir como voluntario en los foros en inglés e italiano. Dado que el proyecto completo de OOo ha sido transferido a la fundación Apache, es claro para todos que el espacio en los servidores de Oracle ocupado hasta ahora por los foros no estará disponible eternamente y que por lo
2011-09-10T14:48:37Z
2011-09-10T14:48:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Redimensionando objetos manualmente (Draw)
Una breve lista de «trucos» no siempre evidentes para redimensionar objetos (el primero es seguramente el más conocido...):Mayúsculas más arrastrar con el ratón mantiene las proporciones del objeto. Ctrl y Alt más arrastrar realiza un redimensionamiento «simétrico» donde el objeto crece no del vértice opuesto a aquel del cual estamos estirando, sino desde el centro. Mayúsculas, Alt y arrastrar
2011-08-18T07:32:59Z
2011-08-18T07:32:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Elegir el color de la sombra de un texto
Existe un viejo reporte sobre OOo pidiendo que se agregue la posibilidad de elegir el color de la sombra de un texto, el cual actualmente solo puede ser negro.Luego de más de seis años, este pedido sigue sin implementación pero en muchas situaciones se puede lograr un efecto semejante (ganando, de hecho, un mayor control) con el uso de cuadros de texto y la sobra... del área de los mismos.Si bien
2011-08-11T20:21:13Z
2011-08-11T20:21:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Recortando títulos largos
LaTeX tiene una habilidad muy agradable: si al definir un capítulo lo hacemos con \Chapter[Título recortado]{El título largo y completo que ocupa muchas palabras y se verá absurdamente mal en los encabezamientos de pagína, por no mencionar las referencias cruzadas al capítulo de marras}en el encabezamiento de la página que use «fancy headers» o en las referencias cruzadas a ese capítulo se leerá
2011-08-05T20:09:10Z
2011-08-05T20:09:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Combinando macros Python y Basic
Tanto en LibreOffice como en OpenOffice.org, podemos desarrollar macros en varios lenguajes (basic, python, java, beanshell, javascript) y también podemos combinarlas como veremos a continuación. Primero lee el artículo que hemos escrito en el wiki de OpenOffice.org acerca de PyUno. En el, mostramos lo necesario para iniciarte en la programación de macros con Python y además usaremos una macro de ejemplo de dicho artículo, así que por favor, leelo con atención. Todo el código mostrado lo he probado desde ArchLinux y LibreOffice 3.4, por favor, comentame si funciona igual en tu entorno de trabajo.
Guardaremos nuestras macros en la carpeta del usuario para un rapido acceso y edición. Primero te muestro la macro para mostrar un mensaje informativo desde Python con un ligero cambio para permitir pasarle el mensaje a mostrar:
def MostrarMensaje( Mensaje ):
# El documento desde donde se llama esta macro
oDoc = XSCRIPTCONTEXT.getDocument()
# El manejador de servicios
oSM = uno.getComponentContext().getServiceManager()
# Creamos una instancia del servicio Toolkit
oToolkit = oSM.createInstance( "com.sun.star.awt.Toolkit" )
# Creamos una estructura Rectangulo
rec = uno.createUnoStruct("com.sun.star.awt.Rectangle")
# El tipo de cuadro de mensaje, solo informativo
sTipo = "infobox"
# El Título del cuadro de mensaje
sTitulo = "Mensaje"
# Mostraremos solo el botón Aceptar
botones = 1
# Referencia a la ventana contenedora
oParentWin = oDoc.getCurrentController().getFrame().getContainerWindow()
# Creamos el cuadro de mensaje con los parámetros necesarios
oMsgBox = oToolkit.createMessageBox( oParentWin, rec, sTipo, botones, sTitulo, Mensaje )
# Mostramos el cuadro de mensaje
oMsgBox.execute()
return None
Ahora, usaremos una sencilla macro para probar todo, copia la siguiente macro y ejecutala desde LibreOffice.
import uno
import md5
def Contra():
m = md5.new()
m.update("abrete")
MostrarMensaje( m.hexdigest() )
return None
Las dos primeras líneas son muy importantes. Tienes que ver un cuadro de mensaje como el siguiente:
Ahora, vamos al IDE de LibreOffice, agrega un modulo y copia la siguiente función, nota que ahora estamos escribiendo código Basic:
'Funcion para llamar una macro Python y devolver su respuesta
Function macroPython( Libreria As String, Macro As String, Argumentos() )
Dim oSF As Object
Dim oSP As Object
Dim sRuta As String
Dim oMacro As Object
Dim Respuesta As Variant
oSF = createUnoService("com.sun.star.script.provider.MasterScriptProviderFactory")
oSP = oSF.createScriptProvider("")
sRuta = "vnd.sun.star.script:" & Libreria & ".py$" & Macro & "?language=Python&location=user"
oMacro = oSP.getScript( sRuta )
Respuesta = oMacro.invoke( Argumentos(), Array(), Array() )
macroPython = Respuesta
End Function
Ahora, copia la siguiente macro y ejecutala, nos tiene que mostrar el mismo mensaje de la imagen anterior. Es importante que pongas correctamente los nombres, tanto del archivo donde tienes las macros Python, yo he usado el nombre util.py, como de la macro, para nuestro ejemplo, la macro se llama Contra.
Option Explicit
Sub Main
macroPython( "util", "Contra", Array() )
End Sub
Lo que estamos haciendo es invocar (aunque suene medio metafisico) una macro Python desde una macro Basic. Vamos a hacer unos ligeros cambios a las dos macros para hacerlas más versatiles. Primero la macro Python, regresa a tu editor de texto simple y edita la macro Contra, de modo que quede de la siguiente manera.
import uno
import md5
def Contra( pas ):
m = md5.new()
m.update( pas )
return m.hexdigest()
Ahora, regresa al IDE Basic y modifica la macro para que quede de la siguiente manera y ejecutala.
Option Explicit
Sub Main
Dim sContra As String
Dim sRespuesta As String
sContra = Trim(InputBox("Introduce tu contraseña"))
If sContra = "" Then Exit Sub
sRespuesta = macroPython( "util", "Contra", Array(sContra) )
MsgBox "La suma MD5 es: " & sRespuesta
End Sub
Mira como ahora solicitamos y pasamos dinamicamente la palabra, así mismo, regresamos la respuesta de la macro.
Todas las variantes Basic se caracterizan por su sencillez, Python es un lenguaje mucho más rico y potente, combinandolos de forma simple, podemos tener algo de lo mejor de ambos mundos.
¡Feliz programación!
Tags: macrosbasicpythonlibreoffice
2011-06-09T06:01:42Z
mauricio
Categorías: OpenOffice.org
Atención a LibO 3.4.2
Parece que la «versión lista para ser utilizada en producción» tiene algunas tuercas mal ajustadas:[LibO Discuss mailing list]Viability of the 3.4.2 Release =-=-=-=-=Powered by Blogilo
2011-08-02T14:09:00Z
2011-08-02T14:09:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
LibO 3.4.2 disponible
The Document Foundation anuncia la inmediata disponibilidad de LibreOffice 3.4.2:
LibreOffice 3.4.2 For Enterprise Users
Es la primer versión de la línea 3.4.x aconsejada para ser utilizada por empresas: en la página de descarga aparece con esta imagen:
y la leyenda:
Safe for production use by most users and enterpriseslo cual garantiza una cierta estabilidad ;)
=-=-=-=-=
Powered by Blogilo
2011-08-01T11:53:35Z
2011-08-01T11:52:00Z
RGB-es
noreply@blogger.com
http://www.blogger.com/profile/12778412743292450277
Categorías: OpenOffice.org
Ocultar (temporalmente) las barras de herramientas
Para ocultar las barras de herramientas, usamos las siguientes macros:
Option Explicit
Sub Mostrar()
Call VerBarra( "standardbar", True )
Call VerBarra( "formatobjectbar", True )
End Sub
Sub Ocultar()
Call VerBarra( "standardbar", False )
Call VerBarra( "formatobjectbar", False )
End Sub
Sub VerBarra( Nombre As String, Ver As Boolean )
Dim oLayoutManager As Object
Dim oFormControls As Object
oLayoutManager = ThisComponent.CurrentController.Frame.LayoutManager
oFormControls = oLayoutManager.getElement( "private:resource/toolbar/" & Nombre )
If Not IsNull( oFormControls ) Then
oFormControls.getRealInterface.setVisible( Ver )
End If
End Sub
Si cambias de documento y regresas a donde se ocultaron las barras de herramientas, notaras que el efecto no es persistente, más adelante veremos otras técnicas para ello.
!Feliz programación¡
Tags: libreofficebasiccalcmacros
2011-05-19T06:04:35Z
mauricio
Categorías: OpenOffice.org


Comentarios recientes
hace Una semana 9 horas
hace Una semana Un día
hace 3 semanas Un día
hace 7 semanas 4 días
hace 10 semanas 3 días
hace 10 semanas 4 días
hace 12 semanas 3 días
hace 13 semanas 5 días
hace 25 semanas 5 días
hace 31 semanas 6 días