Jump to content
  • 0

Uitkomst met voorwaarden (CASE??)


floris

Question

Posted

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?

11 answers to this question

Recommended Posts

  • 0
Posted

Hmm... waar kan ik dat vinden?

 

Er wordt een lijst weergegeven welke op ordernummer gesorteerd is.

 

Ik heb voor de duidelijkheid even een screenshot bijgevoegd zodat het geheel wellicht wat duidelijker wordt.

screenshot.gif.7b3ac355ecd91e3fcfc6a6f21c0b4a6e.gif

  • 0
Posted
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?

  • 0
Posted

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:

  • 0
Posted

Of the case er mee stopt weet ik niet. Ik heb gerprobeerd om het met één voorwaarde toe laten werken. Ook dit werkt niet.

 

Dus het probleem van omkeren kan het naar mijn idee niet zijn.

  • 0
Posted

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.

  • 0
Posted

Helaas,

 

Het hele programma is inmiddels al een aantal jaren in gebruik en blijkt nogsteeds een aanwinst te zijn.

 

Als ik dus deze dingen moet gaan aanpassen is het een zeer grote klus.

 

Wellicht komen er nog andere reacties?

  • 0
Posted
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.

  • 0
Posted

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!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...