Hoe wordt vastgesteld of mutaties dubbel zijn? (gevorderden)

Inleiding en definities

Het werkblad kan bij het importeren van mutaties zelf vaststellen of mutaties al eerder zijn geïmporteerd. Bovendien kan het desgewenst automatisch mutaties updaten. Op deze pagina wordt uitgelegd wanneer mutaties "dubbel" of "verdacht" zijn, wanneer ze worden geüpdate of gewist worden en hoe u dit zelf kunt beïnvloeden. Om onderstaande uitleg goed te kunnen volgen is het belangrijk dat u de betekenis van de in het Rekeningoverzicht gebruikte velden (kolommen) en de onderstaande definities kent:

Begrip Definitie
Basisvelden Info
Extra velden Info
Marcovelden Info
Specificatie Er is sprake van een Specificatie als aan een mutatie tenminste één niet-lege post is toegewezen.
B-mutatie Een al voor het importeren op het werkblad Rekeningoverzicht van de Excel-werkmap aanwezige mutatie. B staat voor "Bestaand".
N-mutatie Een mutatie uit het bronbestand dat momenteel wordt geïmporteerd. N staat voor "Nieuw".
Verschillende mutaties Mutaties die een verschillend UniekID hebben.
Gelijkwaardige basisvelden De basisvelden van twee mutaties zijn gelijkwaardig als aan de volgende twee criteria is voldaan:
  1. De mutaties dezelfde waarden hebben voor de velden Datum, Tegenrekening, Totaalbedrag, Rekening en Code, en
  2. Voor zowel de velden Naam en Mededelingen geldt:
    1. Beide mutaties hebben exact dezelfde waarde voor het veld, of
    2. De velden zijn identiek op spaties en regelovergangen na, of
    3. Het ene veld begint met het andere (bijvoorbeeld "auto" en "automobiel")
Verdachte mutaties Als verschillende mutaties hetzelfde financiële feit lijken te beschrijven, dan zijn deze mutaties verdacht. Verdachte mutaties hebben gelijkwaardige basisvelden en mogelijk verschillende specificaties.
Dubbele mutaties Twee of meer verschillende mutaties waarvan met zekerheid (of met aan zekerheid grenzende waarschijnlijkheid) is vastgesteld dat ze hetzelfde financiële feit beschrijven. Dubbele mutaties hebben gelijkwaardige basisvelden en mogelijk verschillende specificaties.

Procedure

De functie MarkeerDubbelen() in de klasse CMutaties heeft de taak dubbele en verdachte mutaties op te sporen, te updaten en/of te wissen. Deze functie wordt aangeroepen nadat de geïmporteerde mutaties (op het werkblad Import) aan het werkblad Rekeningoverzicht zijn toegevoegd (overzicht van alle stappen in de importeerprocedure). Geïmporteerde mutaties krijgen als Status "Wachtend", bestaande mutaties hebben als status "Verwerkt" of "Gemarkeerd" en zijn zo van elkaar te onderscheiden.

Verdachte en dubbele mutaties hebben dezelfde of gelijkwaardige basisvelden. De functie MarkeerDubbelen() gaat als volgt te werk op de op een datum en vervolgens op rekening gesorteerd overzicht:

  1. Bepaal de set van mutaties met gelijkwaardige basisvelden
    Een zo groot mogelijke set van verdachte mutaties wordt bepaald. Als deze set uit slechts één mutatie bestaat, dan kunnen er geen dubbele mutaties zijn voor de huidige basisvelden en kan zoeken dus verder gaan bij de volgende mutatie.
     
  2. Bepaal beste mutatie en "upgrade" desgewenst de rest van de set
    De functie Voorkeursmutatie() in de klasse CMutaties bepaalt wat mutatie met de beste waarden voor de velden Naam, Mededelingen en Volgnummer is. Als zo'n mutatie bestaat, dan wordt de actie die de gebruiker heeft ingesteld bij de regel MutatieVeldenUpdaten uitgevoerd:
    Melden De gebruiker wordt gevraagd wat er moet gebeuren.
    Ja  De waarden van de velden Naam, Mededelingen en Volgnummer van de voorkeursmutatie worden overgenomen op de overige mutaties in de set.
    Nee Er wordt niets gedaan en de gebruiker krijgt ook geen melding.
  3. Indien voor de regel MutatieVeldenUpdaten "Ja" was ingesteld, of de gebruiker bij "Melden" had gekozen voor "Ja", dan treedt de regel MutatieNKMUpdaten in werking:
    Melden De gebruiker wordt gevraagd of het veld "Naam, Kenmerk, Mededelingen" ook moet worden bijgewerkt.
    Ja  De waarden van het veld "Naam, Kenmerk, Mededelingen" van de voorkeursmutatie wordt overgenomen op de overige mutaties in de set.
    Nee Er wordt niets gedaan en de gebruiker krijgt ook geen melding.

  4. Wis of markeer dubbele mutaties in overleg met de gebruiker
    Van de (mogelijk bijgewerkte) mutaties in de set van verdachte mutaties wordt nu gekeken hoeveel B- of N-mutaties er in zitten.
    • Alleen B-mutaties
      De situatie kan niet voorkomen, omdat MarkeerDubbelen() een set van mutaties met gelijkwaardige basisvelden opbouwt rondom een N-mutatie.
       
    • Eén B-mutatie en één N-mutatie
      Bij één N-mutatie en één B-mutatie wordt de actie als volgt bepaald:
      Specificatie? Regel
      Nee, geen van beiden <Wis de nieuwe mutatie zonder bericht aan gebruiker.>
      N: nee, B: ja <Wis de nieuwe mutatie zonder bericht aan gebruiker.>
      N: ja, B: nee ActieBijNwMutMeerSpecs
      Ja en identiek <Wis de nieuwe mutatie zonder bericht aan gebruiker.>
      Ja en verschillend BehoudenBijVerschSpecs

    • Twee of meer N-mutaties
      Bij tenminste twee N-mutaties wordt de actie als volgt bepaald:
      Bron van N-mutatie Regel
      Versie 0.6 export ActieBijVerdachteMutsInBG06
      Anders ActieBijVerdachteMutsInBron

