Table of Contents

Instalación y Conexión del Terminal

1️⃣ Propósito

Esta guía explica cómo instalar la aplicación Terminal de myFoodTech en un equipo de planta y cómo configurar su conexión con Business Central, tanto si BC está publicado On-Premise/Docker como en SaaS (Cloud).

Usuarios: Técnicos de instalación / administradores de sistemas.


2️⃣ Requisitos Previos

Antes de ejecutar el instalador, comprobar en el equipo donde se instalará el Terminal:

☐ .NET Framework instalado (mínimo 4.7.2, recomendado 4.8)
☐ Permisos de administrador para ejecutar el instalador
☐ Windows 10/11 o Windows Server soportado
☐ Firewall/Antivirus no bloquea el instalador ni la comunicación con:
    - El servidor de Business Central (OData/SOAP)
    - Los periféricos de planta (impresoras, básculas, TPV)
☐ Redistribuibles de Visual C++ instalados, si el equipo usa drivers de
  hardware específicos (impresoras, básculas, etiquetadoras, etc.)

3️⃣ Instalación del Terminal

El instalador es un setup estándar de Windows, no requiere pasos especiales:

  1. Ejecutar el archivo de instalación (setup.exe o similar) como administrador.
  2. Aceptar el asistente de instalación (Siguiente → Siguiente → Instalar).
  3. Esperar a que finalice la copia de archivos.
  4. Pulsar "Finalizar".
  5. Abrir la aplicación Terminal instalada.

Al primer arranque (o desde el menú de configuración de la propia aplicación) se debe acceder a la pantalla Configuración Terminal / Conexión BC para indicar los datos de conexión.


4️⃣ Configuración de Conexión con Business Central

En la pestaña Conexión BC de la configuración del Terminal existen los siguientes campos:

Campo Descripción
URL Servidor Dirección del servidor de Business Central
Puerto OData Puerto del servicio OData de BC
Puerto SOAP Puerto del servicio SOAP de BC
Instancia Nombre de la instancia/entorno de BC (Server Instance)
Empresa Empresa de BC contra la que trabajará el Terminal
Autenticación Tipo de autenticación: Token (Usuario/Contraseña) u OAuth (Tenant ID/Client ID/Client Secret)
Usuario / Contraseña Credenciales de acceso (solo si Autenticación = Token)
Tenant ID / Client ID / Client Secret Credenciales de la aplicación registrada en Azure AD (solo si Autenticación = OAuth)
Timeout Tiempo máximo de espera de las llamadas al servidor (ms)
Terminal Código del terminal configurado en BC (tabla "Configuración Terminal")
Nº Decimales Decimales usados para pesos/cantidades
Filas página / Altura fila / Tiempo pág Parámetros visuales de las listas del Terminal
Máscara EAN128 personalizado Permite definir una máscara propia de lectura de etiquetas EAN128

⚠️ El Client Secret es una credencial sensible: no debe compartirse en claro (correo, chat, documentos) ni almacenarse en texto plano fuera de la configuración del Terminal. Debe tratarse como una contraseña y rotarse periódicamente desde Azure AD.

4.1 Conexión con Business Central On-Premise / Docker

Para instalaciones On-Premise o en Docker se utiliza normalmente autenticación por Token (Usuario/Contraseña de Windows o NavUserPassword configurado en el servidor BC).

La única diferencia entre conectar contra un servidor On-Premise "tradicional" o contra un contenedor Docker es el valor de URL Servidor:

  • On-Premise: nombre/IP del servidor físico o virtual donde corre el Business Central Server.
  • Docker: nombre del contenedor o IP/host donde se publica el contenedor de BC.

El resto de campos (puertos, instancia, autenticación, empresa, etc.) se configuran igual en ambos casos.

Ejemplo de configuración:

Autenticación:  Token
URL Servidor:   https://miservidor-bc          (On-Premise)
                https://nombre-contenedor       (Docker)
