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

MercatorPenguin 2.0: documenten uit het commercieel beheer - voorbeeld DNV

0000002835     -      23-07-2020

Deze pagina toont de uitgevoerde instellingen in het commercieel beheer en MercatorPenguin. Het geeft de mogelijkheid om een document uit het commercieel beheer te wijzigen vanaf een mobiele applicatie. De functionaliteiten die hier getoond worden zijn:

  • een onderhoudstechnicus kan nakijken welke DNV-opdrachten er aan hem toegewezen zijn.
  • hij kan een verslag invoeren over de opdracht
  • de gebruikte onderdelen ingeven (maximaal 3 verschillende artikelen)
  • via de touch-pad modus de handtekening van de klant bewaren.

Deze instelling wordt bijvoorbeeld overgenomen in het bestel-journaal SAV. Het is noodzakelijk om volgende velden toe te voegen aan PIEDS_V:

  • ID_ART1, ID_ART2, ID_ART3 : char(10) not null default ''
  • Q_ART1, Q_ART2, Q_ART3 : float not null default 0
  • NOTE1 et NOTE2 : varchar(MAX) not null default '' : NOTE1 zal de interventieaanvraag bevatten - niet wijzigbaar via MercatorPenguin, NOTE2 zal het interventierapport bevatten - wijzigbaar via MercatorPenguin
  • SIGN_CLI : varbinary(MAX) null : afbeelding met de handtekening van de klant.
  • ID_TECH : char(10) not null default

Het is noodzakelijk om het invoerscherm van de sequentie te wijzigen. We raden u aan om dit te doen door de inhoud van het MPGE-bestand in een nieuw tabblad met de naam SAV te laden.

Een bundel die toegang biedt tot documenten uit het commercieel beheer moet geïnstalleerd worden via "Tools - Setup - Penguinbundels - Lijsten". Het bijbehorende bestand, Prestations SAV.pngb, kan je terugvinden in bijgevoegd zip-bestand.

In de verkoopsequentie moet met het scherm voor de mobiele applicatie instellen via "Penguin Instellen". Het bestand sav.xaml zit ook in het ZIP-bestand

Vervolgens is het nodig om deze customizer in de sequentie te installeren.

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

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {
        private const int nArt = 3;

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            if (Globals.IsMercatorPenguinServer)
            {
                billingEngine.BeforeSave += new MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventHandler(BillingEngine_BeforeSave);
                for (int i = 1; i <= nArt; i++)
                {
                    // Lijnen verwijderen in Mercator penguin
                    foreach (DataRow dr in billingEngine.LIGNES.Select(string.Format("(dl_id='{0}')", Api.Replicate(i.ToString(), 10))))
                        billingEngine.LIGNES.Rows.Remove(dr);
                    // Standaardwaarde op 1 zetten voor hoeveelheid artikel
                    if (Convert.ToDouble(billingEngine.PIEDS["Q_ART" + i]).CompareTo(0, 2) == 0)
                        billingEngine.PIEDS["Q_ART" + i] = 1;
                }
            }
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            if (Globals.IsMercatorPenguinServer)
                billingEngine.BeforeSave -= new MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventHandler(BillingEngine_BeforeSave);
        }

        void BillingEngine_BeforeSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventArgs e)
        {
            // Toevoegen van artikellijnen die reeds door Penguin waren toegevoegd
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            for (int i = 1; i <= nArt; i++)
            {
                double q = Convert.ToDouble(billingEngine.PIEDS["Q_ART" + i]);
                if ((billingEngine.PIEDS["ID_ART" + i].ToString() != "") && (q.CompareTo(0, 2) != 0))
                {
                    int n = billingEngine.AppendLine();
                    if (!billingEngine.InsertItem(billingEngine.PIEDS["ID_ART" + i].ToString(), n, q))
                    {
                        e.CancelSave = true;
                        Globals.ApiLogDelegate.Invoke("Onmogelijk artikel toe te voegen: " + billingEngine.PIEDS["ID_ART" + i]); // Wegschrijven bewerking in MercatorPenguin Log-files
                    }
                    billingEngine.LIGNES.Rows[n]["dl_id"] = Api.Replicate(i.ToString(), 10);
                }
            }
        }
    }
}

 

De schermen binnen MercatorPenguin worden als volgt weergegeven :

    penguin_sav2_NL

De schermen in Mercator zien er zo uit:

mercator_sav1_NL

 

 

 



Te laden : 0000002835.zip (3 Kb - 22-05-2018)