Regels

In onderstaande tabel staan de regels die bij importeren (kunnen) worden toegepast.

N.B. Deze staan overigens op tabblad "Geavanceerd" van het formulier Importopties in dezelfde volgorde.

Regel Diagnose en consequenties
MutatieVeldenUpdaten Als in de set een mutatie is met betere waarden voor de velden Naam, Mededelingen en Volgnummer (dit wordt bepaald door de functie Voorkeursmutatie()), dan kunnen deze waarden worden overgenomen naar de andere mutaties. Of dat gebeurt is afhankelijk van MutatieVeldenUpdaten.
 
Waarde Consequentie
Melden De gebruiker wordt gevraagd wat er moet gebeuren.
Ja  De waarden van de velden Naam, Mededelingen en Volgnummer van de voorkeursmutatie worden overgenomen op de overige mutaties in de set.
Nee Er wordt niets gedaan en de gebruiker krijgt ook geen melding.
MutatieNKMUpdaten Indien voor de regel MutatieVeldenUpdaten "Ja" was ingesteld, of de gebruiker bij "Melden" had gekozen voor "Ja", dan treedt de regel MutatieNKMUpdaten in werking en wordt mogelijk ook de waarde "Naam, Kenmerk, Mededelingen" van de "beste" mutatie overgenomen naar de andere mutaties in de set:
Waarde Consequentie
Melden De gebruiker wordt gevraagd of het veld "Naam, Kenmerk, Mededelingen" ook moet worden bijgewerkt.
Ja  De waarden van het veld "Naam, Kenmerk, Mededelingen" van de voorkeursmutatie wordt overgenomen op de overige mutaties in de set.
Nee Er wordt niets gedaan en de gebruiker krijgt ook geen melding.
ActieBijNwMutMeerSpecs Deze regel treedt in werking als er een set van twee mutaties met gelijkwaardige basisvelden is, waarbij de éne een N-mutatie is en de andere een B-mutatie en de N-mutatie een uitgebreidere specificatie heeft dan de B-mutatie. Mogelijke te nemen acties zijn:
Waarde Consequentie
Nieuwe De nieuwe mutatie met uitgebreidere specificatie vervangt de bestaande (aanbevolen).
Bestaande De nieuwe mutatie wordt gewist, ook al heeft die een uitgebreidere specificatie.
Beiden Beide mutaties worden behouden.
Markeren Beide mutaties worden behouden en hun Status wordt ingesteld op "Gemarkeerd".
Melden De gebruiker wordt de situatie uitgelegd en desgewenst wordt de keuze van gebruiker onthouden
BehoudenBijVerschSpecs Deze regel treedt in werking als er een set van twee mutaties met gelijkwaardige basisvelden is, waarbij de éne een N-mutatie is en de andere een B-mutatie. Mogelijke te nemen acties zijn:
Waarde Consequentie
Nieuwe De bestaande mutatie wordt vervangen door de nieuwe.
Bestaande De nieuwe mutatie wordt gewist.
Beiden Beide mutaties worden behouden.
Markeren Beide mutaties worden behouden en hun Status wordt ingesteld op "Gemarkeerd".
Melden De gebruiker wordt de situatie uitgelegd en desgewenst wordt de keuze van gebruiker onthouden
ActieBijVerdachteMutsInBG06 Er zijn tenminste twee N-mutaties met dezelfde basisvelden. Als de nieuwe mutaties met gelijke basisvelden afkomstig zijn uit een v0.6 exportbestand, dan is de actie afhankelijk van ActieBijVerdachteMutsInBG06:
Waarde Consequentie
Alles Alle mutaties worden behouden.
Nieuwe De nieuwe mutaties worden behouden, waarschijnlijk niet zinnig.
Bestaande De bestaande mutaties worden behouden.
Markeren Beide mutaties worden behouden en hun Status wordt ingesteld op "Gemarkeerd".
Melden De gebruiker wordt de situatie uitgelegd en desgewenst wordt de keuze van gebruiker onthouden
ActieBijVerdachteMutsInBron Er zijn tenminste twee N-mutaties met dezelfde basisvelden. De actie afhankelijk van ActieBijVerdachteMutsInBron:
Waarde Consequentie
Alles Alle mutaties worden behouden.
Nieuwe De nieuwe mutaties worden behouden, waarschijnlijk niet zinnig.
Bestaande De bestaande mutaties worden behouden.
Markeren Beide mutaties worden behouden en hun Status wordt ingesteld op "Gemarkeerd".
Melden De gebruiker wordt de situatie uitgelegd en desgewenst wordt de keuze van gebruiker onthouden