"Viivästyskulun muistiorivi on jo olemassa" tai "Muistutusrivi on jo olemassa" -virhesanoma, kun luot muistutuksen tai viivästyskululaskun asiakkaalle Microsoft Dynamics NAV 2009 SP1:ssä

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

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

Ongelman ilmenemistapa

Luot asiakkaalle muistutuksen tai viivästyslaskun Microsoft Dynamics NAV 2009 Service Pack 1 :ssä (SP1). Sen jälkeen luodaan pyöristyslaskutapahtuma. Kun yrität luoda asiakkaalle toisen muistutuksen tai viivästyslaskun, saat jonkin seuraavista virhesanomista:

Huomautus

Viivästyskululaskurivi on jo olemassa

Huomautus

Muistutusrivi on jo olemassa

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 tämä ongelma ei siis vakavasti vaikuta sinuun, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 5.0 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 ratkaista tämän ongelman seuraavasti:

  1. Muuta Muistutusotsikkotaulukko (295) -taulukon InsertLines-funktion koodia seuraavasti:
    Aiemmin luotu koodi

    ...
      ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code")
    ELSE
    CurrencyForReminderLevelFound := FALSE;
    
    // Delete the following lines.
     IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <> 0)) OR
     (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0))
     THEN BEGIN
     ReminderLine.RESET;
     ReminderLine.SETRANGE("Reminder No.","No.");
     ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine);
     ReminderLine."Reminder No." := "No.";
     IF ReminderLine.FIND('+') THEN
     NextLineNo := ReminderLine."Line No."
     ELSE
     NextLineNo := 0;
     ReminderLine.SETRANGE("Line Type");
     ReminderLine2 := ReminderLine;
     ReminderLine2.COPYFILTERS(ReminderLine);
     IF ReminderLine2.NEXT <> 0 THEN BEGIN
     LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3;
     END ELSE
     LineSpacing := 10000;
    InsertBlankLine(ReminderLine."Line Type"::"Additional Fee");
    // End of the deleted lines.
    
    NextLineNo := NextLineNo + LineSpacing;
    ReminderLine.INIT;
    ReminderLine."Line No." := NextLineNo;  
    ...
    

    Korvaava koodi

    ...
     ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code")
    ELSE
    CurrencyForReminderLevelFound := FALSE;
    
    // Add the following lines.
     IF (NOT CurrencyForReminderLevelFound) OR
     (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <>0))
     THEN BEGIN
     ReminderLine.RESET;
     ReminderLine.SETRANGE("Reminder No.","No.");
     ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine);
     ReminderLine."Reminder No." := "No.";
     IF ReminderLine.FIND('+') THEN
     NextLineNo := ReminderLine."Line No."
     ELSE
     NextLineNo := 0;
     ReminderLine.SETRANGE("Line Type");
     ReminderLine2 := ReminderLine;
     ReminderLine2.COPYFILTERS(ReminderLine);
     IF ReminderLine2.NEXT <> 0 THEN BEGIN
     LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3;
     END ELSE
     LineSpacing := 10000;
     InsertBlankLine(ReminderLine."Line Type"::"Additional Fee");
     END;
     IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <>0)) OR
     (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0))
     THEN BEGIN
    // End of the added lines.
    
    NextLineNo := NextLineNo + LineSpacing;
    ReminderLine.INIT;
    ReminderLine."Line No." := NextLineNo;  
    ...
    
  2. Muuta InsertLines-funktion koodia Viivästyskululaskun otsikkotaulukko (302) seuraavasti:
    Aiemmin luotu koodi

    ...
    BEGIN
    TESTFIELD("Fin. Charge Terms Code");
    FinChrgTerms.GET("Fin. Charge Terms Code");
    
    // Delete the following lines.
     IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN
     FinChrgMemoLine.RESET;
     FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No.");
     FinChrgMemoLine."Finance Charge Memo No." := "No.";
     IF FinChrgMemoLine.FIND('+') THEN
     NextLineNo := FinChrgMemoLine."Line No."
     ELSE
     NextLineNo := 0;
     IF (FinChrgMemoLine.Type <>FinChrgMemoLine.Type::" ") OR
     (FinChrgMemoLine.Description <> '')
     THEN BEGIN
     LineSpacing := 10000;
     InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line");
     END;
    // End of the deleted lines.
    
    NextLineNo := NextLineNo + 10000;
    FinChrgMemoLine.INIT;
    FinChrgMemoLine."Line No." := NextLineNo;  
    ...
    

    Korvaava koodi

    ...
     BEGIN
    TESTFIELD("Fin. Charge Terms Code");
    FinChrgTerms.GET("Fin. Charge Terms Code");
    
    // Add the following lines.
     FinChrgMemoLine.RESET;
     FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No.");
     FinChrgMemoLine."Finance Charge Memo No." := "No.";
     IF FinChrgMemoLine.FIND('+') THEN
     NextLineNo := FinChrgMemoLine."Line No."
     ELSE
     NextLineNo := 0;
     IF (FinChrgMemoLine.Type <> FinChrgMemoLine.Type::" ") OR
     (FinChrgMemoLine.Description <>'')
     THEN BEGIN
     LineSpacing := 10000;
     InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line");
     END;
     IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN
    // End of the added lines.
    
    NextLineNo := NextLineNo + 10000;
    FinChrgMemoLine.INIT;
    FinChrgMemoLine."Line No." := NextLineNo;
    ...
    

          

Edellytykset

Tämän hotfix-korjauksen ottaminen käyttöön edellyttää Microsoft Dynamics NAV 2009 SP1:n asentamista.

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.

Viitteet

VSTF DynamicsNAV SE: 212317

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .