Ga naar inhoud

Roger

Leden
  • Items

    357
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door Roger

  1. 22 uren geleden, bigbadwolf zei:

    Denk niet dat dit is wat hij bedoeld. Probleem is een bestand uit een container exporteren en toevoegen aan de mail. Dat gaat niet met deze methode.

    Denk wel dat dit is wat ik bedoel 😃
    En om dit goed te laten werken vanaf de server moet de mail via SMTP-Server worden verstuurd.

    Bijgevoegd het hierop aangepaste voorbeeld van Infomatics.

    Bedankt Ruben! En Menno ook bedankt voor jouw reactie maar via MS Office was niet mijn bedoeling.

    send email.fmp12

  2. Stel je hebt een serie losse velden die je tevens als button hebt ingesteld. Veldinvoer in blader- en zoekmodus is ingesteld als niet toegestaan. Aan elk veld hangt hetzelfde script. Kan ik dan met een scriptstap in het script dat aan de betreffende button (veld) hangt, de veldinhoud in een variabele instellen zonder het specifieke veld expliciet aan te wijzen in het script. 

    Ik heb wat zitten experimenteren met Get ( ActiveFieldContents ) en Get ( ActiveLayoutObjectName ) maar dat leidde niet tot het gewenste resultaat. 

     

  3. Mijn "foutje" was 😊 dat ik dacht dat je kon volstaan met het stellen van je Case ( B = 1 ; en dat je daarachter meteen je volgende voorwaarde kon zetten, zoals je in feite ook doet als je geen Case gebruikt. Om het echter goed te laten werken moet je Case leiden naar een Result: True (1) or False (0). 

    Ik dacht dus dat het zo kon:

    not IsEmpty ( bk_RG__res_nr::#05_sex ) and 
    not IsEmpty ( bk_RG__res_nr::#04_name ) and 
    not IsEmpty ( bk_RG__res_nr::#03_surname ) and 
    not IsEmpty ( bk_RG__res_nr::#06_birth_date ) and 
    not IsEmpty ( bk_RG__res_nr::#09_birth_country )and 
    not IsEmpty ( bk_RG__res_nr::#10_nationality ) and 
    not IsEmpty ( bk_RG__res_nr::#13_res_country ) and

    Case ( bk_RG__res_nr::#09_birth_country = 100000100 ; not IsEmpty ( bk_RG__res_nr::#07_birth_mun ) ) and 
    Case ( bk_RG__res_nr::#13_res_country = 100000100 ; not IsEmpty ( bk_RG__res_nr::#11_res_mun ) ) and

    Case (
    bk_RG__res_nr::#_vr = 1 ; 
    not IsEmpty ( bk_RG__res_nr::#16_ID_number ) and 
    not IsEmpty ( bk_RG__res_nr::#15_ID_type ) and
    not IsEmpty ( bk_RG__res_nr::#17b_ID_country ) and

    Case ( bk_RG__res_nr::#10_nationality = 100000100 ; not IsEmpty ( bk_RG__res_nr::#17a_ID_mun ) )
    )

    Maar het moet dus zo:

    not IsEmpty ( bk_RG__res_nr::#05_sex ) and
    not IsEmpty ( bk_RG__res_nr::#04_name ) and
    not IsEmpty ( bk_RG__res_nr::#03_surname ) and
    not IsEmpty ( bk_RG__res_nr::#06_birth_date ) and
    not IsEmpty ( bk_RG__res_nr::#09_birth_country ) and
    not IsEmpty ( bk_RG__res_nr::#10_nationality ) and
    not IsEmpty ( bk_RG__res_nr::#13_res_country ) and

    Case ( bk_RG__res_nr::#09_birth_country ≠ 100000100 ; 1 ; not IsEmpty ( bk_RG__res_nr::#07_birth_mun ) ; 1 ; 0 ) and
    Case ( bk_RG__res_nr::#13_res_country ≠ 100000100 ; 1 ; not IsEmpty ( bk_RG__res_nr::#11_res_mun ) ; 1 ; 0 ) and

    Case (
    bk_RG__res_nr::#_vr ≠ 1 ; 1 ;
    not IsEmpty ( bk_RG__res_nr::#16_ID_number ) and
    not IsEmpty ( bk_RG__res_nr::#15_ID_type ) and
    not IsEmpty ( bk_RG__res_nr::#17b_ID_country ) ; 1 ; 0 and

    Case ( bk_RG__res_nr::#10_nationality ≠ 100000100 ; 1 ; not IsEmpty ( bk_RG__res_nr::#17a_ID_mun ) ; 1 ; 0 )
    )

  4. Ik was intussen zover gekomen:

    Case ( B = 1 ; not IsEmpty ( A ) ) werkt niet
    Case ( B ≠ 1 ; IsEmpty ( A ) ) werkt wel

    Bedankt voor jouw toelichting Menno. Ik denk dat ik er nu wel uit moet kunnen komen.

  5. 1 uur geleden, Banach zei:

    Het voorbeeld dat je geeft werkt bij mij als beschreven. Wellicht zit er in jouw complexere situatie een foutje.

    Hm.. eigenlijk zeg je dus dat ik een foutje heb gemaakt, interessant 😁

  6. Een object op je layout verbergen als aan een bepaalde voorwaarde wordt voldaan. Ik gebruik deze functie veelvuldig maar loop nu toch te klooien. Ik wil het namelijk nog wat voorwaardelijker maken met een "Case". Dus bijvoorbeeld, object niet tonen wanneer Veld A niet leeg is. Maar dan alleen als Veld B = 1. Is Veld B ≠ 1 dan moet de hele verberg-functie genegeerd worden.

    Mijn functie ziet er zo uit: Case ( Veld B = 1 ; not isEmpty ( Veld A ) )

    Doe ik hier iets fout?

  7. Ik ontdekte dat op layouts waar de lijnen paars i.p.v. zwart werden getoond, dit leidde tot problemen in de pdf. Klanten meldden ons ineens dat ze facturen niet meer konden openen met Acrobat, wel met Voorvertoning. Ik kon dit oplossen door de lijnen te vervangen. Het probleem dat de lijnen op het beeldscherm verdwijnen als op de layout wordt ingezoomd werd niet opgelost.

    Scherm­afbeelding 2024-03-25 om 10.27.26.png

  8. Ik was benieuwd, wanneer je data uit een Excel file wilt importeren en je Excel bevat meerdere tabbladen (werkbladen), of je tegenwoordig in je script kan aangeven uit welk tabblad data geïmporteerd moet worden. Hier werd ooit in 2010 een vraag over gesteld op dit forum. Toen kon het niet en nu kan het nog niet. Prima. Wel jammer dat je zo een extra dialog in je proces krijgt waar keuzes gemaakt moeten worden waarmee de gebruiker de procedure nat kan laten gaan. 

    Ik heb wat zitten experimenteren met tabbladen te verbergen en te beveiligen. Eveneens geëxperimenteerd met zogeheten Named Ranges; een serie cellen die je een naam geeft en die dan ook door FM als importoptie worden aangeboden. Maar wat je ook doet, je krijgt het niet voor elkaar dat FM je die dialog niet voorschotelt. Saillant, FM is zelfs graag bereid alle data te importeren, dus ook data van beveiligde en verborgen tabbladen/kolommen/named ranges. Ik denk dat menig Excel adept die zijn gevoelige data toevertrouwt aan zorgvuldig beveiligde spreadsheets zich dat niet realiseert.

     

  9. 14 minuten geleden, Banach zei:

    Ik zou zeggen: probeer het eens! 😀

    Ja das een goeie Banach! Dat ik daar nou niet opkwam... Ik zie niet hoe het zou moeten en tegelijkertijd verbaas ik me erover dat deze functionaliteit niet in FM zit. Vandaar toch maar de vraag gesteld. Wellicht is er een plugin voor o.i.d. Ik hoopte eigenlijk dat iemand een goede tip had.

  10. Op 28-3-2010 om 16:22, Willem_P zei:

    maar ik zoek een mogelijkheid om tijdens het lopen van dit script een weeknummer in te voeren dat verwijst naar het door mij gezochte tabblad

    Een worksheet/tabblad of zelfs een named range opnemen in je script, kan dit 14 jaar later eigenlijk nog steeds niet?

  11. 1 uur geleden, bigbadwolf zei:

    Die optie is er niet, omdat er technisch geen verschil in zit.

     

    Hm.. dan doe ik blijkbaar iets fout of zie ik iets over het hoofd. In bijgevoegd plaatje zie je twee layouts. In de voor iOS aangemaakte layout heb ik invloed op de kleur van het onderste balkje, hier wit. In de andere heb ik die invloed niet en is deze lichtgrijs. Dit deel behoort niet tot de eigenlijke layout maar is in iOS wel zichtbaar. En dan vind ik het wel zo fijn dat dit de kleur aanneemt van de layout zodat het één geheel lijkt. Mij lukt het i.i.g. niet om dit voor elkaar te krijgen in een layout aangemaakt als Computer layout. Mocht jij tips hebben hoe je dit wel voor elkaar krijgt dan hoor ik die heel graag! 😀

    Schermafbeelding 2022-02-23 om 15.06.33.png

  12. Dank voor ieders bijdrage. Op zich verhelderend maar het roept nog wel de vraag op, wanneer moét je nu echt een commit doen? Je kunt natuurlijk redeneren dat bij iedere recordwijziging een vastlegging kan plaatsvinden onder het mom van, baat het niet dan schaadt het niet. Maar je wilt je scripts ook niet onnodig lang maken. Een GTRR via een interface-layout o.b.v. globals, al dan niet in een new window, vereist bijvoorbeeld geen commit om het juiste record te tonen. Dus even om het goed te begrijpen, met dit script:

    Set (global) field [ INTERFACE::factuur_nr ; FACTUUR::klant_nr ]
    Go to Layout [ "Interface" ]
    Go to Related Record [ interface_KLANT__klant_nr ; Using layout: "klant" ]

    is een commit na de 1e scriptstap niet nodig voor de goede werking. (Ben je het daarmee eens Menno?) Maar is het dan zo dat het INTERFACE record gelockt is en blijft, zodat een andere gebruiker niet ook dit script kan uitvoeren? Volgens mijn test die ik gedaan heb niet. Komt dat door het feit dat het veld in INTERFACE een global is? In mijn test maakt het namelijk zelfs niet uit wanneer je op de ene client actief je cursor in dat veld hebt staan, op de andere client kun je ook dan dit script gewoon draaien.

    Om dit helder te krijgen heb ik ter test van INTERFACE::factuur_nr even een non-global veld gemaakt. Werkt het dan nog? Gedeeltelijk, namelijk: zonder actieve commit in het script wordt nog steeds het juiste record getoond. De commit heeft echter op de achtergrond wel plaatsgevonden getuige de andere client waarop te zien is dat INTERFACE::factuur_nr gewijzigd is. Ook op de andere client kan het script probleemloos worden uitgevoerd, behalve als op de eerste client men actief in het veld staat. Want dan krijg je de bekende foutmelding dat dit record gewijzigd wordt door een andere gebruiker.

    Ik weet, dit is hele basale materie maar wel belangrijke, in mijn optiek. Nuttige aanvullingen hierop zijn dan ook welkom!

     

     

     

     

     

     

     

     

  13. Als ik naar mijn oude werk kijk kom ik vaak de scriptstap Go to field tegen waar ik daar tegenwoordig Commit record voor gebruik. Ik vraag me af, zit daar qua wat het doet eigenlijk veel verschil in? Ik weet, bij Commit heb je de mogelijkheid Dialog On/Off en opties als Skip data entry validation en Override ESS locking conflicts. Maar deze opties gebruik ik nooit en ik weet ook niet wanneer ik die zou moeten gebruiken. Ik ben eens benieuwd, wie kan hier iets interessants over vertellen?

  14. Ah.. je denkt dus dat dit een bug is. Irritant, ik heb hier weer veel tijd mee verloren. Onder 18 doet het zich ook voor wat mij deed vermoeden dat dit manier is waarop het werkt (of beter gezegd, niet werkt). Ik zal het rapporteren. 

    PS: Leuke manier (via scriptparameter) van je variabelen in te stellen btw! 

  15. Hoi Menno, was het nog geen bedtijd of stond je nog op wintertijd? 😉 Ik ben heel blij met jouw snelle reactie hoor want ik weet nu waar bij mij het probleem zat en nu kan ik tenminste verder. Ik had een auto-calculatie op mijn tekstveld die de tekst-formats verwijdert. Als je die erop zet werkt het helaas niet. Maar dat offer ben ik bereid te brengen. Dank!

     

×
×
  • Nieuwe aanmaken...