Ga naar inhoud

Alle activiteit

Deze stream update zichzelf

  1. Gisteren
  2. Als je handig bent met API's is het ook wel interessant om gebruik te maken van software als https://www.printnode.com/en hiermee worden ook computers apart opgeslagen en de daaronder liggende printers en papierformaten.
  3. Afgelopen week
  4. Hoi daar, ik ben nog wel wat aan het uitproberen in de lijstweergave met een popup maar vind het ingewikkeld , voor mensen die weten hoe dat moet is het waarschijnlijk een simpel klusje . is er niemand die zegt ik zal wel even wat in elkaar knutselen ,en als je dat wat lijkt heb je een voorbeeld voor jou situatie . maar schijnbaar werkt het niet zo, en misschien denk ik daar wel gemakkelijk over? Ik heb momenteel even niet te veel tijd om er mee bezig te zijn (andere verplichtingen) maar ik kom er nog wel weer op terug. Vriendelijke Groet,
  5. Ha, leuk om te zien, dank je wel. Vind het steeds een fascinerende vraag: hoe organiseer je de logica binnen een applicatie? Het is prachtig om voor een bepaald stuk functionaliteit een generieke, herbruikbare module te bouwen met gedetailleerde (json) parameterisering. De voordelen zijn duidelijk. Tegelijk is er ergens een omslagpunt: dat je beter wat kunt opsplitsen om meer complexe routines snel neer te zetten, of dat je bepaalde logica gewoon elders moet neerleggen, omdat het dan beter aansluit op andere zaken. Ik geef hier toch de voorkeur aan aparte sub-scriptjes, omdat de print-instellingen in de scriptstappen worden opgeslagen. Eén keer de verkeerde openen op een bepaalde machine, en je moet terug naar het betreffende werkstation om te herstellen.. Het is toch wel stom dat we dit niet dynamisch kunnen scripten. In serieuze productieomgevingen met meerdere labelwriters en printers heb je dit gewoon nodig. Volgens mij is er t.a.v. deze scriptstappen sinds begin jaren 90 helemaal niets veranderd.
  6. Ik ben nogal bezig met Home Assistant. Dat is een open source smart home system, zonder vendor lock-in. Wie heeft er al connecties voor gemaakt of er anderszins ervaring mee?
  7. Op zich denk ik dat je 1 script kan inrichten (kan een groot script worden). Ik probeer het in ieder geval zoveel mogelijk centraal te houden. En gebruik JSON parameters om de verschillende opties te verwerken. Dit is een voorbeeld van één van de versies die ik gebruik. Ik sleutel er nog regelmatig aan als ik weer tegen wat extra opties aanloop. # General | Print v2 in file Base (DFMO2) # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- # Function : GENERAL PRINT/PDF COMMAND # Modified : 14-09-2023 # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- // # ##### DO NOT RENAME THIS SCRIPT IT IS REFERENCED IN THE SCRIPTS TABLE BY SERIAL NO. XXX # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- Allow User Abort [ On ] Set Error Capture [ On ] // Set Error Logging [ On ] # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- # Notes: # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- # ----- PARAMETER STRING # JSONSetElement ( "" ; [ "dialog" ; false ; 5 ] // OPTIONS: true / false ; [ "output" ; "print" ; 1 ] // OPTIONS: print / pdf ; [ "record" ; "current" ; 1 ] // OPTIONS: current / browsed ; [ "pdf.append" ; false ; 5 ] // OPTIONS: true / false ; [ "pdf.open" ; false ; 5 ] // OPTIONS: true / false ; [ "pdf.file" ; "filename" ; 1 ] // Complete filepath // PDF OPTIONS ; [ "pdf.option.title" ; "" ; 1 ] ; [ "pdf.option.subject" ; "" ; 1 ] ; [ "pdf.option.author" ; "" ; 1 ] ; [ "pdf.option.keywords" ; "" ; 1 ] ; [ "pdf.option.startpage" ; "" ; 2 ] ; [ "pdf.option.allpages" ; true ; 5 ] // OPTIONS: true / false ; [ "pdf.option.firstpage" ; "" ; 2 ] ; [ "pdf.option.lastpage" ; "" ; 2 ] ) // 14-09-2023 # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- # ----- PARAMETER(S) # [record] : What are we printing? OPTIONS: current / browsed # [dialog] : Show dialog for selecting printer? OPTIONS: true / false # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- // Perform Script [ Specified: From list ; “General | Print v2” ; Parameter: JSONSetElement ( "" ; [ "dialog" ; False ; 1 ] // OPTIONS: true / false ; [ "record" ; "current" ; 1 ] // OPTIONS: current / browsed ) // 14-12-2021 ] Set Variable [ $scriptparams ; Value: Get ( ScriptParameter ) ] # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- # If [ JSONGetElement ( $scriptparams ; "record" ) = "current" ] If [ JSONGetElement ( $scriptparams ; "output" ) = "print" ] If [ JSONGetElement ( $scriptparams ; "dialog" ) ] Print [ Restore: HP OfficeJet Pro 7740 series ; With dialog: On ] Else Print [ Restore: HP OfficeJet Pro 7740 series ; With dialog: Off ] End If # Else If [ JSONGetElement ( $scriptparams ; "output" ) = "pdf" ] If [ JSONGetElement ( $scriptparams ; "dialog" ) ] If [ JSONGetElement ( $scriptparams ; "append" ) ] If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; Append ; With dialog: On ; “$pdf” ; Automatically open ; Current record ; Create folders: On ] Else Save Records as PDF [ Restore ; Append ; With dialog: On ; “$pdf” ; Current record ; Create folders: On ] End If Else If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; With dialog: On ; “$pdf” ; Automatically open ; Current record ; Create folders: On ] Else Save Records as PDF [ Restore ; With dialog: On ; “$pdf” ; Current record ; Create folders: On ] End If End If Else If [ JSONGetElement ( $scriptparams ; "append" ) ] If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; Append ; With dialog: Off ; “$pdf” ; Automatically open ; Current record ; Create folders: On ] Else Save Records as PDF [ Restore ; Append ; With dialog: Off ; “$pdf” ; Current record ; Create folders: On ] End If Else If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; With dialog: Off ; “$pdf” ; Automatically open ; Current record ; Create folders: On ] Else Save Records as PDF [ Restore ; With dialog: Off ; “$pdf” ; Current record ; Create folders: On ] End If End If End If End If # Else If [ JSONGetElement ( $scriptparams ; "record" ) = "browsed" ] If [ JSONGetElement ( $scriptparams ; "output" ) = "print" ] If [ JSONGetElement ( $scriptparams ; "dialog" ) ] Print [ Restore: HP OfficeJet Pro 7740 series ; With dialog: On ] Else Print [ Restore: HP OfficeJet Pro 7740 series ; With dialog: Off ] End If # Else If [ JSONGetElement ( $scriptparams ; "output" ) = "pdf" ] If [ JSONGetElement ( $scriptparams ; "dialog" ) ] If [ JSONGetElement ( $scriptparams ; "append" ) ] If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; Append ; With dialog: On ; “$pdf” ; Automatically open ; Records being browsed ; Create folders: On ] Else Save Records as PDF [ Restore ; Append ; With dialog: On ; “$pdf” ; Records being browsed ; Create folders: On ] End If Else If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; With dialog: On ; “$pdf” ; Automatically open ; Records being browsed ; Create folders: On ] Else Save Records as PDF [ Restore ; With dialog: On ; “$pdf” ; Records being browsed ; Create folders: On ] End If End If Else If [ JSONGetElement ( $scriptparams ; "append" ) ] If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; Append ; With dialog: Off ; “$pdf” ; Automatically open ; Records being browsed ; Create folders: On ] Else Save Records as PDF [ Restore ; Append ; With dialog: Off ; “$pdf” ; Records being browsed ; Create folders: On ] End If Else If [ JSONGetElement ( $scriptparams ; "open" ) ] Save Records as PDF [ Restore ; With dialog: Off ; “$pdf” ; Automatically open ; Records being browsed ; Create folders: On ] Else Save Records as PDF [ Restore ; With dialog: Off ; “$pdf” ; Records being browsed ; Create folders: On ] End If End If End If End If # End If # # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- // Set Error Logging [ Off ] # ----- HISTORY of CHANGES ---- # 04-11-2015 Initial script # 14-12-2021 Rebuild to JSON parameters # Changed default printer # 14-09-2023 Added pdf option
  8. Dank voor jullie reacties. Wat ik nu doe: - inderdaad één enkel centraal basisscript met een $printtype (labeltje, papierformaat) als parameter, volledig gericht op de print-opdracht. - dit script stuurt een subscript aan op naam: "print " & $printtype & " " & get ( persistentID) - het subscript moet dan bestaan, anders wordt een generieke printopdracht uitgevoerd met open dialogen. - het subscript stelt de Printer-instelling en voert vervolgens de eigenlijke printopdracht uit, als de persistentID ook klopt. Geen dialogen. Dit werkt op zich goed. Het nadeel is natuurlijk dat je voor elk werkstation waar specifieke printers zijn gewenst een apart script moet maken voor de prints. Je zou dit soort configuratie-dingetjes natuurlijk liever in de interface regelen.
  9. Printen blijft altijd een heikel punt met inregelen. Zelf gebruik ik (zoveel mogelijk) een basisscript. Dat moet je dan 1 keer inrichten, maar door middel van parameters kun je dan wel zoveel mogelijk sturen.
  10. Eerdere
  11. nope... toch niet dat ik weet... ik doe het nog altijd met de eerste keer "vragen" (dus met dialoog), en dan als global instellen dat ik het heb bewaard en dan altijd daar printen. Maar dat gaat natuurlijk enkel goed als je telkens voor die gebruiker tijdens de sessie op dezelfde printer wil printen.
  12. Beste guru's, Wat is de beste wijze om dynamisch tot een printerkeuze/instelling te komen, zodat je deze per machine/job en wellicht zelfs gebruiker kan aansturen? Zijn we echt nog steeds aangewezen op dure plugin's? Ik kom niet verder dan per machine een eigen script vast te leggen; niet bepaald dynamisch dus. Any thoughts?
  13. Check de help-pagina's voor info: https://help.claris.com/nl/pro-help/content/viewing-records.html? De tabel-weergave (alias: Excel-lay-out) is eigenlijk niet voor invoer bedoeld. Bijvoorbeeld: merge-velden zijn daarin bijvoorbeeld invoerbaar en je gebruikt dat soort velden juist omdat je dat niet wilt. Knoppen kunnen niet op de records worden getoond (in lijst kan dat wél) etc.
  14. Hallo, mag ik weten wat het verschil is, en ik wist niet dat men dat een excel-lay-out noemt , dat is de lay-out waar ik mijn gegevens op invoer. maar ik heb ook nog wel een andere, ik zal het ook plaatsen.
  15. Van het veld zelf een popup maken kan niet, maar je kunt er wel een popupknop overheen leggen. Op de popup zet je dan gewoon het veld (nog een keer). Dit heeft wel een nadeel, je kunt een object niet meer in de container slepen zonder de popup te openen. Alternatief is de knop er naast te zetten, of deels over de container.
  16. Waarom een ‘Excel’-lay-out en niet gewoon een lijstweergave? Dan kun je eventueel ook beter met knoppen en ‘normale’ velden werken. Dan werkt een extra venster (card?) ook eenvoudig om details weer te geven.
  17. Je kunt een tweede layout maken waarbij je alle gegevens van 1 record op plaatst met daarop grotere containers om de foto's te laten zien. Met een knop op beide layouts, dan kun je dan snel heen en weer schakelen.
  18. Nu gaat het mij om dat opbouwen, kun je van zo'n containerveld een popup of knop maken ,dat als je in het containerveld klikt er een venster verschijnt waar de afbeelding dan wat uitvergroot word weergegeven . ( Ik hoop dat ik mij duidelijk genoeg heb geprobeerd te verwoorden ) Graag een reactie
  19. Hallo, ik heb even een stukje van het bestand als screenshot hieronder geplaatst, zodat het voor de mensen ook wat duidelijker word waar ik mee bezig ben.De laatste twee velden zijn containers waar ik de afbeelding in heb geplaatst .
  20. Ach, ik zie dat dit allemaal al bekend was. Draadje mag weg.
  21. Dit doet hij niet uit zichzelf… als je in een container klikt selecteerd hij alleen de inhoud. Alles er omheen moet je zelf bouwen…
  22. Dit zou in versie 20.3.2 zijn opgelost. Uit de release notes: macOS Sonoma: Changing modes or reopening files caused custom toolbars to reset to defaults.
  23. Er zijn kritieke veiligheidsupdates uitgebracht voor: FileMaker Server 19.6.4 FileMaker Server 20.3.2 FileMaker Pro 20.3.2 (client) De releasenotes voor server 20 vermelden: February 2024 Version 20.3.2 Addressed issues This update provides important security fixes and is recommended for all users. A reflected cross-site scripting (XSS) attack was made possible due to returned login errors not being HTML encoded. De update is een full installer die je kunt downloaden via de ESD pagina. Zie ook https://www.claris.com/resources/downloads/
  24. In FM 17 kun je via Bewerken -> Voorkeuren ook de optie Geavanceerde Tools Gebruiken aanzetten. Dat heb ik gedaan en nu werkt CTRL+/ inderdaad. Hartelijk dank voor jullie hulp!
  25. Je hebt gelijk, ik zie het, je moet dan wel even het vinkje bij "Use advanced tools" aan zetten .... ik had fmpa even geïnstalleerd en simpelweg aangenomen dat (omdat het de advanced versie is) meteen de advanced tools actief zouden zijn. In versie 17 blijkt het ook zo te zijn.
  26. Ook in 17 hoort dit te werken. Wellicht is er een andere app die deze toetscombinatie afvangt?
  1. Laad meer activiteit
×
×
  • Nieuwe aanmaken...