Servicios Profesionales (consultoras que apoyan el proyecto Mundo Support GX)

Para informarse sobre las soluciones y servicios en:
 - Genexus Software Factory.
 - Búsqueda, Selección & Outsourcing de RRHH.
 - Gerenciamiento externo de Proyectos.
 - Asistencia técnica.
 - Software ERP.

Click Aquí o escriba a mundosupport@gmail.com.

         
             

Bienvenido a Mundo Support

Te damos la bienvenida a Mundo Support GX!!!!!

Como usuario visitante podrás consultar libremente los artículos y comentarios publicados; además de escribir comentarios que aporten y enriquezcan a los artículos.

Si deseas redactar artículos, entradas o consultas te invitamos a que nos escribas a mundosupport@gmail.com y recibirás un correo invitándote a ser redactor contribuyente.

Gracias y esperamos contribuir en tu camino por el mundo Genexus y la programación.



lunes, 6 de octubre de 2008

XLS.Varios - Ampliar funciones en creación de documentos excel

Se desea generar documentos excel con mayores detalles de look y funcionalidad desde Genexus.

Algunos de los requerimientos son: colorear celdas, definir bordes de las celdas, insertar filas, insertar fórmulas....

Dado que las funciones propias de Genexus no lo permiten, una alternativa para lograrlo, es incluir macros que realicen las funciones deseadas e invocarlas pasándo los parámetros necesarios, ej:

&ExcelDocument.RunMacro( 'InsertarFila',2 )
&ExcelDocument.RunMacro( 'ColoresCelda',2,5,2 )

Etc...


Este es el código fuente del modulo Visual Basic del archivo excel del cual se invocarán las macros.

Sub InsertarFila(Fila As Integer)
Row = Trim(Str(Fila)) + ":" + Trim(Str(Fila))
Rows(Row).Select
Selection.Insert Shift:=xlDown, copyOrigin:=xlFormatFromRightOrBelow
End Sub


Sub ColoresCelda(RangoCeldas As String, ColorFondo As Integer, ColorTexto As Integer)

' FormatoCelda Macro

'Selecciono Celda
Range(RangoCeldas).Select
'Color Fondo
With Selection.Interior
.ColorIndex = ColorFondo
.Pattern = xlSolid
End With

'Color Texto
Selection.Font.ColorIndex = ColorTexto
End Sub

Sub BordesCelda(RangoCeldas As String, TipoBorde As Integer)


If TipoBorde = 0 Then

'Bordes transparentes
Range(RangoCeldas).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

End If


If TipoBorde = 1 Then

'Bordes linea Fina
Range(RangoCeldas).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

End If

If TipoBorde = 2 Then

'Bordes linea gruesa
Range(RangoCeldas).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With

End If
End Sub

Sub BorrarFila(Fila As Integer)
Row = Trim(Str(Fila)) + ":" + Trim(Str(Fila))
Rows(Row).Select
Selection.Delete
End Sub

XLS.Varios - Insertar fórmula en una celda al generar archivo excel

Para insertar un fórmula en una celda de un archivo excel generado con Genexus utilizar la siguiente sentencia:

&ExcelDocument.Cells(1,5).Text = '=IF(C1>10,1,2)'

Criterio:
- Poner la instrucción en Inglés.
- Poner comas en lugar de punto y comas para separar.

miércoles, 23 de julio de 2008

C-Tree.Varios - Vincular aplicación Genexus con base de datos c-tree plus.

En esta oportunidad el motivo de la entrada es otro.

No voy a escribir sobre como hacer algo sino que voy a dejar planteada una inquietud, tal vez, alguno de los visitantes la ha resuelto.

Se tiene la necesidad de vincular una aplicación generada en Genexus 9.0 con generador Visual Basic con una aplicación que utiliza base de datos c-tree plus de Faircom.

Por el momento el vínculo se realiza mediante el intercambio de archivos planos.

El ideal sería poder acceder directamente desde la aplicación Genexus a las tablas c-tree mediante ODBC u otra alternativa.

En caso de que alguien haya logrado esto o este teniendo el mismo problema/necesidad será bienvenido el comentarios.

Tanto con algún tipo de solución o si tiene el mismo problema para estar en contacto y encontrar una solución.

Saludos y hasta la próxima.

Que opinás del material expuesto en el Blog?