[solved] text globals met meerdere dimensions

Adriaan2kAdriaan2k Member Posts: 159
edited 2007-10-03 in NAV Dutch speaking only
hallo navision kenners. Ik zou graag weten waar ik de inhoud van global textvelden kan vinden en wijzigen. Bijvoorbeeld op de faktuurlayout staan de adresvelden Custaddr[1], Custaddr[2] etc. Dit zijn globals van het datatype text met in de properties dimensions 8. Ik begrijp hieruit dat er 8 verschillende waarden uit diverse velden gehaald kunnen worden, echter ik wil deze kunnen aanpassen. Kan iemand mij vertellen waar ik dan kan vinden waar bijv. de inhoud van het veld custaddr[1] staat vermeld ? Ik heb in de code van het report gekeken, maar kan daar niets vinden. Alvast weer bedankt voor jullie hulp.
mvg Adriaan

Comments

  • tinoruijstinoruijs Member Posts: 1,226
    Hoi Adriaan,

    In rapport 206 wordt er gebruik gemaakt van functies in codeunit 365 - Format Address. In deze codeunit wordt het adres samengesteld.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • Adriaan2kAdriaan2k Member Posts: 159
    tinoruijs wrote:
    Hoi Adriaan,

    In rapport 206 wordt er gebruik gemaakt van functies in codeunit 365 - Format Address. In deze codeunit wordt het adres samengesteld.

    Hallo Tino, bedankt voor je snelle reactie. Betekent dit dat ik daar geen wijzigingen in kan aanbrengen ? Anders zou ik de velden misschien in
    de cal code van het report kunnen opnemen, zou dat de codeunit overrulen ?
    mvg Adriaan
  • DenSterDenSter Member Posts: 8,307
    Waarom zou je dat willen doen? Die Format Address codeunit formatteert het adres volgens de settings van het systeem, en doet dat dus door de gehele applicatie. Als je voor 1 rapport dat verandert, veroorzaak je naar mijn mening verwarring onder de gebruikers.

    Als het een kwestie is van 'ik wil iets soortgelijks doen' dan zou ik als ik jou was die codeunit bekijken en zien hoe je arrays manipuleert.
  • tinoruijstinoruijs Member Posts: 1,226
    Ik ben het eens met Daniel.
    Wat ik me voor kan stellen is dat je bijvoorbeeld wel "NL" bij klant wilt invullen, maar dat niet op ieder rapport voor die klant "Nederland" bij het adres gezet moet worden.
    Zo'n aanpassing zou je dan in die codeunit moeten maken.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • Adriaan2kAdriaan2k Member Posts: 159
    jullie hebben gelijk om niet in de codeunit te wijzigen. Het geval is alleen het volgende: op de verkoopfaktuur komt op tabblad algemeen de 'sell-to contact' en op tabblad fakturatie de 'bill-to contact'. Maar op de klantenstamkaart kun je alleen de 'sell-to contact' vullen. Maar deze komt nou net weer niet in de adresvelden tevoorschijn, maar wel de 'bill-to contact'. Dat betekent volgens mij dat je op iedere faktuur naar het tabblad Fakturatie moet om daar de 'bill-to contact' te vullen. Dus ik dacht om op het betreffende report (gekopieerd naar de 50000 reeks) de adresvelden aan te passen. Omdat ik één van deze velden in de regel wil opnemen (artikelomschrijving + contactnaam) wil ik de adresvelden graag aanpassen. Ik wist alleen niet hoe/waar of hoe dit anders op te lossen. :oops:
    mvg Adriaan
  • DenSterDenSter Member Posts: 8,307
    Wat je zou kunnen doen is je eigen adres formatteer functie toevoegen aan die codeunit. Wat ik begrijp is dat dit een algemeen proces is, en dat zou dus wel degelijk kunnen worden aangepast in de standaard codeunit. Op die manier implementeer je dat voor het gehele systeem in 1 keer.

    Mijn argument was om het niet voor slechts 1 rapport te doen. Als dit een algemeen process is, dan zou ik een algemeen toepasbare oplossing zoeken.

    Als ik jou was dan zou ik die format adress codeunit bestuderen en zien of je daar mee uit kan komen. Je zou zelfs de code kunnen kopieren op een test form, zodat je er 'veilig' mee kunt spelen.
  • Adriaan2kAdriaan2k Member Posts: 159
    Daniël, bedankt voor je advies. Misschien dat je me nog één tip kunt geven waarbij ik niet in de codeunit hoef te hacken. Als ik een eigen adresveld toe zou voegen (dus de dimensionwaarde met 1 ophoog) dan kan ik volgens mij in de onaftergetrecord van de sales invoice header, dat veld benoemen. Maar werkt dan ook de functie compressarray zodat het veld niet wordt getoond indien er geen waarde in voorkomt ?
    mvg Adriaan
  • DenSterDenSter Member Posts: 8,307
    stel je hebt een array met waarden:
    1: waarde 1
    2: waarde 2
    3: <geen waarde>
    4: <geen waarde>
    5: waarde x
    
    en je doet COMPRESSARRAY, dan eindigt dat met:
    1: waarde 1
    2: waarde 2
    3: waarde x
    4: <geen waarde>
    5: <geen waarde>
    
  • Adriaan2kAdriaan2k Member Posts: 159
    bedankt voor de uitleg van de werking van dit commando. Ik begrijp dat
    de gebruikte ruimte gelijk blijft maar dat de 'gevulde' velden bovenaan komen te staan. Ik ga hiermee aan de slag. Mocht ik er niet uitkomen, dan zou ik graag nog een beroep op jullie doen. Alvast weer bedankt!
    mvg Adriaan
Sign In or Register to comment.