“Les liens” est une fonctionnalité puissante de Dynamics NAV qui permet d’attacher le lien d’un document à n’importe quel enregistrement. Les liens peuvent aussi passer d’un document à l’autre, par exemple, si le lien est attaché à un devis lorsque ce devis est transformé en commande le lien est aussi accessible depuis la commande.
La seule contrainte est l’enregistrement de ce lien n’est pas très userfreindly.
Le glissez-déposer de Windows peux être très pertinent améliorer et faciliter l’utilisation des liens Dynamics NAV. Voir la vidéo :
Dans cette article, je vous montre comment utiliser l’extensibilité client du RoleTailored pour ajouter une zone pour déposer un ou plusieurs fichiers et créer des liens pour un enregistrement dans Dynamics NAV.
Pour cela, il faut :
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Dynamics.Framework.UI.Extensibility;
using Microsoft.Dynamics.Framework.UI.Extensibility.WinForms;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
using System.Xml;
namespace NAVDragDrop
{
[ControlAddInExport("NAVDragDrop")]
public class NAVDragDrop : StringControlAddInBase
protected override Control CreateControl()
TextBox control = new TextBox();
control.MinimumSize = new Size(50, 50);
control.MaximumSize = new Size(500, Int32.MaxValue);
control.ReadOnly = true;
control.AllowDrop = true;
control.DragDrop += control_DragDrop;
control.DragEnter += control_DragEnter;
return control;
}
private void control_DragEnter(object sender, DragEventArgs e)
e.Effect = DragDropEffects.All;
private void control_DragDrop(object sender, DragEventArgs e)
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
RaiseControlAddInEvent(1, file);
OnControlAddIn(Index : Integer;Data : Text[1024]) IF (Index = 1) THEN BEGIN ADDLINK(Data, 'Doc : ' + Data); END;