Microsoft Dynamics NAV ei tallenna muutoslokiin tehtyjä muutoksia, kun käytät Dimensions-Multiple-toimintoa tilikaavioryhmässä

Käytetään kohteeseen
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Service Pack 1

NOPEAT JULKAISUARTIKKELIT TARJOAVAT TIETOJA SUORAAN MICROSOFTIN TUKIORGANISAATIOSTA. TÄSSÄ OLEVAT TIEDOT LUODAAN VASTAUKSENA UUSIIN TAI YKSILÖLLISTEN AIHEIDEN AIHEISIIN, TAI NE ON TARKOITETTU TÄYDENTÄMÄÄN MUITA KNOWLEDGE BASE -TIETOJA.

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa kaikissa maissa ja kaikilla kielialueilla.

Ongelman ilmenemistapa

Oletetaan, että otat muutoslokiaktivoidun toiminnon käyttöön, jotta voit tallentaa lisäystoiminnon, muokkaustoiminnon ja kaikkien Microsoft Dynamics NAV 2009:n Oletusdimensio-taulukon (352) kenttien peruutustoiminnon. Kun määrität oletusdimensiot ja dimensioarvot tiliryhmälle Dimensiot-kerrannaiset-toiminnolla , Microsoft Dynamics NAV ei tallenna muutoksia muutoslokiin.

Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 Service Pack 1

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ottaa tämän hotfix-korjauksen käyttöön seuraavasti:

  1. Lisää seuraava paikallinen muuttuja SetCommonDefaultDim-käynnistimeen "Default Dimensions-Multiple" -lomakkeessa (542) ja määritä muuttuja seuraavasti:

    • Nimi: ChangeLogMgt
    • DataType: Codeunit
    • Alatyyppi: Lokinhallinnan muuttaminen
  2. Lisää seuraava paikallinen muuttuja SetCommonDefaultDim-käynnistimeen "Default Dimensions-Multiple" -lomakkeessa (542) ja määritä muuttuja seuraavasti:

    • Nimi: RecRef
    • DataType: RecordRef
  3. Lisää seuraava paikallinen muuttuja SetCommonDefaultDim-käynnistimeen "Default Dimensions-Multiple" -lomakkeessa (542) ja määritä muuttuja seuraavasti:

    • Nimi: xRecRef
    • DataType: RecordRef
  4. Muuta SetCommonDefaultDim-käynnistimen koodia "Default Dimensions-Multiple" -lomakkeessa (542) seuraavasti:
    Aiemmin luotu koodi

    ...
    SETRANGE(
    "Multi Selection Action","Multi Selection Action"::Delete);
    IF FIND('-') THEN
    REPEAT
    IF TempDefaultDim3.FIND('-') THEN
    REPEAT
    IF DefaultDim.GET(
    TempDefaultDim3."Table ID",TempDefaultDim3."No.","Dimension Code")
    
    // Delete the following line.
    THEN
    
    DefaultDim.DELETE(TRUE);
    UNTIL TempDefaultDim3.NEXT = 0;
    UNTIL NEXT = 0;
    SETRANGE(
    "Multi Selection Action","Multi Selection Action"::Change);
    IF FIND('-') THEN
    REPEAT
    IF TempDefaultDim3.FIND('-') THEN
    REPEAT
    IF DefaultDim.GET(
    TempDefaultDim3."Table ID",TempDefaultDim3."No.","Dimension Code")
    THEN BEGIN
    DefaultDim."Dimension Code" := "Dimension Code";
    DefaultDim."Dimension Value Code" := "Dimension Value Code";
    DefaultDim."Value Posting" := "Value Posting";
    DefaultDim.MODIFY(TRUE);
    END ELSE BEGIN
    DefaultDim.INIT;
    DefaultDim."Table ID" := TempDefaultDim3."Table ID";
    DefaultDim."No." := TempDefaultDim3."No.";
    DefaultDim."Dimension Code" := "Dimension Code";
    DefaultDim."Dimension Value Code" := "Dimension Value Code";
    DefaultDim."Value Posting" := "Value Posting";
    DefaultDim.INSERT(TRUE);
    END;
    UNTIL TempDefaultDim3.NEXT = 0;
    UNTIL NEXT = 0;
    ...
    
    

    Korvaava koodi

    ...
    SETRANGE(
    "Multi Selection Action","Multi Selection Action"::Delete);
    IF FIND('-') THEN
    REPEAT
    IF TempDefaultDim3.FIND('-') THEN
    REPEAT
    IF DefaultDim.GET(
    TempDefaultDim3."Table ID",TempDefaultDim3."No.","Dimension Code")
    
    // Add the following lines.
    THEN BEGIN
    xRecRef.GETTABLE(DefaultDim);
    
    DefaultDim.DELETE(TRUE);
    
    // Add the following lines.
    ChangeLogMgt.LogDeletion(xRecRef);
    END;
    
    UNTIL TempDefaultDim3.NEXT = 0;
    UNTIL NEXT = 0;
    SETRANGE(
    "Multi Selection Action","Multi Selection Action"::Change);
    IF FIND('-') THEN
    REPEAT
    IF TempDefaultDim3.FIND('-') THEN
    REPEAT
    IF DefaultDim.GET(
    TempDefaultDim3."Table ID",TempDefaultDim3."No.","Dimension Code")
    THEN BEGIN
    
    // Add the following line.
    xRecRef.GETTABLE(DefaultDim);
    
    DefaultDim."Dimension Code" := "Dimension Code";
    DefaultDim."Dimension Value Code" := "Dimension Value Code";
    DefaultDim."Value Posting" := "Value Posting";
    DefaultDim.MODIFY(TRUE);
    
    // Add the following lines.
    RecRef.GETTABLE(DefaultDim); 
    ChangeLogMgt.LogModification(RecRef,xRecRef); 
    
    END ELSE BEGIN
    DefaultDim.INIT;
    DefaultDim."Table ID" := TempDefaultDim3."Table ID";
    DefaultDim."No." := TempDefaultDim3."No.";
    DefaultDim."Dimension Code" := "Dimension Code";
    DefaultDim."Dimension Value Code" := "Dimension Value Code";
    DefaultDim."Value Posting" := "Value Posting";
    DefaultDim.INSERT(TRUE);
    
    // Add the following lines.
    RecRef.GETTABLE(DefaultDim); 
    ChangeLogMgt.LogInsertion(RecRef);
    
    END;
    UNTIL TempDefaultDim3.NEXT = 0;
    UNTIL NEXT = 0;
    ...
    
    

