Ga naar inhoud
  • 0

Uitkomst met voorwaarden (CASE??)


floris

Vraag

Wij gebruiken al geruime tijd Filmaker en zijn hier zeer tevreden over. Het systeem wordt hier gebruikt als orderafhandelingssysteem. We werken op dit moment met FM 6.

 

In het nieuwe jaar is besloten om een aantal aanpassingen te doen zodat het systeem nog gebruiksvriendelijker wordt.

 

We lopen bij de aanpassing tegen een klein probleem aan.

 

In sommige gevallen wordt er een totaal overzicht verzonden met daarin de openstaande orders/facturen. Voorheen werd hierin het bedrag van de orders weergegeven en opgeteld. Dit gebeurde d.m.v een portal. Hierdoor wordt het een tabel met inhoud.

 

Hierbij werden de administratiekosten niet meegerekend. Dit is dus verwarrend. Nu heb ik hier een oplossing voor bedacht zodat het juiste bedrag, incl. eventuele administratiekosten wel weergegeven wordt.

 

Het moet er ongeveer zo uit zien.

Als Aantal dagen overtijd >= 15 dan Totaal rekening overzicht

Als Aantal dagen overtijd >30 dan Totaal aanmaning

Anders Totaal factuur

 

Ik heb dit als volgt geprobeerd:

Case( Aantal dagen overtijd >= 15 ; Totaal rekening overzicht ; Aantal dagen overtijd >30 ; Totaal aanmaning ; Totaal factuur )

 

Hier geeft hij echter een leeg veld en er gebeurt verder niets.

 

Wie kan mij hiermee verder helpen?

Link naar reactie

11 antwoorden op deze vraag

Aanbevolen berichten

  • 0
In de velddefinitie van het betrokken berekeningsveld kan je opgeven of het resultaat moet geindexeerd worden. Dat vink je uit.

 

Deze staat uitgevinkt. En hij geeft nog steeds een leeg veld.

 

Wellicht dat ik het nog wat duidelijker uit kan leggen:

 

Het gehele programma bestaat uit verschillende schermen welke d.m.v het klantnummer gekoppeld zijn. De schermen die er zijn zijn de volgende:

- Klanten

- Order

- Offerte

- Archief order

- Archief offerte

 

De gegevens die in dit gedeelte weergegeven moeten worden komen uit order.

 

Ik heb hierin een aantal totalen als berekening. Deze worden gemaakt zodra er op een knop gedrukt wordt dat er een factuur, rekening overzicht of aanmaning gemaakt moet worden.

 

Het proces is als volgt.

Offerte maken

Order van offerte maken ( totaal excl btw )

Factuur van order maken ( totaal factuur )

Rekening overzicht ( totaal rekening overzicht )

Aanmaning ( totaal aanmaning )

 

Nu zijn er klanten die veel orders open hebben staan welke we graag een overzicht willen versturen. Voorheen gebeurde dit ook, alleen werd dit zonder eventuele administratiekosten gedaan. Om dit geheel kloppend te maken moet er dus aanmaningskosten bij. Dit gebeurt automatisch bij rekening overzicht ( + 7,50 ) en bij aanmaning ( + 15,00 ).

 

Als er een totaal overzicht verstuurd wordt moet er een combinatie gemaakt worden van alle openstaande orders met kloppende bedragen. Hier is het dus van belang dat er naar een aantal voorwaarden gekeken wordt.

 

We kijken naar het veld vervaldagen.

Als deze onder de 15 ligt moet "totaal factuur" weergegeven worden.

Als deze tussen 15 en 30 ligt moet "totaal rekening overzicht" weergegeven worden.

Als deze boven de 30 ligt moet "totaal aanmaning" weergegeven worden.

 

Dit wordt dan in een portal gedaan zodat er een automatische lijst weergegeven wordt.

 

Deze gegevens worden automatisch opgeteld en in "totaal bedrag klant".

 

Ik had dus bedacht om dit met een CASE functie te doen.

Wellicht dat je me hiermee verder opweg kunt helpen?

Link naar reactie
  • 0

BTW: Stopt een Case er ook niet mee als hij de eerste voorwaarde tegenkomt waar hij iets mee aankan, zonder de rest dan nog te bekijken?

 

In dat geval moet je die op plaatsen 1 en 2 mogelijk omkeren, of dat gaat altijd switchen tussen het eerste en het laatste, als ik er niet volledig naast zie :lol:

Ben er zo lang uitgeweest, dat ik het zelf niet meer zeker weet :oops:

Link naar reactie
  • 0

Ik heb dat zelf anders opgesteld.

De herinneringskosten en aanmaningskosten zijn aparte velden. Dit komt bij het veld Totaal Factuur op. Dat betekent dat Totaal Factuur altijd het veld is dat het te betalen bedrag aangeeft.

Een overzicht maken is dan geen probleem.

De velden Herinnering en Aanmaning kun je automatisch vullen met >15 dagen = 7,50 euro en >30 dagen = 15 euro.

 

Is een andere benadering, mogelijk een oplossing.

Link naar reactie
  • 0
Dus het probleem van omkeren kan het naar mijn idee niet zijn.

Nee, dat niet. Vandaar zei ik "By The Way". En toch denk ik dat dat ook zou opduiken.

The Case function evaluates each test expression in order, and when a True expression is found, returns the value specified in result for that expression.

... dus als iets groter is dan 30 dagen gaat hij toch het eerste resultaat weergeven, denk ik, want >30 is >15.

Link naar reactie
  • 0

Super!

 

Dit laatste bestandje blijkt de oplossing in zich te hebben.

Hieronder nog even zoals het daarin verwerkt was en vertaald naar mijn eigen situatie:

 

Stamper:

 

Case( IsEmpty(Factuurbedrag) or IsEmpty(Aantal_Dagen); "";

Aantal_Dagen <= 15; Factuurbedrag + 100;

Aantal_Dagen > 15 and Aantal_Dagen < 30; Factuurbedrag + 200 ;

Aantal_Dagen >= 30 ; Factuurbedrag + 300; "")

 

Onze variant:

CASE (

Order::Aantal dagen overtijd <= 7; Order::Totaal factuur + 0;

Order::Aantal dagen overtijd > 7 and Order::Aantal dagen overtijd < 22; Order::Totaal factuur + 7,50 ;

Order::Aantal dagen overtijd >= 22 ; Order::Totaal factuur + 22,50; "")

 

 

Voor allen die naar de oplossing gezocht hebben: DANK!

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...