Jump to content
  • 0

Script onderbreken,


cubalibre

Question

Hoe kan ik een printscript zo instellebn dat zodra een script word onderbroken hij alsnog naar een bepaalde layout gaat.

 

In het programma bij mij zit een afdrukken script en als die geannuleerd word komt die in een layout die alleen aanwezig is om te printen en waar dus geen uitweg in zit. Is er iets te maken dat hij bij annuleren vanzelf naar een bepaald script gaat?

 

Thanks

Link to comment

9 answers to this question

Recommended Posts

  • 0
Mogen we het volledige script even zien ?

 

Hier is voorbeeld, de regel afdrukken is met dialoog venster omdat men hier dan het aantal kan invullen. Als je hem bij de dialoog venster op annuleren drukt krijg ik het layout te zien waar die op dat moment in staat en dan zit je vast in het programma en moet je het afsluiten voordat het weer werkt.

 

Thanks

annuleren.thumb.jpg.b0da760109f538de90d282d4bc1e0a1d.jpg

Link to comment
  • 0

De keuze van een layout voor het printen is bepaald.

 

Het printen is met dialoog, terwijl de printerinstellingen al bepaald zijn.

 

Waarom dan nog het printen laten onderbreken ?

 

Bepaal het aantal in een variabel veld (al of niet herhalend) of een temp global of via een custom dialog.

 

Een script laten onderbreken zonder degelijke opvang kan de gebruiker inderdaad op een niet wenselijke plaats planten, dus werk je er best omheen.

Link to comment
  • 0

JeanWM, Ik zie dat je inmiddels al geantwoord hebt. Kan onderstaande het probleem niet omzeilen?

 

Zet bovenaan je script

Set Error Capture ON

 

Zet vervolgens na Afdrukken[]

If ( Status (CurrentError) = 1) commentaar:#Error 1: User canceled action

Ga naar layout (originele layout)

else

....

 

end if

 

Zoiets. Ik heb geen Filemaker 6 meer dus moest even graven. Errorcodes zijn volgens mij gelijk gebleven

Link to comment
  • 0
De keuze van een layout voor het printen is bepaald.

 

Het printen is met dialoog, terwijl de printerinstellingen al bepaald zijn.

 

Waarom dan nog het printen laten onderbreken ?

 

Bepaal het aantal in een variabel veld (al of niet herhalend) of een temp global of via een custom dialog.

 

Een script laten onderbreken zonder degelijke opvang kan de gebruiker inderdaad op een niet wenselijke plaats planten, dus werk je er best omheen.

 

Dit omdat het aantal printjes zelf moet aangeven, dit wil ik niet uit een veld halen. Vandaar

Link to comment
  • 0
JeanWM, Ik zie dat je inmiddels al geantwoord hebt. Kan onderstaande het probleem niet omzeilen?

 

Zet bovenaan je script

Set Error Capture ON

 

Zet vervolgens na Afdrukken[]

If ( Status (CurrentError) = 1) commentaar:#Error 1: User canceled action

Ga naar layout (originele layout)

else

....

 

end if

 

Zoiets. Ik heb geen Filemaker 6 meer dus moest even graven. Errorcodes zijn volgens mij gelijk gebleven

 

 

Top dit bedoelde ik, had er zelf ook op kunnen komen zie ik nu. Heb nu geen printer dus kan niet echt testen of het werkt maar zover ik kan testen werkt het.

 

Thanks,

Link to comment
  • 0

Dat kan het probleem omzeilen.

 

Maar voor we aan een omzeilen van een probleem beginnen zou ik graag willen weten of het 'scheppen' van een probleem echt nodig is.

 

In het gegeven script zie ik het niet onmiddellijk.

 

1.De af te printen layout wordt met voorwaarden bepaald (de syntax kan anders, maar daar hebben we het even niet over)

 

2. De printerinstelling wordt met een dialoog bepaald

 