Edellytykset

Sinulla on oltava asennettuna jokin seuraavista tuotteista, jotta voit käyttää tätä hotfix-korjausta:

  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 Service Pack 1

Uudelleenkäynnistystiedot

Sinun ei tarvitse käynnistää tietokonetta uudelleen, kun olet ottanut tämän koodikorjauksen käyttöön.

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

MICROSOFT JA/TAI SEN TOIMITTAJAT EIVÄT TEE MITÄÄN ESITYKSIÄ TAI TAKUITA ASIAKIRJOJEN JA TÄSSÄ SIVUSTOSSA JULKAISTUJEN AIHEESEEN LIITTYVIEN KUVIEN ("MATERIAALIT") SOVELTUVUUDESTA, LUOTETTAVUUDESTA TAI OIKEELLISUUDESTA.

MATERIAALIT VOIVAT SISÄLTÄÄ TEKNISIÄ EPÄTARKKUUKSIA TAI TYPOGRAFISIA VIRHEITÄ, JA NIITÄ VOIDAAN MUUTTAA MILLOIN TAHANSA ILMAN ENNAKKOILMOITUSTA. SOVELLETTAVAN LAIN SALLIMISSA MÄÄRIN MICROSOFT JA/TAI SEN TOIMITTAJAT EIVÄT HYVÄKSY KAIKKIA ESITYKSIÄ, TAKUITA JA EHTOJA RIIPPUMATTA SIITÄ, OVATKO NE NIMENOMAISIA, EPÄSUORIA TAI LAKISÄÄTEISIÄ, MUKAAN LUKIEN MUTTA EI RAJOITTUEN MATERIAALEIHIN LIITTYVÄT KUVAUKSET, TAKUUT TAI OMISTUSEHDOT, RIKKOMATTA JÄTTÄMINEN, TYYDYTTÄVÄ EHTO TAI LAATU, SOVELTUVUUS KAUPANKÄYNNIN KOHTEEKSI JA SOVELTUVUUS TIETTYYN TARKOITUKSEEN.