DTA:n Ehdota toimittajan maksua -raportti (3010546) ja LSV Suggest Collection -raportti (3010831) ehdottavat virheellisiä rivejä Microsoft Dynamics NAV:n sveitsinkielisessä versiossa

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

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

  • ranska (Sveitsi) (fr-ch)
  • saksa (Sveitsi) (gr-ch)
  • italia (Sveitsi) (it-ch)

Ongelman ilmenemistapa

Oletetaan, että julkaiset ostolaskun tai myyntilaskun Microsoft Dynamics NAV:n Sveitsin-versiossa. Kun suoritat DTA:n Ehdota toimittajan maksua -raportin (3010546) maksupäiväkirjassa tai LSV Suggest Collection -raportin (3010831) LSV-päiväkirjaluettelossa käyttämällä kirjauspäivää, joka on vanhempi kuin laskun kirjauspäivä, ehdotetaan virheellisiä rivejä. Siksi kirjauspäivä on virheellinen yksityiskohtaisissa asiakastapahtumissa tai yksityiskohtaisissa toimittajan alatunnistemerkinnöissä rivien kirjaamisen jälkeen. Joskus et voi edes julkaista rivejä ja saada johdonmukaista virhesanomaa.
Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 Service Pack 1:n (SP1) sveitsiläinen versio
  • Microsoft Dynamics NAV 2009:n sveitsiläinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n (SP1) sveitsiläinen versio
  • Microsoft Dynamics NAV 5.0:n sveitsiläinen versio

      

Syy

