DTA Suggest Vendor Payment report (3010546) i LSV Suggest Collection report (3010831) suggest lines in the Swiss version of Microsoft Dynamics NAV

Primjenjuje se na
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Microsoft Dynamics NAV 5.0 Service Pack 1

Ovaj se članak odnosi na Microsoft Dynamics NAV za sljedeće države i regionalne sheme jezika.

  • francuski (Švicarska) (fr-ch)
  • Njemački (Švicarska) (gr-ch)
  • Talijanski (Švicarska) (it-ch)

Simptomi

Pretpostavimo da fakturu za kupnju ili prodajnu fakturu knjižite u švicarskoj verziji sustava Microsoft Dynamics NAV. Kada pokrenete DTA izvješće o predloženom plaćanju dobavljača (3010546) u dnevniku plaćanja ili LSV izvješće o predloženoj zbirci (3010831) na popisu LSV dnevnika pomoću datuma knjiženja koji prethodi datumu knjiženja fakture, predlažu se netočni reci. Stoga datum knjiženja nije točan u detaljnim unosima knjige klijenata ili detaljnim unosima dobavljača nakon knjiženja redaka. Ponekad čak ne možete objaviti retke pa primate dosljednu poruku o pogrešci.
Taj se problem pojavljuje u sljedećim proizvodima:

  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Švicarska verzija sustava Microsoft Dynamics NAV 2009
  • Švicarska verzija sustava Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
  • Švicarska verzija sustava Microsoft Dynamics NAV 5.0

      

Uzrok

Taj se problem pojavljuje jer u izvješću DTA Suggest Vendor Payment (3010546) i u LSV Suggest Collection report (3010831) nedostaje ček. Provjera se uvodi da bi se izbjeglo generiranje retka za plaćanje čiji je datum knjiženja prije datuma knjiženja fakture.

Rješenje

Informacije o hitnom popravku

Microsoft sada nudi podržani hitni popravak. No njegova je namjena samo ispravljanje problema opisanog u ovom članku. Primijenite ga samo na sustave koji imaju taj specifični problem. Ovaj hitni popravak može proći dodatna testiranja. Stoga, ako se ovaj problem ne odnosi ozbiljno, preporučujemo da pričekate sljedeći servisni paket za Microsoft Dynamics NAV ili sljedeću verziju sustava Microsoft Dynamics NAV koja sadrži ovaj hitni popravak.

Napomena: U posebnim slučajevima, ako stručnjak tehničke podrške za Microsoft Dynamics i povezane proizvode utvrdi da određeno ažuriranje može riješiti problem, poziv službi podrške može biti besplatan. Uobičajene cijene poziva službi za podršku primjenjuju se na dodatna pitanja i probleme koje nemaju veze s pripadnom nadopunom.

            
          

Informacije o instalaciji

Microsoft daje primjere programiranja samo za ilustraciju, bez jamstva, bilo izričitog ili prešutnog. To uključuje, bez ograničenja, implicitna jamstva utrživosti ili prikladnosti za određenu svrhu. U članku se podrazumijeva da ste upoznati s programskim jezikom koji se pokazuje te s alatima koji se koriste za stvaranje i ispravljanje pogrešaka procedura. Microsoftovi inženjeri za podršku mogu vam pomoći objasniti funkcionalnost određene procedure, no neće mijenjati te primjere radi pružanja dodatne funkcionalnosti ili konstruirati procedure koji zadovoljavaju vaše specifične zahtjeve.

Napomena Prije nego što instalirate ovaj hitni popravak, provjerite jesu li svi korisnici Microsoft Navision klijenta odjavljeni sa sustava. To obuhvaća korisnike klijentskih usluga Microsoft Navision Application Services (NAS). Trebali biste biti jedini klijentski korisnik prijavljen na vrijeme implementacije ovog hitnog popravka.

Da biste implementirali ovaj hitni popravak, morate imati licencu za razvojne inženjere.

Preporučujemo da se korisničkom računu u prozoru Prijave u sustav Windows ili u prozoru Prijave u bazu podataka dodijeli ID uloge "SUPER". Ako korisničkom računu nije moguće dodijeliti ID uloge "SUPER", morate provjeriti ima li korisnički račun sljedeće dozvole:

  • Dozvola za izmjenu objekta koji ćete mijenjati.
  • Dozvola za izvršavanje za objekt System Object ID 5210 i za objekt System Object ID 9015

                
Napomena: nemate pravo na spremišta podataka, osim ako morate popraviti podatke.

Promjene koda

