Navision Infocenter

Nav123: Navision, Showare, OrderApp

Print Friendly, PDF & Email

Cree sitios web y formularios sencillos directamente desde Navision

En Navision, el Infocenter pone a su disposición una función totalmente encapsulada para este fin, con la que puede dar salida fácilmente a diversos elementos, p. ej.
Listas (por ejemplo, listas de artículos, entregas, atrasos)
Enlaces (por ejemplo, seguimiento de paquetes, pedidos pendientes, niveles de existencias)
Fichas (páginas detalladas, por ejemplo, para información ampliada sobre artículos o datos de clientes)
Símbolos (como OK, error, cancelación)
Campos de entrada / listas de entrada (por ejemplo, para tiempos de montaje, pedidos rápidos, tiempos de registro, cantidades o importes)


Los menús y las referencias cruzadas también se generan directamente en el código de Navison.

Esto significa que usted mismo puede generar fácilmente "páginas web" adicionales e implementar otras funciones sin tener que cambiar ni una sola línea de código en el frontend web.
Y: todas las entradas del usuario son interpretadas en primer lugar por su programa Navison, sin excepción. Esto significa que la interfaz es completamente inmune a las inyecciones SQL y ataques similares. Lo que su programa C/AL no entienda dará lugar, en el peor de los casos, a una "llamada desconocida", pero nunca a ataques con éxito a su estructura Navison.

Navision controla PHP directamente

La llamada se realiza desde cualquier navegador a la dirección [dominio]. Allí se almacena un index.html normal con referencia al index.php, o se especifica el index.php como página de inicio en el servidor web.
En pocas palabras: El script PHP (suministrado) inicia una llamada (trigger) en el NAS de Navision, que entonces empieza a calcular y devolver datos. Estos datos pueden ser una pantalla de inicio de sesión o directamente un menú o datos terminados. Cada llamada desde el sitio web ya está prefiltrada en el lado del servidor por el PHP_Script, e incluso estos datos prefiltrados son interpretados de nuevo paso a paso por Navision. Por lo tanto, el sitio de intranet/Navision está absolutamente a salvo de inyecciones SQL u otros ataques. Si una combinación de comando/comando/datos no es reconocida por el programa Navision en el servidor de aplicaciones, no se activan más disparadores y, por tanto, no se devuelve ningún dato.

Comandos C/Side para un inicio de sesión

Send(‚$$$Login;Anmelden am Infocenter‘); 
Send(‚Kundennr.:|$TXT_Kundennr~10~‘);
Send(‚Kennwort:|$TXT_Kennwort~10~‘);
Send(‚ ‚);

La autenticación ya tiene lugar en la unidad de código, de modo que usted mismo puede controlar si una determinada URL ya está autenticada o si los datos deben entregarse simplemente sin autenticación. Interesante p.ej. para información de máquinas, estados de mantas o similares donde la confidencialidad no es importante, soluciones internas. $TXT_CustomerNo~10~ crea un campo de formulario cuyo contenido TeXT se devuelve a Navision en la variable CustomerNo con el número máximo de dígitos 10.

Crear menú desde Navision

De este modo se crea un sencillo menú de Internet que puede ampliarse como se desee (también con varias columnas):


Gend(“);//Weil kein Formular: erst eine Leerzeile 
Send(‚[_head1]Infocenter‘);
Send(‚—‚);
Send(‚[_mark]Angebote$AB;Q‘);
Send(‚[_mark]Auftraege$AB;O‘);
Send(‚[_mark]Lieferungen$SHIPMENT‘);
Send(‚[_mark]Ordersatz$ORDERLISTADR;M‘);
Send(‚ ‚);

El texto "Ofertas" se muestra en negrita (_Mark). Si el usuario hace clic en esta entrada, se devuelve a Navision el comando AB con el parámetro Q.

Visualización de la lista a través de C/AL