Tämä ongelma ilmenee, koska sekki puuttuu DTA:n Ehdota toimittajan maksua -raportista (3010546) ja LSV Suggest Collection -raportista (3010831). Sekki otetaan käyttöön, jotta vältetään sellaisen maksurivin luominen, jonka kirjauspäivä on aiempi kuin laskun kirjauspäivä.

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 vakavasti vaikuta sinuun, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 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. Lisää uusi yleinen muuttuja DTA:n Ehdota toimittajan maksua -raporttiin (3010546) ja määritä muuttuja seuraavasti:

    • Nimi: VendorLedgEntryTemp@1150058
    • Tietotyyppi: Tietue
    • Alatyyppi: Toimittajatapahtuma
    • Tilapäinen: Kyllä
  2. Lisää uusi tekstivakio DTA:n Ehdota toimittajan maksua -raporttiin (3010546) ja määritä vakio seuraavasti:

    • Nimi: Text50000@1150064
    • Vakioarvo: ENU=On yksi tai useampia tapahtumia, joille ei ole tehty maksuehdotuksia, koska tapahtumien kirjauspäivät ovat myöhempiä kuin DTA:n Ehdota toimittajaa -Maksut erätyöpyyntöikkunassa. Haluatko nähdä merkinnät?
  3. Lisää seuraava koodi DTA:n Ehdota toimittajan maksua -raportin OnPreReport-käynnistimeen (3010546):

    VendorLedgEntryTemp.DELETEALL;
    
  4. Lisää seuraava koodi DTA:n Ehdota toimittajan maksua -raportin OnPostReport-käynnistimeen (3010546):

    COMMIT;
    IF NOT VendorLedgEntryTemp.ISEMPTY THEN
      IF CONFIRM(Text50000) THEN
        FORM.RUNMODAL(0,VendorLedgEntryTemp);
    
  5. Muuta DTA-ehdota toimittajan maksuraporttia (3010546) olevan Toimittajan – OnPostDataItem -käynnistimen koodi seuraavasti:
    Aiemmin luotu koodi

    d.CLOSE;
    IF NoOfLinesInserted > 0 THEN BEGIN
      WriteBalAccountLine(ToGlLine);
      MESSAGE(Text011,NoOfLinesInserted,GlSetup."LCY Code",TotalAmtLCY);
      IF NoOfVendorsWithCM > 0 THEN
        MESSAGE(Text013 + Text014 + Text017,NoOfVendorsWithCM,VendWithCmTxt)
    END ELSE
      MESSAGE(Text018,FromDueDate,ToDueDate);
    

    Korvaava koodi

    d.CLOSE;
    IF VendorLedgEntryTemp.ISEMPTY THEN BEGIN
      IF NoOfLinesInserted > 0 THEN BEGIN
        WriteBalAccountLine(ToGlLine);
        MESSAGE(Text011,NoOfLinesInserted,GlSetup."LCY Code",TotalAmtLCY);
        IF NoOfVendorsWithCM > 0 THEN
          MESSAGE(Text013 + Text014 + Text017,NoOfVendorsWithCM,VendWithCmTxt)
      END ELSE
        MESSAGE(Text018,FromDueDate,ToDueDate);
    END;
    
  6. Muuta DTA Suggest Vendor Payment report (3010546) -raportin WritePmtSuggestLines-funktion koodia seuraavasti:
    Olemassa oleva koodi 1

    // CH2316.begin
     VendorLedgerEntryNo := VendEntry."Entry No.";
    // CH2316.end
    WITH ToGlLine DO BEGIN
      INIT;
    ...
    

    Korvaava koodi 1

    IF VendEntry."Posting Date" <= PostDate THEN BEGIN // CH0001
      // CH2316.begin
      VendorLedgerEntryNo := VendEntry."Entry No.";
      // CH2316.end
      WITH ToGlLine DO BEGIN
        INIT;
    ...
    

    Nykyinen koodi 2

    ...
    VendorLedgerEntry2.GET(VendorLedgerEntryNo);
    VendorLedgerEntry2."On Hold" := 'DTA';
    VendorLedgerEntry2."Accepted Payment Tolerance" := 0;
    VendorLedgerEntry2.MODIFY;
    // CH2316.END
    

    Korvaava koodi 2

    ...
      VendorLedgerEntry2.GET(VendorLedgerEntryNo);
      VendorLedgerEntry2."On Hold" := 'DTA';
      VendorLedgerEntry2."Accepted Payment Tolerance" := 0;
      VendorLedgerEntry2.MODIFY;
    // CH2316.END
    END ELSE BEGIN
      VendorLedgEntryTemp := VendEntry;
      VendorLedgEntryTemp.INSERT;
    END;
    
  7. Lisää uusi yleinen muuttuja LSV Suggest Collection -raporttiin (3010831) ja määritä muuttuja seuraavasti:

    • Nimi: TempCustLedgEntry@1150042
    • Tietotyyppi: Tietue
    • Alatyyppi: Asiakastapahtuma
    • Tilapäinen: Kyllä
  8. Lisää uusi tekstivakio LSV Suggest Collection -raporttiin (3010831) ja määritä vakio seuraavasti:

    • Nimi: Text50000@1150064
    • Vakioarvo: ENU=On yksi tai useampia tapahtumia, joille ei ole tehty kokoelmaehdotuksia, koska merkintöjen kirjauspäivät ovat myöhempiä kuin LSV:n Kerää ehdotuksia -erätyöpyyntöikkunassa. Haluatko nähdä merkinnät?
  9. Muuta LSV Suggest Collection -raportin (3010831) OnPreReport-käynnistimen koodia seuraavasti:
    Aiemmin luotu koodi

    IF LsvJournal."LSV Bank Code" = '' THEN
      ERROR(Text020);
    

    Korvaava koodi

    IF LsvJournal."LSV Bank Code" = '' THEN
      ERROR(Text020);
    TempCustLedgEntry.DELETEALL;
    
  10. Lisää seuraava koodi LSV Suggest Collection -raportin OnPostReport-käynnistimeen (3010831):

    COMMIT;
    IF NOT TempCustLedgEntry.ISEMPTY THEN
      IF CONFIRM(Text50000) THEN
        FORM.RUNMODAL(0,TempCustLedgEntry);
    
  11. Muuta LSV Suggest Collection -raportin (3010831) Asiakas – OnPostDataItem-käynnistimen koodi seuraavasti:
    Aiemmin luotu koodi

    d.CLOSE;
    IF NoOfLinesInserted > 0 THEN BEGIN
      MESSAGE(Text007,NoOfLinesInserted,LsvSetup."LSV Currency Code",TotalAmt);
      IF LsvJournal."LSV Journal Description" = '' THEN BEGIN
        LsvJournal."LSV Journal Description" :=
          FORMAT(STRSUBSTNO(Text021,LsvSetup."LSV Currency Code",FromDueDate,ToDueDate,Customer.GETFILTERS)
            ,-MAXSTRLEN(LsvJournal."LSV Journal Description"));
      END;
      LsvJournal."Credit Date" := CollectionDate;
      LsvJournal.MODIFY;
      // CH2813.BEGIN
      IF NoOfCustWithCreditMemo > 0 THEN
        IF NOT CONFIRM(Text009 + Text010 + Text012 + Text013,TRUE,NoOfCustWithCreditMemo,CustCreditMemoTxt) THEN
          ERROR(Text014);
      // CH2813.END
    END ELSE
      MESSAGE(Text015,FromDueDate,ToDueDate);
    

    Korvaava koodi

    d.CLOSE;
    IF TempCustLedgEntry.ISEMPTY THEN BEGIN // CH0001
      IF NoOfLinesInserted > 0 THEN BEGIN
        MESSAGE(Text007,NoOfLinesInserted,LsvSetup."LSV Currency Code",TotalAmt);
        IF LsvJournal."LSV Journal Description" = '' THEN BEGIN
          LsvJournal."LSV Journal Description" :=
            FORMAT(STRSUBSTNO(Text021,LsvSetup."LSV Currency Code",FromDueDate,ToDueDate,Customer.GETFILTERS)
              ,-MAXSTRLEN(LsvJournal."LSV Journal Description"));
        END;
        LsvJournal."Credit Date" := CollectionDate;
        LsvJournal.MODIFY;
        // CH2813.BEGIN
        IF NoOfCustWithCreditMemo > 0 THEN
          IF NOT CONFIRM(Text009 + Text010 + Text012 + Text013,TRUE,NoOfCustWithCreditMemo,CustCreditMemoTxt) THEN
            ERROR(Text014);
        // CH2813.END
      END ELSE
        MESSAGE(Text015,FromDueDate,ToDueDate);
    END;
    
  12. Muuta LSV Suggest Collection -raportin (3010831) WritePmtSuggestLines-funktion koodia seuraavasti:
    Olemassa oleva koodi 1

    // Collection amt: Cust. Entry amount - Cash disc. possible
    WITH ToLSVJourLine DO BEGIN
      // Ensure, that the Entry is only once in the LSV Journal Line
      LSVJourLineCheck.SETCURRENTKEY("Applies-to Doc. No.");
      LSVJourLineCheck.SETRANGE("Applies-to Doc. No.",ActCustLedgEntry."Document No.");
    ...
    

    Korvaava koodi 1

    // Collection amt: Cust. Entry amount - Cash disc. possible
    WITH ToLSVJourLine DO BEGIN
      IF CustLedgEntry."Posting Date" <= CollectionDate THEN BEGIN
        // Ensure, that the Entry is only once in the LSV Journal Line
        LSVJourLineCheck.SETCURRENTKEY("Applies-to Doc. No.");
        LSVJourLineCheck.SETRANGE("Applies-to Doc. No.",ActCustLedgEntry."Document No.");
    ...
    

    Nykyinen koodi 2

    ...
      TotalAmt := TotalAmt + "Collection Amount";
      d.UPDATE(3,TotalAmt);
      // CH2813.BEGIN
      EntriesPerCust := EntriesPerCust + 1;
      // CH2813.END
    END;
    

    Korvaava koodi 2

    ...
        TotalAmt := TotalAmt + "Collection Amount";
        d.UPDATE(3,TotalAmt);
        // CH2813.BEGIN
        EntriesPerCust := EntriesPerCust + 1;
        // CH2813.END
    
    //Add the follong lines.
      END ELSE BEGIN
        TempCustLedgEntry := CustLedgEntry;
        TempCustLedgEntry.INSERT;
      END;
    //End of the lines.
    
    END;
    

            
          

Edellytykset

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

  • Microsoft Dynamics NAV 2009 Service Pack 1:n (SP1) sveitsiläinen versio
  • Microsoft Dynamics NAV 2009:n sveitsiläinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n (SP1) sveitsiläinen versio
  • Microsoft Dynamics NAV 5.0:n sveitsiläinen versio

              

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.

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 .