Se puede usar el programa econnect.sync para poder enviar la siguiente información de un ERP al servidor de e-connect:
A continuación se explica como configurarlo para poder iniciar el envío de esta información.
Debe existir el archivo config.xml en el mismo directorio donde se encuentre el archivo .exe usado (ver el apartado Configurar sincronizador#Programas).
Importante: Antes de realizar cambios en el archivo config.xml, el programa debe estar parado.
Puedes descargar config.zip [4,60 KB] en el que hay archivos de configuración de ejemplo como punto de partida:
A continuación se detalla el contenido del archivo config.xml:
Incluye los tokens necesarios para validarse con los servicios de e-connect:
<Auth> <ClientId>{e-connect ClientId}</ClientId> <RefreshToken>{e-connect RefreshToken}</RefreshToken> <AccessToken /> <ExpiresUtc xsi:nil="true" /> </Auth> |
Hay que sustituir el texto {e-connect RefreshToken} por el token de nuestro usuario de e-connect i el texto {e-connect ClientId} por el cliente de nuestro usuario de e-connect. Ver el documento Obtener Refresh Token para saber cómo obtenerlo. Es importante no cambiar esta información una vez el sincronizador esté en funcionamiento para evitar problemas de autenticación.
En el caso que no haya AccessToken o ExpiresUtc o esta última haya expirado, se obtendrá un nuevo AccessToken. Al obtener uno nuevo, se actualiza el archivo de configuración con los nuevos valores.
Indica al programa cuando debe ejecutarse la sincronización.
<Trigger> <Type>Schedule</Type> <Parameter>0 0/15 * * * ?</Parameter> </Trigger> |
Los posibles valores de Type son:
El contenido del Parameter depende del Type escogido:
Schedule → indica cuando hay que ejecutar basado en el tiempo. Más información en: https://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/crontriggers.html
Atención: el tipo FileDetected no reintentará procesar el archivo en el caso que haya un error de comunicación con el servidor. Por esa razón, recomendamos usar el tipo Schedule.
Configuración de los distintos orígenes de datos (tanto para entrada como para salida).
<DataSources> <DataSource xsi:type="DataSourceFilesCsv"> <Id>1</Id> <Name>File Sample</Name> <Type>Files</Type> <Source>{Path to CSV files}</Source> <Format>Csv</Format> <Separator>;</Separator> </DataSource> </DataSources> |
DataSourceFilesCsv
DataSourceFiles
DataSourceDatabase
El DataSourceFilesCsv debe tener un parámetro adicional (Separator) para indicar el carácter o caracteres que deben usarse para obtener los datos del archivo CSV. Para usar más de un carácter, deben ponerse juntos (Ej: para usar el punto y como además de la coma, habría que usar <Separator>;,</Separator>). En caso de usarlo también para exportar datos, se usará el primer carácter como separador para el archivo CSV generado por el sincronizador.
En el ejemplo, se usan archivos en formato CSV separados por punto y coma.
Si se necesitan distintos tipos de orígenes, se recomienda copiar el nodo DataSource del archivo de configuración de ejemplo adecuado para incorporarlo al config.xml propio.
Define la información que se va a importar a e-connect.
<Input> <SyncItemInput> <Name>CSV File: Work Orders</Name> <DataSourceId>1</DataSourceId> <OrderPos>0</OrderPos> <LastModified xsi:nil="true" /> <DataType>WorkOrder</DataType> <Expression>{Filter to apply when searching for files. Ex: am*.csv}</Expression> </SyncItemInput> </Input> |
Ver el apartado Campos en Input para ver qué campos deben o pueden tener las consultas o archivos, qué nombre deben tener y qué formato.
Se puede descargar el archivo input-samples.zip [14 KB] para tener ejemplos de los archivos con distintos formatos y consultas SQL.
Permite definir cómo exportar la información de e-connect.
<Output> <SyncItemOutput> <Name>CSV File: Work Orders Production</Name> <DataSourceId>1</DataSourceId> <OrderPos>0</OrderPos> <LastModified xsi:nil="true" /> <DataType>WOProduction</DataType> </SyncItemOutput> </Output> |
Ver el apartado Campos en Output para ver qué campos tendrán los archivos generados o qué columnas y nombre de tabla debe tener en caso de quererlo en una Base de Datos.
Se puede descargar el archivo output-samples.zip [6,77 KB] para tener ejemplos de los archivos que se generar con los distintos formatos y las tablas a crear en la Base de Datos.
Para poder importar la información correctamente, el origen de los datos (consulta SQL o archivo) debe tener los campos con los nombres y formatos aquí indicados.
Nombre campo | Descripción | Tipo | Requerido |
---|---|---|---|
Code | Código único de la referencia | Texto(128) | Sí |
Description | Descripción de la referencia | Texto | No |
PictureFile | Ruta completa al archivo con la foto (JPG, PNG, GIF) | Texto | No |
Picture | Foto en formato Base 64 (RFC 3548 o RFC 4648) en archivos y | Texto | No |
PictureFileName | Nombre de archivo de la foto (Ej: 0001.jpg). Usado junto con Picture, aunque es opcional | Texto | No |
IsActive | Referencia activa | Bool | |
LastModified | Fecha/hora de última modificación | Fecha/Hora | No |
Nombre campo | Descripción | Tipo | Requerido |
---|---|---|---|
Code | Código único de la fase | Texto(50) | Sí |
Description | Descripción de la fase | Texto(100) | No |
LastModified | Fecha/hora de última modificación | Fecha/Hora | No |
Nombre campo | Descripción | Tipo | Requerido |
---|---|---|---|
PhaseCode | Código de la fase | Texto(50) | Sí |
ReferenceCode | Código de la referencia | Texto(128) | Sí |
Description | Descripción de la fase para la referencia | Texto(100) | No |
PictureFile | Ruta completa al archivo con la foto (JPG, PNG, GIF) | Texto | No |
Picture | Foto en formato Base 64 (RFC 3548 o RFC 4648) en archivos y formato binario para Base de Datos (Ej: image en SQL Server) Si existe PictureFile se usará antes que Picture | Texto | No |
PictureFileName | Nombre de archivo de la foto (Ej: 0001.jpg). Usado junto con Picture, aunque es opcional | Texto | No |
LastModified | Fecha/hora de última modificación | Fecha/Hora | No |
Nombre campo | Descripción | Tipo | Requerido |
---|---|---|---|
ReferenceCode | Código de la referencia | Texto(128) | Sí |
ComponentCode | Código del componente | Texto(128) | Sí |
WorkOrderNumber | Número de OT (en caso que los componentes cambien para cada OT) | Texto(50) | No |
PhaseCode | Código de la Fase (en caso que los componentes cambien para cada OT + Fase) | Texto(50) | No |
Quantity | Cantidad del componente para la referencia | Decimal | No |
Comment | Observaciones del componente | Texto | No |
LastModified | Fecha/hora de última modificación | Fecha/Hora | No |
Nombre campo | Descripción | Tipo | Requerido | Observaciones |
---|---|---|---|---|
Number | Número de OT | Texto(50) | Sí | |
ReferenceCode | Código de la Referencia | Texto(128) | Sí | |
ReferenceDescription | Descripción de la Referencia | Texto | No | |
PhaseCode | Código de la Fase | Texto(50) | No | |
PhaseDescription | Descripción de la Fase | Texto(100) | No | |
ToolingCode | Código del Utillaje | Texto(50) | No | |
ToolingDescription | Descripción del Utillaje | Texto(100) | No | |
Quantity | Cantidad a fabricar | Decimal | No | |
PreparationTime | Tiempo de preparación previsto (segundos) | Decimal | No | |
ProductionTime | Tiempo de producción previsto (segundos) | Decimal | No | |
ClientName | Nombre del Cliente | Texto | No | |
MachineCode | Código de la Máquina | Texto(50) | No | |
MachineName | Nombre de la Máquina | Texto(100) | No | |
Status | Estado de la OT | Entero | No | 0: Abierta 1: Cerrada |
Comment | Observaciones de la OT | Texto | No | |
ExternalCode | Código externo de la OT | Texto(50) | No | Si se indica, entonces se entenderá como OT única la unión de Number, Phase (si hay) y ExternalCode |
LastModified | Fecha/hora de última modificación | Fecha/Hora | No |
Nombre campo | Descripción | Tipo | Requerido | Observaciones |
---|---|---|---|---|
OTNumber | Número de OT | Texto(50) | Sí | |
PhaseCode | Código de la Fase | Texto(50) | No | |
ReferenceCode | Código de la Referencia | Texto(128) | Sí | |
WorkerCode | Código del trabajador | Texto(20) | Sí | |
StartDate | Fecha/hora de inicio prevista del trabajo | Fecha/Hora | Sí | |
EndDate | Fecha/hora de fin prevista del trabajo | Fecha/Hora | Sí | |
Quantity | Cantidad a fabricar | Decimal | No | |
Comment | Observaciones | Texto | No | |
OTExternalCode | Código externo de la OT | Texto(50) | No | Si se indica, entonces se entenderá como OT única la unión de Number, Phase (si hay) y ExternalCode |
Nombre campo | Descripción | Tipo | Requerido | Observaciones |
---|---|---|---|---|
OTNumber | Número de OT | Texto(50) | Sí | |
PhaseCode | Código de la Fase | Texto(50) | Sí | |
ReferenceCode | Código de la Referencia | Texto(128) | Sí | |
OTNumberRequired | Número de OT requerida | Texto(50) | Sí | |
PhaseCodeRequired | Código de la Fase requerida | Texto(50) | Sí | |
ReferenceCodeRequired | Código de la Referencia requerida | Texto(128) | Sí | |
Blocking | Dependencia bloqueante | Char | Sí | (Y/N) |
Nombre campo | Descripción | Tipo | Requerido | Observaciones |
---|---|---|---|---|
Name | Nombre del trabajador | Texto | Sí | |
WorkerCode | Código del trabajador | Texto(20) | Sí | |
Correo electrónico del trabajador | Texto(256) | Sí | ||
Language | Idioma del trabajador | Entero | No | 1: Català 2: Español 3: English 4: Français 5: Português |
Nombre campo | Descripción | Tipo | Requerido | Observaciones |
---|---|---|---|---|
MachineCode | Código de máquina | Texto(50) | Sí | |
ReferenceCode | Código de la Referencia | Texto(128) | Sí | |
CycleTime | Tiempo de ciclo (segundos) | Decimal | Sí | |
MachineName | Nombre de la Máquina | Texto(100) | No | |
ReferenceDescription | Descripción de la Referencia | Texto | No | |
MachineCycles | Ciclos de máquina | Entero | No | Si no se indica, se asignará 1 |
UnitsCycle | Ciclos por unidad | Entero | No | Si no se indica, se asignará 1 |
Entero: 0-Falso / 1-Cierto
Si se utiliza la salida SQL estándar, la tabla es EConnectGP
Nombre campo | Descripción | Tipo |
---|---|---|
KeyId | Identificador único | Texto(40) |
ReferenceCode | Código de la referencia | Texto(128) |
WorkerName | Nombre del operario | Texto |
WorkerCode | Código del operario | Texto(20) |
DeviceName | Nombre del dispositivo | Texto(75) |
MachineName | Nombre de la máquina | Texto(100) |
MachineCode | Código de la máquina | Texto(50) |
MachineExternalCode | Código externo de la máquina | Texto(50) |
PhaseCode | Código de la fase | Texto(50) |
PhaseDescription | Descripción de la fase | Texto(100) |
StartDate | Fecha/Hora de inicio de la producción | Fecha/Hora |
EndDate | Fecha/Hora de finalización de la producción | Fecha/Hora |
Duration | Duración de la producción (segundos) | Decimal |
CountOK | Número de elementos contados como OK | Decimal |
CountNG | Número de elementos contados como NO OK | Decimal |
ReportedCountOK | Número de elementos informados como OK por el operario | Decimal |
ReportedCountNG | Número de elementos informados como NO OK por el operario | Decimal |
Quantity | Cantidad de la OT | Decimal |
ReportedQuantity | Número de elementos informados totales (suma de ReportedCountOK y ReportedCountNG) | Decimal |
WorkOrder | Número de la OT | Texto(50) |
WOExternalCode | Código externo de la OT | Texto(50) |
NumberOfStops | Número de paradas | Entero |
Oee | OEE | Decimal |
CycleTime | Tiempo de ciclo | Decimal |
IdealCycleTime | Tiempo de ciclo ideal | Decimal |
IsProduction | XML/JSON: true/false BD/CSV: Y indica que és un registro de producción, si es N indica que és de preparación | Bool/Char |
PlannedPieces | Número de elementos planificados | Decimal |
PreparationPieces | Número de elementos en preparación | Decimal |
PreparationTime | Tiempo de preparación (segundos) | Entero |
Si se utiliza la salida SQL estándar, la tabla es EConnectNC
Nombre de campo | Descripción | Tipo |
---|---|---|
KeyId | Identificador único de la producción (tabla EConnectGP) | Texto(40) |
WorkOrder | Número de la OT | Texto |
RejectionTypeId | Identificador del tipo de rechazo | Texto |
RejectionTypeCode | Código del tipo de rechazo | Texto |
Quantity | Cantidad rechazada o asignada a un motivo de rechazo | Decimal |
IsProduction | Y indica que és un registro de producción, si es N indica que és de preparación | Char |
Si se utiliza la salida SQL estándar, la tabla es EConnectUS
Nombre campo | Descripción | Tipo |
---|---|---|
KeyId | Identificador único | Texto(40) |
UserName | Nombre de usuario | Texto(256) |
Name | Nombre del usuario | Texto |
E-mail del usuario | Texto(256) | |
IsActive | Usuario activo (Y: activo, N: no activo) | Char |
LanguageId | Idioma del usuario: 1: Català 2: Español 3: English 4: Français 5: Português | Entero |
PhoneNumber | Número de teléfono del usuario | Texto |
WorkerCode | Código como trabajador | Texto(20) |
Updated | Fecha/Hora de última actualización | Fecha/Hora |
Claims | Tipos de perfil separados por coma:
| Texto(50) |
Si se utiliza la salida SQL estándar, la tabla es EConnectMA
Nombre campo | Descripción | Tipo |
---|---|---|
KeyId | Identificador único | Texto(40) |
Name | Nombre de la máquina | Texto(100) |
Code | Código de la máquina | Texto(50) |
ExternalCode | Código externo de la máquina | Texto(50) |
Created | Fecha/Hora de creación de la máquina | Fecha/Hora |
Updated | Fecha/Hora de última actualización de los datos de la máquina | Fecha/Hora |
Model | Modelo de la máquina | Texto |
MachineUse | Para qué se usa la máquina | Texto |
Comment | Observaciones de la máquina | Texto |
TimeToStop | Tiempo que debe pasar sin recibir producciones para interpretar que la máquina está Parada (segundos) | Entero |
MeasureUnitId | Unidad de medida de su producción:
| Texto(50) |
TimeToSuggestStop | Tiempo que debe pasar sin recibir producciones para que la Parada deba ser justificada por el operario (minutos) | Entero |
Se puede descargar el sincronizador des de este enlace:
Hay dos formas de usar el sincronizador:
Debe instalarse el servicio de la siguiente forma (archivo econnect.sync.service.exe):
cmd
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
InstallUtil.exe C:\ruta\econnect.sync.service.exe
Debe ejecutarse el archivo econnect.sync.console.exe y dejar la ventana abierta.