Gepersonaliseerde kolommen toevoegen in de export van informatiebestanden

0000002462     -      30-07-2025

Deze programmatie toont hoe je gepersonaliseerde kolommen kan toevoegen 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 += 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.


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)