Carga de planillas personalizadas
Con la disponibilización de la funcionalidad de ejecución de informes en el app Android, surgiu la necesidad de enviar para el banco de datos de el dispositivo informaciones que puedan ser usadas adicionales en consultas.
Para atender a esta necesidad, fueron creadas 10 planillas en el banco de datos de la app Android, con los siguientes nombres:
- Planilla1
- Planilla2
- Planilla3
- Planilla4
- Planilla5
- Planilla6
- Planilla7
- Planilla8
- Planilla9
- Planilla10
Cada tabla es compuesta de 10 columnas, con las siguientes descripciones:
- Columna1
- Columna2
- Columna3
- Columna4
- Columna5
- Columna6
- Columna7
- Columna8
- Columna9
- Columna10
Un ejemplo de representación visual de las planillas visual de las planillas, sigue en la imagen abajo:
Una consulta en lenguaje SQL debera ser desenvolvida, observando las particularidades de escrita para Microsoft SQL Server o HANA de acuerdo con el tipo de banco de datos utilizado por el SAP Business One de la empresa.
IMPORTANTE:
- Todas las 10 columnas fueron creados en el SQLite con el tipo TEXT, donde segundo la documentación soportan una cantidad ilimitada de caracteres, sin embargo en este sentido recomendamos que envien para cada campo la menor cantidad posible de informaciones, evitando el uso excesivo de informaciones almazenadas en el dispositivo, asi como reducir el uso de datos para envio de las informaciones al dispositivo.
- Evitar el uso de “en el SELECT, llevando en consideración el tiempo de procesoen el banco de datos vs. la limitación de 10 columnas para envio, de esta forma en su SELECT informe el nombre de las 10 columna que seran exportadas.
- Evitar consultas que generen un número elevado de lineas, pense en consultas con limite de informción, como por ejemplo de un período corto de fecha últimos 30 dias.
- En un SELECT hipotético: SELECT A, B, C, D, E, F, G, H, I, J, K, L, FROM TAB donde cada letra representa e nombre de una columnan estan siendo seleccionadas 12 columnas, considerando que la platilla en el dispositivo terra en el máximo 10 columnas, dispense informar las columnas excedentes, como por ejemplo K y L.
- Envie las informaciones de forma formateada, haga todas las conversaciones necesesarias de el lado del servidor, evitando procesamiento de el lado del dispositivo (app Android).
- Aproveche mejor el uso de cada campo, concatenando campos en su consulta y ocupando un único campo en la planilla del dispositivo, recuerde que esta limitado a 10 columnas por lineas/registro.
Para realizar la configuración de “Carga de planillas personalizadas” para el app Android, los usuarios con perfil de administración del CRM One deberan accesar, dentro del SAP Business One con el Add-on CRM One en ejecución: >Modulos > CRM One > Configuraciones generales
Al abrir el formulario de configuraciones generales, accesar: >Extensión CRM One > Sincronización app mobile clicar en el botón “Carga de planillas personalizadas”.
En el formulario de “Registro de consulta para carga de planillas personalizadas”:
- Marcar la opción “Activo” para el registro estar disponible para el uso en la app Android.
- Informar una “Descripción” para la finalidad de uso de este registro
- en “Planilla” seleccionar en cual planilla el resultado de la consulta sera almazanado en el dispositivo.
- En “Tipo sincronización app”escoja entre la opciones:
- Y – Excluir datos interiores Utilizando esta opción, durante cada sincronización de las planillas en la la app Android, todos los registros seran borrados antes de recebir las nuevas informaciones.
- I – Incremententar Todas las inormaciones recebidas en sincronizaciones anteriores de el app Android seran mantenidas y nuevos datos seran agregados en nuevas, lineas de la planilla.
- .En “Consulta SQL/HANA (Maximo 10 columnas)”, informar a su consulta personalizada.
Recuerde: En la elaboración de su consulta podra ser usadas “variables” que seran convertidas en la ejecución.
Escenario de ejemplo
Una empresa usuaria de el CRM One App Android desea customizar el “Dashboard Insights“, en esta customización el objetivo es saber cuales son los clientes que no realizaron compras en los ultimos 30 dias.
En el SAP Business One las “Ventas” son oficializadas/facturadas en el documento “Factura”, que es el correspondiente de la planillas [OINV]. Entonces esta no es una planillasincronizada del SAP Business One para el App CRM One (referiendose a la versión 2020.07.1.001 de la App CRM One Android).
Para poder realizar esta customización sera necesario enviar para una planilla customizada el codigo de los clientes que compraron en los últimos 30 dias.
La consulta/query en SQL para Microsoft SQL Server puede ser representada por:
SELECT DISTINCT T0.[CardCode] FROM OINV T0 WHERE T0.[DocDate] >= DATEADD(DAY,-30,GETDATE())
La consulta/query en SQL para SAP HANA DB puede ser representada por:
SELECT DISTINCT T0."CardCode" FROM OINV T0 WHERE T0."DocDate" >= ADD_DAYS(NOW(), -30);
IMPORTANTE: La consulta de ejemplo puede requerir alguna condición adicional, observen bien el número de registros generados y las informaciones, para evitar la carga de informaciones innecesariaspara el dispositivo de todos los usuarios o sea, evalue usar una condición WHERE con las variables #UserIDCRM# o #SlpCodeCRM#.
Con la consulta elaborada, accesar el SAP Business One:
>Modulos > CRM One > Configuraciones > Configuraciondes generales Al abrir el formulario de Configuraciones general, accesar: >Extensión CRM One > Sincronización app mobile clicar en el botón “Carga de planillas personalizadas”.
- Marcar “Activo”.
- Llenar la “Descripción” con: Clientes facturados en el mes.
- Seleccionar en “Planilla” la opción “Planilla10”.
- En “Tipo sincronización app” seleccionar ‘Excluir datos anteriores”.
- En “Consulta SQL/Hana (Máximo 10 columnas)” informar la consulta SQL de acuerdo con el tipo de banco de datos de la empresa.
Al realizar la sincronización de datos de la aplicación Android el resultado de la consulta sera cargado para la respectiva planilla configurada, en este ejemplo en la “planilla10”.
Pre requisitos:
- CRM One Desktop Add-on 2020.07.6.002 o superior
- App Android 2020.07.1.001 o superior