U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Gepersonaliseerde kolommen toevoegen in de export van informatiebestanden

0000002462     -      23-08-2016

Deze programmatie toont hoe je gepersonaliseerde kolommen kan toeveogen in de standaardexport van informatiebestanden. Dit wordt gedaan via het event ExportingFields beschikbaar in de klasse MercatorUi.Sig.Sig. In dit voorbeeld, voegen we 3 kolommen toe in de export van het artikel-informatiebestand.

De code gebruikt de interface ISigCreated en gaat als volgt:

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using MercatorApi;

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.ISigCreated
    {

        public void SigCreated(MercatorUi.Sig.Sig Sig)
        {
            Sig.ExportingFields += new MercatorUi.Sig.Sig.ExportingFieldsEventHandler(Sig_ExportingFields);
        }

        void Sig_ExportingFields(object sender, MercatorUi.Sig.Sig.ExportingFieldsEventArgs e)
        {
            e.NodesToAdd.Add(new MercatorUi.Forms.Sig.SigClasses.ExportFieldNode("CA 30 derniers jours", "(select sum(tot_net_ht) from lignes_v inner join pieds_v on (pieds_v.id=lignes_v.id) and (pieds_v.journal=lignes_v.journal) and (pieds_v.piece=lignes_v.piece) where (lignes_v.id_article=s_id) and (pieds_v.type=1) and (pieds_v.date>=dbo.ADD_DATE(getdate(),-30))) as tot_ven", MercatorUi.Forms.Sig.SigClasses.ExportFieldNodeIconEnum.Float));
            e.NodesToAdd.Add(new MercatorUi.Forms.Sig.SigClasses.ExportFieldNode("Nom fourn. principal", "(select dbo.XNOM('FOU',id_fou) from artfou where (id_art=s_id) and (principal=1)) as fou_princ", MercatorUi.Forms.Sig.SigClasses.ExportFieldNodeIconEnum.String));
            e.NodesToAdd.Add(new MercatorUi.Forms.Sig.SigClasses.ExportFieldNode("Cpte général vente", "(select dbo.XNOM('GEN',s_comptev)) as s_comptev_nom", MercatorUi.Forms.Sig.SigClasses.ExportFieldNodeIconEnum.String));
        }
    }
}

De constructor van ExportFieldNode verwacht 3 parameters:

  • De omschrijving van het knooppunt in het dialoogvenster (het is essentieel dat deze naam uniek is onder alle knooppunten die weergegeven worden in het dialoogvenster))
  • De SQL-expressie die uiteindelijk zal worden toegevoegd aan de SQL-query uitgevoerd door Mercator met het oog om de export uit te voeren. Idealiter kan deze SQL-expressie verwijzen naar een scalar-functie. Alle velden van de tabel uit het informatiebestand (in dit voorbeeld STOCK) zijn bruikbaar als parameters.
  • Het type icoon dat weergegeven moet worden in het dialoogvenster.