Report: Request form boolean

rtamesrtames Member Posts: 56
edited 2009-04-20 in NAV Dutch speaking only
Hallo,

op een rapport request form heb ik een boolean gemaakt waarmee ik wil bereiken dat als deze wordt aangevinkt een label in het rapport zichtbaar wordt. Als deze uitstaat moet het label dus niet aanstaan.

enig idee hoe ik dit voor elkaar krijg?

robbert

Comments

  • lyotlyot Member Posts: 202
    1) Label control een naam geven: vb. lblLabel1
    2) lblLabel.VISIBLE := blnBool


    blnBool is uw boolean in kwestie.
    Waar code (2) geplaatst wordt hang af van het het volgende:
    1) is de waarde van blnBool gekend bij starten van het rapport? ja/nee
    2) kan een gebruiker de waarde van blnBool nog wijzigen op de requestform? ja/nee
  • rtamesrtames Member Posts: 56
    Ik heb een label op het report aangemaakt met de naam lblkopie
    een global variabele aangemaakt kopie type Boolean en geplaatst op het Request Form.
    de code heb ik geplaatst in onprereport

    lblkopie.VISIBLE := kopie;

    ik krijg nu de foutmelding dat lblkopie geen Global Variabele is. Als ik deze aanmaak krijg ik de foutmelding dat VISIBLE niet herkend wordt.
  • lyotlyot Member Posts: 202
    Probeer eens het volgende:

    RequestOptionsForm.Controls.lblKopie.VISIBLE := kopie
  • rtamesrtames Member Posts: 56
    Helaas.

    ik krijg dan een foutmelding dat Controls geen variabele is.
  • lyotlyot Member Posts: 202
    Kun je anders eens een stuk van de code posten in tekst?
    Met desbetreffende trigger/dataitem/... waar code wordt opgeroepen.
  • rtamesrtames Member Posts: 56
    In het report zit voor de rest geen code. het is een heel simpel rapport.
  • lyotlyot Member Posts: 202
    Ok ik denk dat ik je vraag verkeerd heb gelezen...
    Het label in kwestie zit in je rapport en niet op de requestform...

    Ok dan valt dit enkel op te lossen met een nieuwe sectie die een kopie is van de huidige.
    Maar dan zonder het bewuste label.

    Op de presection trigger van beide secties zet je dan respectievelijk volgende code:

    CurrReport.SHOWOUTPUT(kopie)

    CurrReport.SHOWOUTPUT(NOT kopie)


    Afhankelijk van de boolean waarde wordt nu de sectie met of zonder label afgedrukt.
  • DenSterDenSter Member Posts: 8,307
    Ik denk niet dat SHOWOUTPUT een erg handige oplossing is. Je zou dan twee secties moeten hebben, eentje met en eentje zondar dat label.

    Iets handiger naar mijn mening: ipv een label, gebruik een textbox, want in rapporten kan je namelijk labels niet onzichtbaar maken in runtime. Maak een nieuwe global aan die 'KopieTekst' heet, type text, en de lengte die je nodig hebt. Zet die variabele als de SourceExpr van je nieuwe textbox. Dan in de OnPreReport trigger:
    IF (kopie = TRUE) THEN BEGIN
      KopieTekst := 'Dit is een kopie';
    END ELSE BEGIN
      KopieTekst := '';
    END;
    
    Kijk naar de standaard documenten, daar zit iets soortgelijks in, alleen wordt daar de 'KopieTekst' gezet aan de hand van de NoOfCopies variabele, maar dat is het zelfde principe.
  • lyotlyot Member Posts: 202
    Idd DenSter zijn oplossing is een stuk beter en esthetischer =D>
Sign In or Register to comment.