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

0000002834     -      08-06-2018

MercatorPenguin 2.0 maakt het wijzigen van documenten uit het commercieel beheer mogelijk. Niet alle velden van een document zijn wijzigbaar.In dit stadium van de ontwikkeling heeft het alleen betrekking op de hoofding van het document en niet op de integriteit ervan. Met andere woorden is het alleen mogelijk om de referentie, de datum, de vervaldatum en alle toegevoegde vrije velden te wijzigen.Aan de andere klant kunnen de klant, de leverancier, de storting, de valuta en wisselkoers, ofwel alle velden die door de functie UpdateAmounts worden berekend niet gewijzigd worden. Verkooplijnen uit een document zijn bijgevolg niet wijzigbaar. Dit laatste punt voorkomt het invoeren van artikelen niet. Dit voorbeeld laat zien hoe dit mogelijk is.

De toegang tot het document wordt gedaan vanuit een bundel van het type "Lijst", via de knop BillingEditButton, waarvan volgende eigenschappen meegegeven worden:

  • BillingTypeVA = V voor een verkoop, A voor een aankoop
  • BillingId = id van het document uit d tabel PIEDS_V/A
  • BillingJournal = het journaal
  • BilingPiece = het documentnummer
  • BillingType = de waarde van het veld TYPE uit de tabel PIEDS_V/A
<m:BillingEditButton Text="Modifier" Font="Small" 
BillingTypeVA="V" BillingId="@ID" BillingJournal="@JOURNAL" BillingPiece="@PIECE" BillingType="@TYPE" />

De layout van het scherm binnen MercatorPEnguin moet aangemaakt worden in XAML, dit kan gedaan worden vanuit het instellingenscherm voor Actie Modellen in "Tools-Setup-Acties modellen" van Mercator en met behulp van deze dropdown:

Het is toepasselijk om een afzonderlijke versie per taal aan te maken. (Alleen de werkelijk gebruikte talen moeten dan worden ingevuld). De XAML-parametrering maakt gebruik van EditControls.

Het bijgevoegd zip-bestand bevat enkele voorbeeldinstellingen.

Wat de voorraadwijzigingen betreft wordt MercatorPenguinServer tweemaal aangesproken:

  1. Voor het lezen van de gegevens
  2. Voor het bewaren van de gewijzigde/toegevoegde gegevens

MercatorPenguin is per definitie stateless, er is geen enkele relatie tussen deze 2 stappen. Concreet betekent dit dat een actie die door MercatorPenguinServer gemaakt of geopend is, niet open blijft totdat deze is opgeslagen.

Bij elke stap wordt MercatorUi.Main gebruikt, daarom bevatten onderstaande statische eigenschappen altijd de waarde die overeen komt met de huidige Mercatorpenguin-gebruiker

  • MercatorUi.Globals.Langue
  • MercatorUi.Globals.UserId
  • MercatorUi.Globals.CurrentUser
  • MercatorUi.Globals.CurrentUserRecord
  • ...

De toegangsrechten worden ook gecontroleerd.


Bij elke stap worden de verschillende codes die zich in de customizer van het actie-model bevinden uitgevoerd. Er is echter een uitzondering voor codes die gerelateerd zijn aan de events die door de ActionForm worden opgeroepen. Inderdaad, de laatste wordt nooit geïnstantieerd door MercatorPenguin.

Gebruik binnen elke C#-code deze test om te weten of de customizer werkt onder MercatorPenguinServer:

Zoom
if (MercatorUi.Globals.IsMercatorPenguinServer)
{
    ...
}

 

 Er is geen mechanisme dat je waarschuwt indien de actie bewerkt wordt door een andere gebruiker tijdens het lezen en wegschrijven van de data. Het volledige record dat overeenkomt met een actie wordt telkens opnieuw ingelezen, alleen de velden die gebruikt worden in de XAML-parametrering kunnen gewijzigd worden. Indien men tijdens het bewaren vaststelt dat de actie momenteel door een andere gebruiker gewijzigd wordt zal MercatorPenguin een bericht weergeven dat het bewaren tijdelijk niet mogelijk is.



Te laden : 0000002834.zip (2 Kb - 30-05-2018)