Puerto OData:   7048
Puerto SOAP:    7047
Instancia:      BC
Empresa:        MI EMPRESA S.A.
Usuario:        usuario_terminal
Contraseña:     ********
Tenant ID:      (vacío)
Client ID:      (vacío)
Client Secret:  (vacío)
Timeout:        30000
Terminal:       TER001

4.2 Conexión con Business Central SaaS

Para instalaciones en la nube (SaaS) se utiliza autenticación OAuth, mediante una aplicación registrada en Azure Active Directory (Entra ID) con permisos sobre la API de Business Central.

Ejemplo de configuración:

Autenticación:  OAuth
URL Servidor:   https://api.businesscentral.dynamics.com/v2.0/
Puerto OData:   7048
Puerto SOAP:    7047
Instancia:      Production               (o el nombre del entorno, ej. Sandbox)
Empresa:        MI EMPRESA S.A.
Usuario:        usuario@miempresa.onmicrosoft.com
Contraseña:     (no aplica con OAuth / la del correo si se solicita)
Tenant ID:      11111111-2222-3333-4444-555555555555
Client ID:      66666666-7777-8888-9999-000000000000
Client Secret:  ********************************  (guardar de forma segura)
Timeout:        30000
Terminal:       TER001

Datos necesarios antes de configurar:

☐ Tenant ID del entorno Microsoft 365 del cliente
☐ Client ID de la aplicación registrada en Azure AD (App Registration)
☐ Client Secret generado para esa aplicación
☐ Nombre del entorno de BC (Production, Sandbox, etc.) → campo "Instancia"
☐ Nombre exacto de la empresa en BC → campo "Empresa"

ℹ️ La aplicación de Azure AD debe tener concedidos los permisos de API necesarios sobre Business Central (Dynamics 365 Business CentralAPI.ReadWrite.All o el permiso equivalente configurado por el partner) y el consentimiento de administrador otorgado.


5️⃣ Configuración del Terminal en Business Central

Independientemente del tipo de conexión, el código de Terminal indicado en el paso anterior debe existir previamente en BC, en la pantalla "Configuración Terminal":

- Código Terminal (debe coincidir con el campo "Terminal" de la conexión)
- Almacén por defecto
- Impresora por defecto (opcional)
- Báscula por defecto (opcional)
- Etiquetadora por defecto (opcional)

Para poder asignar estos valores por defecto, primero hay que rellenar los maestros correspondientes desde la propia pantalla "Configuración Terminal":

- Impresoras   → maestro de impresoras disponibles
- Básculas     → maestro de básculas disponibles
- Etiquetadoras → maestro de etiquetadoras disponibles

Una vez dadas de alta, estas impresoras/básculas/etiquetadoras podrán conectarse y asignarse como valor por defecto de cada terminal.

Adicionalmente, existen otras pestañas de configuración relacionadas:

- Recursos terminal  → operarios/usuarios que pueden hacer login en el terminal
- Botones terminal   → qué botones estarán operativos en cada terminal
- Diarios terminal   → diario y sección donde se registrarán los datos
- Maestros           → carpeta contenedora de básculas, etiquetadoras e impresoras
- Plantillas         → carpeta contenedora de las plantillas base de botones

Ver también: Configuración Inicial.


6️⃣ Verificación

Una vez rellenados todos los campos de conexión:

  1. Pulsar el botón "Test de conexión".
  2. El sistema mostrará un mensaje indicando que debe seleccionar la empresa (campo "Empresa") contra la que se conectará el Terminal.
  3. Pulsar "Guardar".
  4. El Terminal se reiniciará automáticamente y comenzará a rellenar todos los maestros (productos, almacenes, operarios, etc.) desde Business Central.
  5. Comprobar que los maestros se han cargado correctamente y sin errores de conexión.
  6. Realizar una pesada o consulta de prueba para validar la comunicación OData/SOAP.

Si aparece un error de conexión, revisar:

  • URL Servidor, puertos e instancia correctos.
  • Credenciales (Usuario/Contraseña o Tenant/Client ID/Client Secret) válidas y no caducadas.
  • Firewall no bloqueando la comunicación saliente hacia BC.