In een verkoopsdocument ID_FOU_COM automatisch aanvulllen met de standaardleverancier

0000002256     -      26-07-2025

De module hier toont hoe je het optionele veld ID_FOU_COM uit de LIGNES_V automatisch kan aanvullen met de gedefinieerde standaardleverancier uit de artikelfiche. Deze functionaliteit kan gekoppeld worden met het vastleggen van de leverancier in de klantenbestelling voor het tegenmerk.

De code gebruikt het eenvoudige event AfterInsertItem van de BillingEngine. Het gaat als volgt:

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {
        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
             billingEngine.AfterInsertItem += BillingEngine_AfterInsertItem;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
             billingEngine.AfterInsertItem -= BillingEngine_AfterInsertItem;
        }

        void BillingEngine_AfterInsertItem(object sender, MercatorUi.Engine.Gescom.BillingEngine.AfterInsertItemEventArgs e)
        {
            DataSet ds = Api.Zselect(MercatorUi.Globals.RepData, "select fou.f_id,fou.f_nom from ARTFOU inner join FOU on (artfou.id_fou=fou.f_id) where (id_art=@s_id) and (principal=1)", new MercatorSqlParam("@s_id", e.StockRecord.S_ID, SqlDbType.Char));
            if ((ds != null) && (ds.Tables[0].Rows.Count > 0))
            {
                e.LignesVRecord.ID_FOU_COM = ds.Tables[0].Rows[0]["f_id"].ToString().TrimEnd();
                e.DataRowLignes["NOM_FOU_COM"= ds.Tables[0].Rows[0]["f_nom"].ToString().TrimEnd();
            }
        }
    }
}


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)