Installatie van een OPOS-driver voor printer en / of lade

0000002647     -      09-01-2024

Hieronder vindt u een voorbeeld van de OPOS-driverconfiguratie.

 OPOS werkt niet in .net core. De opmerking bovenaan deze pagina bekijken.

Toshiba lade

  1. Sluit de kassalade aan
  2. Installeer de UPOS-installatie van Toshiba
    • kies POS-apparaat
    • herstarten
  3. Voer in C: \ POS \ BIN \ uit in de beheerdersmodus OPOSConfig.exe
  4. Specificeer de ONLINE-lade
  5. Klik op Configureren
  6. Definieer een naam voor de lade
  7. Device Demo-knop
  8. Klik op Demo
  9. Open lade
  10. Open de lade eerst handmatig
  11. Klik op Ok
  12. Sluit de lade
  13. Ok
  14. Sluit deze tool af
  15. Doe de update van 32-bits Mercator
  16. Plaats de twee DLL's (zie hieronder) in de hoofddirectory van Mercator
  17. Vul STRING_TIR en PORT_TIR in "Extra / Opties / Uitrusting Kassa" in met de naam van de lade gedefinieerd in punt 6 hierboven
  18. Voeg de customizer Main toe
    Zoom
    // <ReferenceInclude>"POS.Devices.Opos_Constants.dll"</ReferenceInclude>
    // <ReferenceInclude>"POS.Devices.OPOSCashDrawer.dll"</ReferenceInclude>
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using MercatorApi;
    using MercatorUi;
    using System.Reflection;
    using System.Windows.Forms;
    using POS.Devices;
    using POS;

    namespace Main
    {
        public class Customizer : MercatorUi.ICustomizers.IExec
        {
            public void Main(MercatorUi.ICustomizers.ExecAction Action)
            {
                if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
                {
                    MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawer += new MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerEventHandler(MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer);
                }
                if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
                {
                    MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawer -= new MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerEventHandler(MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer);
                }
            }
            void MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer(MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerEventArgs e)
            {
                POS.Devices.OPOSCashDrawer tiroir = new POS.Devices.OPOSCashDrawer();
                int rc = 0;
                rc = tiroir.Open(Globals.ParamPos["PORT_TIR"]);
                if (rc != (int)OPOS_Constants.OPOS_SUCCESS)
                {
                    Dialogs.Stop(((OPOS_Constants)Enum.ToObject(typeof(OPOS_Constants), rc)).ToString());
                    e.Result = MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerResultEnum.Failed;
                    return;
                }
                rc = tiroir.ClaimDevice(200);
                tiroir.DeviceEnabled = true;
                if (rc != (int)OPOS_Constants.OPOS_SUCCESS)
                {
                    Dialogs.Stop(((OPOS_Constants)Enum.ToObject(typeof(OPOS_Constants), rc)).ToString());
                    e.Result = MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerResultEnum.Failed;
                    return;
                }
                rc = tiroir.OpenDrawer();
                if (rc != (int)OPOS_Constants.OPOS_SUCCESS)
                {
                    Dialogs.Stop(((OPOS_Constants)Enum.ToObject(typeof(OPOS_Constants), rc)).ToString());
                    e.Result = MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerResultEnum.Failed;
                    return;
                }
                e.Result = MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerResultEnum.Done;
                tiroir.DeviceEnabled = false;
                tiroir.ReleaseDevice();
                tiroir.Close();
            }
        }
    }

     
  19. Herstart Mercator

 

