Ga naar inhoud
  • 0

Portal Row van actieve record doen oplichten


AvD

Vraag

Een table met verkoopsregistraties heeft een SelfJoin op de Klant ID zodat een portal al zijn vorige aankopen toont, allemaal netjes gesorteerd op aankoopdatum.

Elke portal row heeft een GTRR-button zodat ik meteen op de geselecteerde verkoopsfiche kan komen. Wanneer ik daar ben, zou in de portal row een achtergrondkleur moeten te zien zijn.

 

Samengevat: op welke record ik ook sta van een reeks aankopen van één klant, dan wil ik steeds de portal row relaterend aan die record met een achtergrondkleur zien.

 

Drie meer dan illustere figuren op dit forum hebben daar hun nochtans spectaculaire tanden op gebroken. Bovenop de tandartskosten is er nog de herstelling van een gesmolten telefoonlijn. 't Zal ons leren het onder ons te willen oplossen zonder dit forum "raad te plegen".

 

Wie helpt?

aangepast door Gast
Link naar reactie

18 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dank, RMW, maar voor zover ik kan beoordelen is het antwoord "Nee": het gaat daar om een list view en de achtergrondkleur is scripted, het script wordt getrigggered door een klik op de list row.

 

Hier hebben we geen list, maar een portal, en de achtergrondkleur van de rows moet permanent en dynamisch zijn: geen kleur als de row niet die is van de actieve record, wel een kleur in het andere geval.

 

Tweede poging... Toch bedankt!

Link naar reactie
  • 0

In het boek scriptology (auteur is me even ontschoten, evenals het boek zelf) staat een mooie voorbeeldfile waarin wordt uitgelegd hoe een highlight gemaakt kan worden in een geselecteerde rij van een portal.

 

Even gekeken: hoofdlijn is dat over de velden in de portal row een button wordt gelegd en onder de velden een containerveld. Als op de portalrow wordt geklikt wordt een waarde ingesteld in veld waardoor in de global een afbeelding wordt geladen.

 

Nadeel van de methode is dat iedere keer als een record geselecteerd wordt de modificatiedatum van het record wordt aangepast. De modificatiedatum wil ik juist gebruiken om te achterhalen wanneer er daadwerkelijk iets gewijzigd is. Verder vind ik de benodigde overhead aan globalvelden waar dan weer afbeeldingen in moeten niet handig.

aangepast door Gast
Link naar reactie
  • 0

Geen idee in hoeverre dit kan helpen in 7/8, het is een 6 oplossing die ik gebruik.

 

Even in plain Vlemnish:

 

Je gaat met GTRR naar een record, en dan wil je de info van dat record highlighted in je portal. GTRR is een script.

 

Ik heb 1 script, Set highlight:

