Ga naar inhoud

bigbadwolf

Leden
  • Items

    722
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door bigbadwolf

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

     

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

  3. 17 hours ago, Kees van den Berg said:

    Maar dit werkt niet ,als ik in het veld container klik gebeurd er niets met de afbeelding die ik erin gesleept heb, eigenlijk moet er en popup venster komen waarin de hoes op halve grote word weergegeven  , ik heb er wel wat over gelezen maar en ben er ook al iets me bezig geweest ,het popup venster kwam ook maar zonder afbeelding,dus daar gaat wat fout.

    Dit doet hij niet uit zichzelf… als je in een container klikt selecteerd hij alleen de inhoud. Alles er omheen moet je zelf bouwen…

  4. Weet je zeker dat de bewust gebruiker rechten heeft om op de bewust plek te mogen schrijven?

    Tot nu toe zijn vergelijkbare problemen die ik heb ondervonden opgelost door te zorgen dat de bewust fonts voor ALLE gebruikers op de PC geïnstalleerd zijn. Helaas is het zo dat dit vanuit de foutmelding niet bepaald duidelijk is… die laat het voordoen alsof je niet mag schrijven…

    Andere probleem kan zijn dat het font defect is.

    Heb je het probleem alleen met een specifieke lay-out? Dan zit het of in de fonts, of in een object op de lay-out.

  5. Runtime is sowieso geen goed plan. Die zijn namelijk niet meer up-to-date met de nieuwste features. En daardoor loop je het risico dat het een keer niet wil draaien op een systeem.

    Je kunt overwegen een server te installeren en het als verticale oplossing aan te bieden. Je zou daarvoor een SLA kunnen nemen bij Claris.

    Heb het zelf nog nooit gedaan, ik maak alleen custom made toepassingen per klant. Weet ook niet exact de ins en outs van deze regelling.

    Er zijn ontwikkelaars die verticale oplossingen aanbieden, dus misschien is er eentje online die je hier meer over kan vertellen.

  6. Als het cruciaal is dat de kassa blijft werken kun je niet anders dan lokaal te werken en te synchroniseren.

    Het maakt het inderdaad meer complex, maar een internet fallback maakt het ook niet eenvoudiger. Dan zit je ook weer met routering per locatie – voor de gemiddelde gebruiker een vaag begrip.

    Het ligt er ook aan hoe bedrijfskritisch het is dat de host altijd de de laatste verkopen heeft. Als het voldoende is om dat dagelijks te hebben zou je kunnen overwegen lokaal te werken en bij het afsluiten van de kassa een sync te laten uitvoeren.

  7. Niet zo heel gek dat het verwarrend is.

    FileMaker heeft in het verleden de wonderlijke keuze gemaakt dat je als ontwikkelaar moet bepalen op welk platform je werkt… dus als je een oude(re) database hebt moest je vroeger de prefix filewin/filemac/etc. gebruiken. Dit heb ik eerlijk gezegd nooit begrepen en het is in mijn ogen dan ook één van de meest idiote verzinsels binnen FileMaker. Ze weten immers op welk platform je zit, dus waarom met jij als ontwikkelaar bedenken wat de prefix moet zijn… met alle mogelijk problemen die eruit voorkomen als je dat per ongeluk verkeerd doet…

    Gelukkig is dat tegenwoordig niet meer nodig… maar dat maakt de frustatie niet minder… ;o)

  8. Vergeet niet een klacht in te dienen bij de Belgische ACM (neem aan dat ze een vergelijkbare instantie hebben). Het mag als onbeduidend klinken, maar als iedereen die iets dergelijks meemaakt dit doet is de kans groter dat er van ‘bovenaf’ maatregelen komen om te zorgen dat hier voorzieningen voor moeten worden gemaakt.

    Zoals Menno aangeeft… ik vertrouw Cloud-diensten tot aan de voordeur. Daarom zorg ik er zoveel mogelijk voor dat ik data ook offline heb staan en niet alleen vertrouw op het altijd maar beschikbaar zijn van Cloud-diensten.

  9. Eerste zou een uitdaging zijn vermoed ik. Misschien dat de MBS plug-in het kan, maar die kan zoveel dat ik het niet uit mijn hoofd weet.

    Voor wat betreft het tweede punt wordt dat ook lastig, het kan namelijk alleen als de output webviewer bevat. Alleen die zijn in staat html als opgemaakt tekst weer te geven.

×
×
  • Nieuwe aanmaken...