Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Esta documentación es para la versión 4 y posteriores de App Builder, el nuevo nombre de Vinyl. Accede a la documentación de Vinyl aquí.

Consejos para trabajar con columnas binarias en Jitterbit App Builder

Para mejorar el rendimiento de las aplicaciones de App Builder, solo agregue una columna binaria a un objeto de negocio si va a usarla en un control de archivo. Si crea un objeto de negocio con una tabla que incluye columnas binarias, no seleccione el botón Todos para agregar todas las columnas, a menos que ese objeto se use para mostrar un control de archivo en un panel. Conviene crear objetos de negocio específicamente para usar en paneles donde se carga o descarga un archivo. Además, considere si podría haber agregado uno a una tabla de usuario/parámetro y haberlo agregado a otros objetos de negocio y luego haber seleccionado todas las columnas.

Si tiene un Panel Multifila (MRP) con 25 registros devueltos y hay un campo binario seleccionado en el objeto de negocio detrás de ese panel, se recuperarán los 25 archivos cada vez que se renderice ese panel. Si tiene 4 archivos binarios en ese objeto de negocio, se recuperarán 100 archivos cada vez que se renderice ese panel.

Si desea que un archivo se pueda descargar desde un MRP, considere llamar al botón de descarga en una página oculta para que no recupere el archivo como parte de la representación del panel MRP.

A continuación se muestra una consultar que puede ejecutar en su servidor que encontrará ALGUNOS de los archivos en un objeto comercial detrás de un panel donde el archivo no se usa en un control:

SELECT        TOP (100) PERCENT Ui_Control_1.Name AS Page, dbo.Ui_Control.Name AS Panel, dbo.Db_Table.Name AS DataObjectName, dbo.Db_Column.Name AS ColumnName
FROM            dbo.Ui_Control INNER JOIN
                         dbo.Ui_Control AS Ui_Control_1 ON dbo.Ui_Control.RootControlId = Ui_Control_1.ControlId INNER JOIN
                         dbo.Db_Table ON dbo.Ui_Control.SourceTableId = dbo.Db_Table.TableId INNER JOIN
                         dbo.Db_Column ON dbo.Db_Table.TableId = dbo.Db_Column.TableId INNER JOIN
                         dbo.Db_Column AS Db_Column_1 ON dbo.Db_Column.TargetColumnId = Db_Column_1.ColumnId INNER JOIN
                         dbo.Db_StorageDataType ON Db_Column_1.StorageDataTypeId = dbo.Db_StorageDataType.StorageDataTypeId LEFT OUTER JOIN
                         dbo.Ui_Control AS Ui_Control_2 ON dbo.Ui_Control.ControlId = Ui_Control_2.PanelControlId AND dbo.Db_Column.ColumnId = Ui_Control_2.SourceColumnId
WHERE        (dbo.Ui_Control.ControlTypeId = '81d20b00-15b2-f8c3-7fe1-d889d9c7e95f') AND (dbo.Db_StorageDataType.Name = N'binary') AND (Ui_Control_2.ControlId IS NULL)
ORDER BY DataObjectName

Nota

Al recuperar los resultados del objeto de negocio detrás de un panel, solo se recuperarán las columnas necesarias para los controles, a menos que se utilice formato condicional. En ese caso, se recuperarán todas las columnas para la lógica condicional.