Microsoft Dynamics™ NAV – Mostrar imagen en ficha de producto.
Es muy probable que nos interese mostrar una o varias imágenes de un producto por ejemplo, en la ficha de producto de Microsoft Dynamics™ NAV, sin necesidad de importar la misma en la base de datos, es decir, cargando una imagen que tenemos en una ubicación de red en tiempo real . En este post, os mostramos una manera fácil para realizar esta acción.
Para poder mostrar la imagen, necesitaremos modificar los siguientes objetos:
Table 313 – Inventory Setup. Añadimos un campo donde especificamos la ruta a la carpeta donde guardamos las imágenes.
- Field No.: 50000
- Field Name: Item Images Repository Path
- Data Type: Text
- Length: 250
- Description: // EBOXESFACTORY – Item Images Repository Path
Table 27 – Item. Añadimos un campo donde especificamos el nombre de la imagen (El tamaño de la imagen, debe coincidir con el tamaño del objeto PictureBox y el tipo de imagen debe ser .bmp).
- Field No.: 50000
- Field Name: Item Image
- Data Type: Text
- Length: 250
- Description: // EBOXESFACTORY – Item Image Name
Form 30 – Item Card. Añadimos un objeto tipo PictureBox donde mostraremos la imagen del producto.
Las propiedades principales de este objeto son:
- Width: 2500
- Height: 2500
- VertGlue: Bottom
- SourceExpr: Picture (utilizamos el campo BLOB estándar “Picture”!)
Una vez hemos informado el valor del nuevo campo “Item Images Repository Path” en la tabla “Inventory Setup” y el campo “Item Image” en el/los productos escogidos, necesitamos incluir el siguiente código en el formulario “30 – Item Card”, trigger “OnAfterGetRecord()”:
//>>> EBOXESFACTORY: Retrieve item image. ** IF TInvSetup.GET() THEN BEGIN IF "Item Image" <> '' THEN BEGIN FilePath := ''; FilePath += TInvSetup."Item Images Repository Path"; FilePath += '\'+"Item Image"; FilePath := CONVERTSTR(FilePath,'/','\'); ResImport := Picture.IMPORT(FilePath); IF ResImport = '' THEN MESSAGE('Check Product Image path & name!'); END; END; //<<< EBOXESFACTORY: Retrieve item image.
** Se deben definir las variables locales:
- Name: TInvSetup
- DataType: Record
- Subtype: Inventory Setup
- Length:
- Name: FilePath
- DataType: Text
- Subtype:
- Length: 1000
- Name: ResImport
- DataType: Text
- Subtype:
- Length: 1000
El resultado es el siguiente: