Het verwijderen van artikelen op rust

0000002377     -      22-08-2016

Mercator kan artikelen op rust verwijderen. Deze verwijdering gebeurt in één enkele handeling.

  • Hetzij voor alle artikelen op rust (S_SOMMEIL=1)
  • Hetzij enkel voor de artikelen in de actieve filter die op rustend staan

Deze functionaliteit is beschikbaar in het menu "Artikelen". Standaard is dit uitschakeld. Het is dus noodzakelijk om hier toegang tot te geven, dit kan door in de gebruikersinstellingen in het tabblad "Blokkeren -> Beheer", de checkbox "Rustende Artikels verwijderen" uit te kruisen.

Om de consistentie van de database te behouden (vreemde- en foreign keys respecteren), zal Mercator uiteindelijk alle verwijzingen naar dit artikel in aan- en verkoopdocumenten en depottransfers vervangen door een artikel met volgende karakteristieken:

  • geen stockopvolging
  • geen serienummerbeheer
  • geen lotbeheer

Dit artikel moet gedefinieerd worden in "Tools - Opties - Bestanden - Artikel voor het verwijderen van rustende artikelen" (ID_ART_SOM).

Voor het verwijderen van de rustende artikelen, zal Mercator controleren of deze kandidaten niet opgenomen zijn in één van volgende categorieën:

  • Artikelen met serienummerbeheer
  • Artikelen met lotbeheer
  • Artikelen die opgenomen zijn in samengestelde artikelen, artikelen die child zijn van andere artikelen en dus geen kandidaat zijn voor verwijdering.
  • Artikelen die opgenomen zijn in "Tools - Kortingen" (aan- en verkopen)

Indien dit het geval is, informeert er een venster de gebruiker dat deze artikelen niet verwijderd zullen worden. Hier kan men dan ook het proces onderbreken.

Bij het effectief verwijderen van rustende artikelen, voert Mercator volgende operaties uit (in functie van de gevonden tabellen in het dossier):

  • Records verwijderen in ARTFOU die afhankelijk zijn van deze artikelen
  • Records verwijderen in TARCLI die afhankelijk zijn van deze artikelen
  • Records verwijderen in TARPREST die afhankelijk zijn van deze artikelen
  • Records verwijderen in ARTLIENS die afhankelijk zijn van deze artikelen
  • Records verwijderen in TACTSIG die afhankelijk zijn van deze artikelen
  • Referenties naar deze artikelen wijzigen in LIGNES_V
  • Referenties naar deze artikelen wijzigen in LIGNES_A
  • Referenties naar deze artikelen wijzigen in LIGNES_D
  • Referenties naar deze artikelen wijzigen in ACTIONS
  • Koppelingen tussen informatiebestanden naar deze artikelen verwijderen.
  • Bestanden (zowel op disk als in SQL) overbrengen naar een subdirectory van fileView/sqlFileView. De naam van deze subdirectory is het ID van het verwijderde artikel.
 
In voorkomend geval, kan men de query die deze verwijdering uitvoert wijzigen vij de customizer SigStock. die de interface IStringUpdater. Het id van deze query is DELETE_INACTIVE_ITEMS.
 
Belangrijke opmerking:
Als er DISK-bestanden gekoppeld zouden zijn aan te verwijderen artikelen via een FileView, moeten we eerst zorgen dat de huidige User het recht heeft om mappen in het gedeelde volume dat deze bestanden host te verplaatsen. De overdracht van deze bestanden wordt uitgevoerd na het verwijderen in SQL. Het is daarom niet mogelijk om terug te keren naar de oorspronkelijke toestand indien je geen rechten hebt om bestanden te verplaatsen. (Het probleem doet zich niet voor bij SQL-bestanden, omdat hun verplaatsing uitgevoerd wordt tijdens het verwijderen.)