Epson-lade

  1. Sluit de kassalade aan
  2. Installeer het installatieprogramma OPOS ADK voor .NET (voor Microsoft .NET Framework 4.0 of hoger) vanaf 03/09/2020 geleverd door Epson
    Indien nodig moet Microsoft POS voor .NET zijn geïnstalleerd
  3. Start het geïnstalleerde installatieprogramma van EPSON OPOS ADK
    • Voeg een nieuw element toe via de "Toevoegen" knop
      Voltooi de zones
      • Logical Device Name: definieer een logische naam voor de kassalade (bijvoorbeeld: "Lade")
      • Device Category: selecteer "CashDrawer"
      • Device Name : Standard

    • Knop “Next”
    • Port Type: kies de gebruikte poort en definieer de verschillende vereiste waarden.
    • Knop “Next”
    • "Drawer Open Status" : kies "HIGH signal"
    • Knop “Done”
    • Om de configuratie te valideren, selecteert u de lade in de lijst en selecteert u met de rechtermuisknop "CheckHealth": het antwoord moet positief zijn.

  4. Doe de update van Mercator (32 bits)
  5. Plaats de twee DLL's (zie hieronder) in de hoofddirectory van Mercator
  6. Vul PORT_TIR in "Tools / Opties / Uitrusting Kassa " in met de naam van de lade gedefinieerd in punt 3 hierboven
  7. Voeg de customizer Main toe
    Zoom
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using MercatorApi;
    using MercatorExtensions;
    using MercatorUi;
    using System.Reflection;
    using System.Windows.Forms;
    using POS.Devices;
    using POS;
    using Microsoft.PointOfService;

    // <ReferenceInclude>"C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.PointOfService\v4.0_1.14.1.0__31bf3856ad364e35\Microsoft.PointOfService.dll"</ReferenceInclude>
    // <ReferenceInclude>"POS.Devices.Opos_Constants.dll"</ReferenceInclude>
    // <ReferenceInclude>"POS.Devices.OPOSCashDrawer.dll"</ReferenceInclude>

    namespace Main
    {
        public class Customizer : MercatorUi.ICustomizers.IExec
        {
            public void Main(MercatorUi.ICustomizers.ExecAction action)
            {
                switch (action)
                {
                    case MercatorUi.ICustomizers.ExecAction.DossierOpen:
                        MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawer += MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer;
                        break;
                    case MercatorUi.ICustomizers.ExecAction.DossierClose:
                        MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawer -= MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer;
                        break;
                }
            }

            void MercatorUiFormsBillingBillingObjectsPayments_BeforeOpenCashDrawer(MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerEventArgs e)
            {
                string strLogicalName = Globals.ParamPos["PORT_TIR"];
                CashDrawer m_Drawer = null;
                try
                {
                    //Create PosExplorer
                    PosExplorer posExplorer = new PosExplorer();
                    DeviceInfo deviceInfo = null;
                    deviceInfo = posExplorer.GetDevice(DeviceType.CashDrawer, strLogicalName);
                    m_Drawer = (CashDrawer)posExplorer.CreateInstance(deviceInfo);
                    //Open the device
                    //Use a Logical Device Name which has been set on the SetupPOS.
                    m_Drawer.Open();
                    //Get the exclusive control right for the opened device.
                    //Then the device is disabled for other applications.
                    m_Drawer.Claim(1000);
                    //Enable the device.
                    m_Drawer.DeviceEnabled = true;
                    m_Drawer.OpenDrawer();
                    e.Result = MercatorUi.Forms.Billing.BillingObjects.Payments.BeforeOpenCashDrawerResultEnum.Done;
                }
                catch (PosException ex)
                {
                    MessageBox.Show(_Divers.Iif_langue(Globals.Langue, "Fehler beim Öffnen der Schublade : ", "Error opening drawer : ", "Fout bij openen lade: ", "Erreur ouverture tiroir caisse : ") + "\r\n\r\nBillingPayments_BeforeOpenCashDrawer() :\r\n" + ex.ToString());
                    //Nothing can be used.
                    return;
                }
                finally
                {
                    //Finish using the device.
                    if (m_Drawer != null)
                        m_Drawer.Close();
                }
            }
        }
    }

     
  8. Herstart Mercator
  9. Het wordt aanbevolen om eerst de opening van de kassalade te testen via het printerstuurprogramma en te controleren of deze correct werkt.

 



Te laden : 0000002647.zip (42 Kb - 20-06-2016)