Dan heb je eigenlijk al alle informatie, enkel het 'aantal' te printen.

 

Dat kan dan opgevangen worden in b.v. een variabele (een veld), of met een custom dialog.

En dat verwerk je even in het script.

 

Tot nu toe hebben we nog altijd geen reden om in dit stadium het script te onderbreken.

 

Een gebruiker een script laten onderbreken is altijd een beetje gevaarlijk. Je weet haast nooit waar FM daadwerkelijk zit in het process en dat moet je kunnen opvangen.

Indien onderbreken niet echt nodig is, vergt het opvangen onnodig werk en voorzieningen 'voor het geval dat...'.

 

Vandaar dat ik geen voorstander ben om een routine te onderbreken enkel om de luxe van het onderbreken te hebben.

 

Mijn scripts beginnen tenandere altijd met het aanroepen van een Allow User Abort [] script op Off.

 

Maar ik sta open voor ideeen.

 

My 0.5 centavos.

Link to comment
  • 0
Dat kan het probleem omzeilen.

 

Maar voor we aan een omzeilen van een probleem beginnen zou ik graag willen weten of het 'scheppen' van een probleem echt nodig is.

 

In het gegeven script zie ik het niet onmiddellijk.

 

1.De af te printen layout wordt met voorwaarden bepaald (de syntax kan anders, maar daar hebben we het even niet over)

 

2. De printerinstelling wordt met een dialoog bepaald

 

Dan heb je eigenlijk al alle informatie, enkel het 'aantal' te printen.

 

Dat kan dan opgevangen worden in b.v. een variabele (een veld), of met een custom dialog.

En dat verwerk je even in het script.

 

Tot nu toe hebben we nog altijd geen reden om in dit stadium het script te onderbreken.

 

Een gebruiker een script laten onderbreken is altijd een beetje gevaarlijk. Je weet haast nooit waar FM daadwerkelijk zit in het process en dat moet je kunnen opvangen.

Indien onderbreken niet echt nodig is, vergt het opvangen onnodig werk en voorzieningen 'voor het geval dat...'.

 

Vandaar dat ik geen voorstander ben om een routine te onderbreken enkel om de luxe van het onderbreken te hebben.

 

Mijn scripts beginnen tenandere altijd met het aanroepen van een Allow User Abort [] script op Off.

 

Maar ik sta open voor ideeen.

 

My 0.5 centavos.

 

Je heb helemaal gelijk, maar aan de hand van een berekening kan ik uit laten rekenen hoeveel vellen etiketpapier ik nodig heb maar om dit aantal automatisch over te nemen voor printen vind ik gevaarlijk. Ik heb overlegd maar het is echt beter als de medewerker die hier mee werkt zelf het aantal printjes ingeeft. Alleen die foutafvanging werkte niet dan dan zitten ze vast in een veld en moeten ze het programma opnieuw opstarten omdat ik statuspaneel uitgeschakeld heb kunnen ze dan niets.

 

Thanks in ieder geval,

Link to comment
  • 0
...aan de hand van een berekening kan ik uit laten rekenen hoeveel vellen etiketpapier ik nodig heb maar om dit aantal automatisch over te nemen voor printen vind ik gevaarlijk.

 

Als je je script onderbreekt met een custom dialog, neem je de berekende waarde niet automatisch over. Het is de gebruiker die de waarde invult.

 

Die waarde zet FM dan in een variabel veld (al of niet herhalend - hangt ervan af hoe je design gemaakt werd) die dan ingelezen wordt door je printscript.

 

Binnen je custom dialog kun je de berekende waarde oproepen en tonen aan de gebruiker. De eindbeslissing ligt dan nog altijd bij de gebruiker.

 

Het blijft mogelijk, maar ik raad het niet aan, om op dat punt alsnog je script te onderbreken en een re-direct te doen adhv Status ( CurrentMessageChoice )=....

Link to comment

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