IF ShipHeader.FINDSET THEN BEGIN  //Überschrift
  Send(‚[[_tablehead]]Belegnr.|Ihre Belegnr.|Auftragsdatum|Positionen|Lieferdatum|PLZ|Tracking‘);
  REPEAT
    TrackLink := ShipHeader.GetTrackinglink; //URL für Navision Pakettracking bei UPS, DPD, Transoflex bauen
    IF TrackLink <> “ THEN //externen Link (eLink) erzeugen, wird in einem neuen Fenster geöffnet
      TrackLink := ‚[_elink]’+ ShipHeader.“Package Tracking No.“ +’$’+ TrackLink;
    ShipLines.RESET;
    ShipLines.SETRANGE(„Document No.“,ShipHeader.“No.“);
    ShipLines.SETRANGE(Type,ShipLines.Type::Item);
    ShipLines.SETFILTER(„No.“,'<>%1′,“);
    //“Tabelierpapier“ (Lining[x]) erzeugen
    Send(Lining(1) + ShipHeader.“No.“ +’|’+ ShipHeader.“Your Reference“ +’|’+
      FORMAT(ShipHeader.“Order Date“) +’|’+
      FORMAT(ShipLines.COUNT)+’$SHIPLINES;’+ShipHeader.“No.“ +’|’+
      FORMAT(ShipHeader.“Posting Date“) +’|’+ ShipHeader.“Ship-to Post Code“ +’|’+
      TrackLink);
  UNTIL ShipHeader.NEXT = 0;
  SendBackLink;

El número de líneas se muestra de nuevo como un enlace, que se devuelve a Navision con el comando LÍNEAS DE ENVÍO y el parámetro "número de albarán" cuando se hace clic sobre él.

Seguimiento de los enlaces a un sitio web externo:

Navision Tracking über DPD im Infocenter

mientras que el número de líneas de albarán conduce a un enlace interno en el Infocenter:


El número de artículo se convierte de nuevo en un enlace, por lo que se puede anidar cualquier profundidad de información en el Infocentro sin tener que crear una página web o similar en Internet:

Send(‚[_mark]Artikelnr.:|’+Item.“No.“);
Send(‚[_mark]Beschreibung:|’+Item.Description);
Send(‚[_mark]Beschreibung 2:|’+Item.“Description 2″);
Send(‚[_mark]Einheit:|’+Item.“Sales Unit of Measure“);
SendBackLink;

También se pueden crear fácilmente botones/enlaces gráficos:

Infocenter muestra una lista de artículos con enlaces a subpáginas

Haciendo clic de nuevo en la X roja se inicia la función para borrar una dirección de entrega a través de un enlace interno libremente programable, haciendo clic en el enlace de texto "Mapa" se accede a una visualización de mapa en línea externa, haciendo clic en la marca verde se transfiere esta dirección de entrega al registro del pedido. Por motivos de protección de datos, las direcciones se han hecho ilegibles aquí.

Otras opciones para el centro de información:

  • Facilite a su comercial los datos de "Estoy en la Poststrasse de Colonia, ¿qué clientes tengo en un radio de 30 kilómetros que a) me hayan comprado en el último año o b) no me hayan comprado en el último año?".
  • Haga que su conductor introduzca rápidamente su actividad mientras está en la carretera: "Ahora he descargado la entrega para Müller" (que luego puede volver directamente a la base de datos Navision: Albarán 123456 y 123457 entregado, se puede escribir la factura).
  • Información sobre pedidos pendientes y seguimiento de paquetes para sus clientes
  • Registro sencillo de los tiempos del técnico simplemente en el navegador del smartphone, sin ningún software / app adicional
  • Planes de ruta para sus conductores

Sin desktop remoto, sin cliente Citrix, sin marcación directa a la red de la empresa. La base de datos puede entregar cifras preparadas directamente a la dirección sólo mediante un enlace convenientemente codificado. ¿Qué atrasos hay? ¿Cuáles son las cifras de ventas actuales? ¿Qué empleados están enfermos hoy?

Ahórrese el trabajo de mantenimiento. Deje que los proveedores mantengan activamente los precios de compra, la disponibilidad y las fechas de entrega de las mercancías vencidas. Deje que sus clientes corrijan ellos mismos sus direcciones de entrega.