Heart-Profit ERP

Heart-Profit Boards => Heart-Profit Releasenotes => Topic started by: Heart Informatisering B.V. on April 05, 2019, 08:21:20 am



Title: ADS - REPLACE foutegelopen in Alias TEMP
Post by: Heart Informatisering B.V. on April 05, 2019, 08:21:20 am
Exceloverzicht "Nog te Faktureren verkooporderregels" (LOPRFVEX), te vinden vanuit Hoofdmenu-3-1-8-3-1-2 blokkeerde in de ADS versie met een melding "Replace foutgelopen in Alias TEMP".

De eigenlijke melding zou hier zijn geweest 'Variable DATGLVRD_W is not found', welke melding in de VFP versie ook getoond zou zijn, maar in ADS nu niet getoond wordt omdat ze optreedt tijdens een REPLACE opdracht (technisch verhaal, gaan we niet verder op in).

De fout werd veroorzaakt door een kombinatie van faktoren. Op een Verkooporder (20190305008) werd op regel 24 een Kostenregel opgenomen met een tarief per Liter. Dat impliceert dat dat tarief berekend moet worden over alle geleverd aantal Liters op die order. Hiervoor moet via de Raaplijsten worden gekeken welke hoeveelheden er geleverd zijn. So far so good, ware het niet dat na de ontwikkeling van deze print, er nog een filter bij is gekomen waarmee gefilterd kan worden op "alleen alles wat geleverd is t/m datum dd-mm-yyyy".

In het konkrete voorbeeld werd een overzicht opgevraagd t/m 31-03-2019 maar waren de goederen op 03-04-2019 geraapt waardoor ze niet mochten meetellen in de berekening. Het aantal eenheden wat voldeed was daarmee 0 Liters. Op zich ging dat nog niet fout, maar, informatief bevatte het overzicht ook "de datum" van de levering, en aangezien die niet bepaald kon worden (omdat alle leveringen werden afgekeurd) blokkeerde de funktie.

Saillant detail was dat het Kostentarief welke was opgenomen een tarief van USD 0,00 / L betrof, en daarmee feitelijk 'zinloos' was. In alle andere geteste voorbeelden betrof dit gewoon een vast bedrag van 0,00 om duidelijk te maken dat een klant bijv. geen Palletkosten hoeft te betalen; nu is zo'n bedrag opgenomen "per Liter" wat vervolgens triggert dat Profit dient te berekenen "hoeveel liters" er geleverd zijn. Ook van dat laatste zou kunnen worden gesteld dat dat zinloos is, immers, "iets" maal 0,00 is altijd 0,00. Toch gebeurt dit omdat berekeningen zijn afgeleid van de Fakturatie, die in zo'n geval toch altijd op de Faktuur moet kunnen printen dat er 10.000 L is geleverd x een prijs van 0,00.

FunktieOmschrijvingDtm.Vl.WyzDtm.L.Wyz
LOPRFV2     Omschrijving (nog) niet bekend    17-05-2018    05-04-2019