Showroom verkoop met MercatorPenguin

0000002992     -      13-04-2021

De hier getoonde configuratie laat zien hoe het volgende scenario geïmplementeerd kan worden: verschillende verkopers begeleiden klanten in een showroom en geven de verkoop in realtime in MercatorPenguin. Aan het einde van de verkoop wordt het opgeslagen in MercatorPenguin en heropend op Mercator Desktop om het af te ronden en verder te gaan met de betaling.

De ronde begint met het gebruik van een bundel van het type "Lijst" die een knop weergeeft waarmee een nieuwe verkoop kan worden ingevoerd. Door op deze knop te klikken, wordt de verkoper gevraagd zich te identificeren (via de AskUser-eigenschap). Vervolgens wordt de verkoop gecodeerd zoals beschreven op deze pagina. Zodra de verkoop is gevalideerd, wordt het eerste scherm automatisch vernieuwd (via de eigenschap RefreshListViewAfterValidation) en verschijnt het in dit tweede formulier.

showroom1_nl     showroom2_nl

Met de knop "Wijzigen" kunt u deze verkoop hervatten om deze te voltooien. De QR-code is bedoeld om door Mercator Desktop te worden gescand om deze verkoop onmiddellijk te openen en af te ronden door bijvoorbeeld over te gaan tot de betaling.

Deze bundel is hier te downloaden.

De onderstaande code kan idealiter in een knop op het Mercator Desktop-lint worden geplaatst. Hiermee kan dit document worden heropend op basis van de inhoud van de QR-code.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;
using MercatorUi;

// <CompileWithRoslyn />

namespace Mercator.Ribbon.ButtonsCodes
{
    public static class Script
    {

        public static void Exec(DevComponents.DotNetBar.ButtonItem clickedButtonItem)
        {
            // enter your customized code here

            string qrCode = MercatorUi.Dialogs.AskString("QR-code ?", "");
            if (string.IsNullOrEmpty(qrCode))
                return;
            if (qrCode.Length != 27)
            {
                MercatorUi.Dialogs.Stop("De QR-code heeft niet de verwachte lengte !");
                return;
            }
            if (!Int64.TryParse(qrCode.Substring(16, 10).TrimStart(), out Int64 piece))
            {
                MercatorUi.Dialogs.Stop("De QR-code heeft niet het verwachte formaat ! (piece)");
                return;
            }
            if (!int.TryParse(Api.Right(qrCode, 1), out int type))
            {
                MercatorUi.Dialogs.Stop("De QR-code heeft niet het verwachte formaat ! (type)");
                return;
            }
            string id = qrCode.Substring(1, 10);
            string journal = qrCode.Substring(11, 5);
            MercatorUi.Globals.Main.ShowBillingExisting("V", type, id, journal, piece);
        }
    }
}

 

Voorbeeld van inhoud van @lastBillingSaved: V3JG4KTUYEGBrou 517