Napomena: uvijek testirajte popravke koda u kontroliranom okruženju prije primjene popravaka na proizvodnim računalima.
Da biste riješili taj problem, učinite sljedeće:

  1. Dodajte novu globalnu varijablu u DTA izvješće o predloženom plaćanju dobavljača (3010546), a zatim odredite varijablu na sljedeći način:

    • Ime: VendorLedgEntryTemp@1150058
    • DataType: Record
    • Podvrsta: stavka u Knjizi dobavljača
    • Privremeno: Da
  2. Dodajte novu tekstnu konstantu u DTA izvješće o plaćanju dobavljača (3010546), a zatim konstantu odredite na sljedeći način:

    • Naziv: Text50000@1150064
    • Konstantna vrijednost: ENU = Postoje neke stavke za koje nisu dani prijedlozi za plaćanje jer su datumi knjiženja stavki kasniji od datuma knjiženja u prozoru zahtjeva za skupni zadatak DTA prijedloga dobavljača Plaćanja. Želite li vidjeti unose?
  3. Dodajte sljedeći kod u okidač OnPreReport u DTA izvješću o predloženom plaćanju dobavljača (3010546):

    VendorLedgEntryTemp.DELETEALL;
    
  4. Dodajte sljedeći kod u okidač OnPostReport u DTA izvješću o predloženom plaćanju dobavljača (3010546):

    COMMIT;
    IF NOT VendorLedgEntryTemp.ISEMPTY THEN
      IF CONFIRM(Text50000) THEN
        FORM.RUNMODAL(0,VendorLedgEntryTemp);
    
  5. Promijenite kod u okidaču Dobavljač – OnPostDataItem u DTA izvješću o predloženom plaćanju dobavljača (3010546) na sljedeći način:
    Postojeći kod

    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);
    

    Zamjenski kôd

    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. Promijenite kod u funkciji WritePmtSuggestLines u DTA izvješću o plaćanju dobavljača (3010546) na sljedeći način:
    Postojeći kod 1

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

    Zamjenski kod 1

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

    Postojeći kod 2

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

    Zamjenski kod 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. Dodajte novu globalnu varijablu u izvješće zbirke prijedloga LSV-a (3010831), a zatim varijablu navedite na sljedeći način:

    • Ime: TempCustLedgEntry@1150042
    • DataType: Record
    • Podvrsta: stavka iz knjige klijenata
    • Privremeno: Da
  8. Dodajte novu konstantu teksta u izvješće LSV Suggest Collection (3010831), a zatim konstantu definirajte na sljedeći način:

    • Naziv: Text50000@1150064
    • Konstantna vrijednost: ENU = Postoje neke stavke za koje nisu dani nikakvi prijedlozi za prikupljanje jer su datumi knjiženja stavki kasniji od datuma prikupljanja u prozoru zahtjeva za skupni zadatak LSV prikupljanja prijedloga. Želite li vidjeti unose?
  9. Promijenite kod u okidaču OnPreReport u izvješću o prikupljanju prijedloga LSV-a (3010831) na sljedeći način:
    Postojeći kod

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

    Zamjenski kôd

    IF LsvJournal."LSV Bank Code" = '' THEN
      ERROR(Text020);
    TempCustLedgEntry.DELETEALL;
    
  10. Dodajte sljedeći kod u okidač OnPostReport u izvješću LSV Suggest Collection (3010831):

    COMMIT;
    IF NOT TempCustLedgEntry.ISEMPTY THEN
      IF CONFIRM(Text50000) THEN
        FORM.RUNMODAL(0,TempCustLedgEntry);
    
  11. Promijenite kod u okidaču Kupac - OnPostDataItem u izvješću o zbirci prijedloga LSV-a (3010831) na sljedeći način:
    Postojeći kod

    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);
    

    Zamjenski kôd

    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. Promijenite kod u funkciji WritePmtSuggestLines u izvješću o prikupljanju prijedloga LSV-a (3010831) na sljedeći način:
    Postojeći kod 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.");
    ...
    

    Zamjenski kod 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.");
    ...
    

    Postojeći kod 2

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

    Zamjenski kod 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;
    

            
          

Preduvjeti

Da biste primijenili ovaj hitni popravak, morate imati instaliran neki od sljedećih proizvoda:

  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Švicarska verzija sustava Microsoft Dynamics NAV 2009
  • Švicarska verzija sustava Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
  • Švicarska verzija sustava Microsoft Dynamics NAV 5.0

              

Podaci o uklanjanju

Ovaj hitni popravak ne možete ukloniti.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Napomena: Ovo je članak "FAST PUBLISH" stvoren izravno u Microsoftovoj ustanovi za podršku. Ovdje sadržane informacije pružaju se takve kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske pogreške i mogu se revidirati u bilo kojem trenutku bez prethodne najave. Dodatne napomene potražite u Uvjetima korištenja .