using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

namespace MyNameSpace
{
     public class Class1 : MercatorUi.Interfaces. IExec
    {

         public void Main()
        { 
             //string reportFileName = Globals.MainDir + "MonRapport.repx" ; // nom du rapport que l'on veut produire / modifier 
             string reportFileName = @"<MainDir\MonRapport.repx" ; // nom du rapport que l'on veut produire / modifier

             MercatorUi.Sig. Sig sig = MercatorUi.Sig. _SigsStatic .SigByModule(MercatorUi.Sig. _SigEnum .STOCK);
             MercatorUi.Forms.Sig. SigForm sigForm = sig.SelectSigForm(); // on regarde d'abord si une fiche article est ouverte 
             if (sigForm == null )
                 return

             DataSet ds = sigForm.DataSource.DataSet.Copy(); // on pointe vers les données de la fiche en cours mais on fait un copy car on va modifier le dataset sur la ligne suivante
             MercatorUi.Reporting. ReportingStatic .FillDataset(ds, Api .JustStem(reportFileName)); // on ajoute des infos utiles pour utilisation dans le report designer 

             string reportLayout = MercatorUi.Reporting. ReportingStatic .Reporting.EditLayout( Api .JustStem(reportFileName), Api .FileToStr(reportFileName, Encoding.UTF8), ds); 
             Api .StrToFile(reportLayout, reportFileName, Encoding.UTF8);
        }

    }
}