Set Field (currentPortalRow_gn, Status(CurrentPortalRow)

Set Field (currentRecord_gn, Status(CurrentRecordID)

 

De globals zitten in mijn Developers layout., samen met de kleurcontainer

 

Op de portalrow heb ik een calculation container unstored

Case(currrentRecord_gn = Status(CurrentID);Get Rep(highlightColor_gcon;1)

 

Dit doet het elke keer en bij elke navigatie, indien Set highlight wordt aangeroepen.

 

Bottom line: gelijkheid = kleur, geen gelijkheid - geen kleur.

 

Heb je hier iets aan ? Voorlopig nog geen idee hoe dit in 78 te doen, maar ik denk dat je groot en sterk genoeg bent om dat even zelf uit te vinden (en het mij dan te laten weten...

aangepast door Gast
Link naar reactie
  • 0
Nadeel van de methode is dat iedere keer als een record geselecteerd wordt de modificatiedatum van het record wordt aangepast.

 

Dat kun je opvangen door de navigatie uit de controleroutine voor de modificatiedatum te halen.

 

de benodigde overhead aan globalvelden waar dan weer afbeeldingen in moeten

 

Toch maar 1 global repeat voor alle afbeeldingen ¿¿

 

Of alle mogelijke afbeeldingen en achtergrodkleuren ed. in een afzonderlijk bestand/tabel. Ieder record met afzonderlijke 'verzameling'.

Dmv een relatie/scriptje kun je dan eenvoudig door de verschillende items 'wandelen' tot je de juiste te pakken hebt.

Leuk speeltje om de gebruiker 'zelf' de achtergrondkleur te laten bepalen, simpel drag en drop - listo....

Link naar reactie
  • 0
Als op de portalrow wordt geklikt wordt een waarde ingesteld in veld waardoor in de global een afbeelding wordt geladen.

Dat is het nu juist: er mag helemaal niet geklikt worden en het is niet de bedoeling te ZIEN op welke row ik geklikt heb. Ik wil met één oogopslag op een record met portal zien waar deze record in de tijdslijn zit. Petrowsky en Osborne helpen hier niet, vrees ik. Wat ik nodig heb, is een zuivere unstored calculation permanent actief zonder scripting.

Toch weer bedankt voor het meedenken!!

Link naar reactie
  • 0

Net op Mike geantwoord en nu komt onze goede vriend Jean binnengevallen. Ik hoor aan zijn zware stap dat hij ook een script bij heeft. Ik duik dus meteen weg, want dat wil ik niet (die ik was oorspronkelijk de opdrachtgever, maar nu is ik ik omdat ik anders ik niet kan zijn).

Ik begin te vrezen dat het niet kan, temeer daar ik een paar kilometers verder de echo hoor galmen van mijn dorpsgenoot voor wie dat in S. een koud kunstje is. Zelfs de tip die hij gaf, doet het niet, maar kan misschien als vetrekpunt dienen. Als ik via AutoEnter by Calculation de Sales ID in een global krijg, en dan een relatie leg van die global naar alle Sales records, dan kan ik met een doodgewone If checken welke van alle sales records een kleurvlaggetje moet krijgen (dat natuurlijk niet OP de record getoond wordt, maar IN de portal). We hebben daar een uurtje mee geprutst en het toen opgegeven.

 

Goed, dus. Opnieuw de lont aan de vraag.

 

Welke naam beitel ik op dat bronzen standbeeld met Carrara-voet en ingebouwde halogenen?

Link naar reactie
  • 0

Jamaar mijn goede vriend,

 

effe terug naar boven....:

 

Elke portal row heeft een GTRR-button zodat ik meteen op de geselecteerde verkoopsfiche kan komen

 

..en terug hier:....Op welke manier werkt dat ¿¿

Je kunt natuurlijk de linkerkolom van de knoppekesaanduiding daarvoor gebruiken, maar dat raad ik mijn studenten af, dus jou niet aan.

Blijft dus een scripteke over....

 

Nog eens terug naar boven....:

 

...wanneer ik daar ben...

 

... is dus aangekomen in het bewuste record....steeds donker hoe je daar geraakt....

 

Komaan André, iets minder vaag, de discussie laait op hier en ik ben de enige die tegenargumenten geeft.....en ik loop op het einde van mijn munitie.....

 

Analoog aan de opgegeven benadering zou je ook de set field dingetjes in een unstored calculatie kunnen poefen...en vandaaruit een vergelijking loslaten op een constant aangepaste ID lijst en relationeel een match vinden, maar dat lost nog altijd niet het duistere navigatieprobleem op...

 

In hoeverre kan de ik, voor de ik ik was, zoveel 'willen' of eerder 'niet willen', aangaande zaken die eigenlijk 'achter' de schermen zitten ¿¿

Kun je dat niet omzeilen door een 'dummy' iets te bouwen ¿¿

...is een idee van een studente....

Link naar reactie
  • 0

Ik probeer het beter uit te leggen. Eerst en vooral: vergeet dat van die GTRR button want die doet niet ter zake: ik kan op mijn salesrecord terechtkomen door een simpele Find of door een Quick Access portal met GTRR vanuit het hoofdmenu op basis van de eerste letters van de klantnaam, of om het even hoe. Ik sta dus op die record. En daar staat ook die portal, en op die portal zie ik alle broertjes van mijn record: alle aankopen van die ene klant, gesorteerd op datum, de oudste aankoop bovenaan. Als ik op de eerste record (NIET row) van de reeks sta, dus de record van de eerste aankoop, bijvoorbeeld in januari twee jaar geleden, dan zie ik in de portal die aankoop helemaal bovenaan staan, gevolgd door alle andere. Ik wil dan in die eerste row een rood bolletje zien. Kom ik door een find (ik zocht bijvoorbeeld alle aankopen van maart 2004 op) op een record die de derde verkoop is aan een andere klant Huppelepup, dan wil ik die derde verkoop met een rood bolletje zien staan, uiteraard op de derde portaalrij. Ik klik dus nergens op, ik wil gewoon op een record dingen kunnen zien. De portaalrij krijgt dus een rode kleur als ik op de record sta die in die portaalrij getoond wordt. Blader ik met de Rolodex in het statuspaneel links naar de volgende record van de reeks (gesteld dat ze op datum gesorteerd zijn), dan wil ik op de volgende record zien dat het bolletje daar één row lager staat. En als ik op de record van de laatste aankoop van die klant sta, dan staat dat bolletje in de laatste row. Een soort doodgewone dashboard-functie dus, waar ze bij S mee lachen.

 

 

En... dat lukt me niet... Noch het bolletje, noch de lach! :cry:

Link naar reactie
  • 0

Na wat gepuzzel vrees ik dat het zonder scripting (met script natuurlijk makkie) of externe functie niet mogelijk is, Fm evalueert met bladeren de actieve record niet en vult de nodige globale enkel in met de waarden van de laatst aangemaakte record.Tijd voor een nieuwe functie dus Get(ActiveRecord).Die zou zelfs handig kunnen zijn voor diverse toepassingen

Link naar reactie
  • 0

Na wat meer gepuzzel werkt het volgende als je de zippscript wil gebruiken toch

//Calculatieveld wat steeds het script triggert

If ( Aankoop 2::Aankoop_Id <> 0 ;

Actief & zippScript_PerformScript( Get( BestandsNaam ); "ACTIEF"; "Actief = " &Actief; 2)

;"SMILE")

 

Daar Fm wel het portaal evalueert zorg ik ervoor dat bij het bladeren de evaluatie niet gelijk is en laat zippscript triggeren wat op zijn beurt de globale waarde invult om de highlite te tonen.Dit zou redelijk vlot moeten gaan en geen oponthoud geven bij het bladeren.

Link naar reactie
  • 0

Dat kost me dus vijf tot zes ton Carrara-marmer, een ploeg van drie beeldhouwers, het afhuren van een Venetiaanse galabalzaal en het laten smeden van een gouden FileMaker box afgezet met veertien rijen loepzuivere fancy briljanten van 8 karaat elk. De graveerkosten op de box zullen nogal meevallen: "Murtje" is een korte naam. Hopelijk kiest hij nu geen al te groot lettertype.

Link naar reactie
  • 0

Bon, ze zijn aan het beeld aan het werken, daar niet van...

Maar met een SelfJoin op de klant ID lukt het ons niet, ondanks het feit dat de logica van je redenering inderdaad perfect overkomt: that's the way to do it. Je voorbeeld met een "toon alles"-portal doet het ook perfect. Ik begrijp niet wat die SelfJoin daar beperkend op zou doen.

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...