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

Programmering rond portable terminals: customizer en events

0000002184     -      23-07-2022

Mercator herkent de customizer BarcodeTerm. Deze reageert op de volgende-interfaces MercatorUi.ICustomizers:

  • IBarcodeTermCreated: bij het aanmaken van een concrete klasse die afhangt van BarcodeTerm
  • IBarcodeTermClosed: wanneer deze klasse al bestaat. (Bijvoorbeeld omdat de klasse BarcodeTermPTFILE vervangen wordt door BarcodeTermPT600 – dit komt later aan bod)
  • IStringUpdater: om een effect te hebben op de SQL-opdracht om een artikel te zoeken op basis van een gescande barcode.

Met behulp van deze laatste interface is het mogelijk om de wijze waarop Mercator de artikels identificeert vanaf de door de portable terminal ingescande sleutels, te wijzigen.

BarcodeTerm antwoordt ook op de events die idealiter geregistreerd worden door IBarcodeTermCreated en uitgeschreven worden via IBarcodeTermClosed:

  • BeforeSelectFile: vervangt met name ptfile.prg. Dit event wordt gestopt voor het bestand geselecteerd wordt. De bijbehorende eventArgs bevat een eigenschap FileToSelect. Indien dit wordt aangevuld met de bestaande bestandsnaam, dan vraagt Mercator niet de naam van het bestand in het dialoogvenster maar dan gebruikt Mercator het het bestand rechtstreeks. Op deze manier wordt elke ontwikkeling op basis van om het even welke terminal automatiseerbaar, op voorwaarde dat deze bestanden produceert die compatibel zijn met de PtFile. (Dit event wordt niet gestopt voor terminal PT600)
     
  • BeforeInsert: event uitgevoerd voor elke geïmporteerde lijn net voor deze in het document wordt ingevoegd. eventArgs bevat met name de volgende eigenschappen:
    • CurrentBarCode: DataRow stemt overeen met de barcode die geïmporteerd wordt. De content kan worden gewijzigd. (voorbeeld: een barcode 'reinigen')
    • CancelInsert: op true te plaatsen indien u deze lijn niet wenst te importeren.
       
  • AfterInsert: event uitgevoerd voor elke geïmporteerde lijn net nadat deze in het document wordt ingevoegd. eventArgs bevat met name de volgende eigenschappen:
    • CurrentBarCode: DataRow stemt overeen met de barcode die geïmporteerd werd.
    • DataRowWhereInserted: de lijn waarin het artikel werd geplaatst. Indien een lot lijnen geïmporteerd werd dat overeenstemt met een SSCC, dan krijgt u de laatste lijn.

De sessie van het object 'terminal portable' zit in MercatorUi.Globals.BarcodeTerm.

 

Voorbeeld: zie deze pagina