none
CONTROL-kommando-fejl ved fakturering

    Spørgsmål

  • Hej Forum

    I en C52010 (SP1-HF006) kommer følgende fejlbesked ved fakturering:

    Fejl i Control-kommando LANGUAGE Svensk

    Den svenske sprogkode anvendes til at operere med forskellige varetekster på samme varenummer. Svensk er oprettet som sprog under Generelt/Kartotek/Sprog. Samme setup fungerer fint for andre til samme formål oprettede sprogkoder.

    Det skal lige siges, at fakturaen - efter man klikker OK til fejlbeskeden - udskrives tilsyneladende normalt. Fejlen var også til stede før opdatering til SP1 HF006.

    Har nogen et bud på hvad, der går galt?

    Mikkel

    18. maj 2011 13:41

Svar

  • Hej Mikkel,

    Advarslen skyldes at rapporten forsøges afviklet med Svensk sproglag, som ikke eksisterer.

    Hvis sprogopsætningen på debitoren peger på et land hvortil der findes en korresponderende labelfil (dk, uk, is, de), vil kernen afvikle rapporten med labelekspandering svarende til det ønskede sprog.

    Hvis du har adgang til udvikling kan der opsættes en mapning i LanguageExt.FNC, så advarslen kan undgås:

    //This function determines the labelanguage to be used on reports
    //for each defined language (in ENUM language)  on basis of the countryextension

    FUNCTION STR 3 LanguageExt (STR 3 &CountryExt)

    #MacroLoad(COUNTRY)
    #MacroLoad(COUNTRY_GENERAL)

    SET &RepLang_Ext[2] = #LabelExt_DK
    SET &RepLang_Ext[3] = #LabelExt_UK
    SET &RepLang_Ext[4] = #LabelExt_DE
    SET &RepLang_Ext[5] = #LabelExt_UK //FR
    SET &RepLang_Ext[6] = #LabelExt_UK //IT
    SET &RepLang_Ext[7] = #LabelExt_UK //NL
    SET &RepLang_Ext[8] = #LabelExt_IS
    SET &RepLang_Ext[9] = #LabelExt_DK //<---Denne linje er tilføjet

    #Switch(&CountryExt)
        #Case(Country::CountryExt_IS()) SET &RepLang_Ext[1] = #LabelExt_IS()
        ELSE
            SET &RepLang_Ext[1] = #LabelExt_DK()
    #EndSwitch

    // set textlayers for reports
    SET SetLanguageExt(0,&RepLang_Ext[1])
    SET SetLanguageExt(1,&RepLang_Ext[2])
    SET SetLanguageExt(2,&RepLang_Ext[3])
    SET SetLanguageExt(3,&RepLang_Ext[4])
    SET SetLanguageExt(4,&RepLang_Ext[5])
    SET SetLanguageExt(5,&RepLang_Ext[6])
    SET SetLanguageExt(6,&RepLang_Ext[7])
    SET SetLanguageExt(7,&RepLang_Ext[8])
    SET SetLanguageExt(8,&RepLang_Ext[9])  //<---Denne linje er tilføjet

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    19. maj 2011 08:04
    Ejer
  • Jeg går ud fra, at sprog nr. 9 i eksemplet repræsenterer Svensk.

    Jeg tilføjer kode jf. dit eksempel - markererer forløbigt som svar.

    Afprøvet - virker perfekt! Tak for input.

    Mikkel


    • Markeret som svar af Mikkel NH 22. juni 2011 07:10
    23. maj 2011 19:13

Alle besvarelser

  • Hej Mikkel,

    Advarslen skyldes at rapporten forsøges afviklet med Svensk sproglag, som ikke eksisterer.

    Hvis sprogopsætningen på debitoren peger på et land hvortil der findes en korresponderende labelfil (dk, uk, is, de), vil kernen afvikle rapporten med labelekspandering svarende til det ønskede sprog.

    Hvis du har adgang til udvikling kan der opsættes en mapning i LanguageExt.FNC, så advarslen kan undgås:

    //This function determines the labelanguage to be used on reports
    //for each defined language (in ENUM language)  on basis of the countryextension

    FUNCTION STR 3 LanguageExt (STR 3 &CountryExt)

    #MacroLoad(COUNTRY)
    #MacroLoad(COUNTRY_GENERAL)

    SET &RepLang_Ext[2] = #LabelExt_DK
    SET &RepLang_Ext[3] = #LabelExt_UK
    SET &RepLang_Ext[4] = #LabelExt_DE
    SET &RepLang_Ext[5] = #LabelExt_UK //FR
    SET &RepLang_Ext[6] = #LabelExt_UK //IT
    SET &RepLang_Ext[7] = #LabelExt_UK //NL
    SET &RepLang_Ext[8] = #LabelExt_IS
    SET &RepLang_Ext[9] = #LabelExt_DK //<---Denne linje er tilføjet

    #Switch(&CountryExt)
        #Case(Country::CountryExt_IS()) SET &RepLang_Ext[1] = #LabelExt_IS()
        ELSE
            SET &RepLang_Ext[1] = #LabelExt_DK()
    #EndSwitch

    // set textlayers for reports
    SET SetLanguageExt(0,&RepLang_Ext[1])
    SET SetLanguageExt(1,&RepLang_Ext[2])
    SET SetLanguageExt(2,&RepLang_Ext[3])
    SET SetLanguageExt(3,&RepLang_Ext[4])
    SET SetLanguageExt(4,&RepLang_Ext[5])
    SET SetLanguageExt(5,&RepLang_Ext[6])
    SET SetLanguageExt(6,&RepLang_Ext[7])
    SET SetLanguageExt(7,&RepLang_Ext[8])
    SET SetLanguageExt(8,&RepLang_Ext[9])  //<---Denne linje er tilføjet

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    19. maj 2011 08:04
    Ejer
  • Jeg går ud fra, at sprog nr. 9 i eksemplet repræsenterer Svensk.

    Jeg tilføjer kode jf. dit eksempel - markererer forløbigt som svar.

    Afprøvet - virker perfekt! Tak for input.

    Mikkel


    • Markeret som svar af Mikkel NH 22. juni 2011 07:10
    23. maj 2011 19:13
  • Hej Henrik

     

    Ved du også tilfældigvis, hvilket nummer Polsk har? Har du også kendskab til nogen, der har udviklet et Polsk sproglag, som man kan bruge her i Danmark?

     

     

    Venlig hilsen

     

    Jørgen

    17. juli 2011 13:22
  • Hej Jørgen,

    Polsk er ikke oprettet i en standard C5, ligesom svensk heller ikke er det (eksemplet ovenfor).

    Jeg har ikke kendskab til at nogen Partnere har udviklet et polsk sproglag.

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    19. juli 2011 06:15
    Ejer