Beheer van de backorders

0000000858     -      14-01-2024

Indien bij de manuele omzetting van een document naar een volgend stadium (bv.: order omzetten in levering) de hoeveelheden lager liggen, stelt Mercator voor om de backorders te beheren. Hierdoor blijven de backorderaantallen al dan niet in het brondocument staan. Wanneer een bestek (verkoop) of een ordervoorbereiding (aankoop) wordt omgezet, stelt Mercator voor om het brondocument in zijn totaliteit te bewaren. Via de optie "Backorders uit verkoop" of "Backorders uit aankoop" (cf. "Extra / Opties / Input") kan men bepalen hoe men deze backorders wil beheren:

  • JA: backorders altijd behouden;
  • NEEN: backorders nooit behouden;
  • VRAGEN: de gebruiker vragen wat er moet gebeuren.

Indien de optie voor verkopen geselecteerd is met "+ volledig bestek", dan zullen de bestekken steeds in hun totaliteit behouden worden. Indien de optie voor aankopen geselecteerd is met "+ volledige ordervoorb.", dan zullen de ordervoorbereidingen steeds in hun totaliteit behouden worden.


Men kan in Mercator van deze algemene opties afwijken door het backorderbeheer te specificeren per klant of per leverancier. Om deze functionaliteit te installeren, moet men de databank als volgt wijzigen:

  • een veld C_BO N(1) toevoegen in CLI;
  • een veld F_BO N(1) toevoegen in FOU

De installatie is niet verplicht in de 2 tabellen. Het is dus best mogelijk om enkel op het niveau van de klanten of op het niveau van de leveranciers.

Het is nodig een nieuwe combobox toe te voegen in de respectieve signaletiek, gebonden aan die kolom. Via deze rollijst kan de waarde van de optie backorderbeheer voor de actieve klant/leverancier worden gespecificeerd. Indien geen waarde ingevuld wordt, wordt de algemene optie gebruikt.


Sinds versie 11.0 van Mercator is het ook mogelijk om dit gedrag in te stellen via de dropdown in het tabblad "Evenementen" van elke sequentie.

De volgorde van prioriteiten is als volgt:

  • Specifiek gedrag gedefinieerd op klant/leverancier niveau,
  • Waarde in sequentie ingesteld,
  • Als geen van de twee voorgaande waarden is gedefinieerd, wordt rekening gehouden met de algemene optie X_BO_V/A.

Het is ook mogelijk om het gedrag per code voor elk document afzonderlijk in te stellen. Dit wordt gedaan door de ForcedBackOrders-eigenschap van BillingEngine. Standaard is deze eigenschap op _none. Als de waarde ervan verschilt, wordt altijd met deze laatste rekening gehouden.

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

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

        void BillingEngine_BeforeSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            if (...........)
                billingEngine.ForcedBackOrders = MercatorUi.Engine.Gescom.BillingEngine.ForcedBackOrdersEnum.No;
        }
    }
}