Sistem neočekivano ažurira datum knjiženja kada pokrenete funkciju paketa za prodajnu fakturu ili fakturu za nabavku u portugalskoj verziji sistema Microsoft Dynamics NAV 2009

Primenjuje se na
Dynamics NAV 2009

Ovaj članak se odnosi na Microsoft Dynamics NAV za lokalni standard portugalskog jezika (pt).

Simptomi

Uzmite u obzir sledeću situaciju u verzijama programa Microsoft Dynamics NAV 2009 R2 za portugalski jezik i Microsoft Dynamics NAV 2009 sa servisnim paketom 1 (SP1):

  • Imate grupu brojeva koja omogućava podešavanje redosleda datuma .
  • Imate prodajnu fakturu ili fakturu za nabavku koja primenjuje grupu brojeva.
  • Sistem dodeljuje broj knjiženja prodajnoj fakturi ili kupovnoj fakturi.
  • Pokrećete funkciju " Objavi grupno " za ovu fakturu i zameniti datum objavljivanja na kartici " Opcije " u dijalogu " Grupna objava fakture za prodaju " ili u dijalogu " Grupno objavljivanje faktura za nabavku ".

U tom slučaju, sistem neočekivano ažurira datum knjiženja ove fakture i ne proverava datum redosleda. Međutim, sistem proverava redosled sa datumom ako zamenite vrednost u polju " Datum knjiženja " na kartici " Opšte " ove fakture.

Rešenje

Informacije o hitnim ispravkama

Podržana hitna ispravka je sada dostupna od korporacije Microsoft. Međutim, namena je samo za rešavanje problema koji je opisan u ovom članku. Primenite je samo na sisteme koji imaju ovaj određeni problem. Ova hitna ispravka može proći dodatno testiranje. Stoga, ako ovaj problem ne utiče ozbiljno, preporučujemo da sačekate sledeći servisni paket za Microsoft Dynamics NAV 2009 ili sledeću verziju programa Microsoft Dynamics NAV koja sadrži ovu hitnu ispravku.

Napomena: U posebnim slučajevima, troškovi koji se obično nastaju za pozive podršci mogu biti otkazani ako stručnjak za tehničku podršku za Microsoft Dynamics i srodne proizvode utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške primenjivaće se na dodatna pitanja podrške i probleme koji ne ispunjavaju uslove za određenu ispravku u pitanju.

          

Informacije o instalaciji

Microsoft pruža primere programiranja samo za ilustraciju, bez izričite ili podrazumevane garancije. Ovo uključuje, ali nije ograničeno na, podrazumevane garancije o podesnosti za prodaju ili o podesnosti za određenu namenu. U ovom članku se pretpostavlja da ste upoznati sa programskim jezikom koji se demonstrira i sa alatkama koje se koriste za kreiranje procedura i otklanjanje grešaka. Inženjeri Microsoft podrške mogu vam objasniti funkcionalnost određene procedure. Međutim, oni neće menjati ove primere da bi obezbedili dodatnu funkcionalnost ili konstruisali procedure koje ispunjavaju vaše određene zahteve.

Napomena: Pre nego što instalirate ovu hitnu ispravku, proverite da li su svi korisnici Microsoft Navision klijenta odjavljeni iz sistema. To uključuje korisnike Microsoft Navision Application Services (NAS) klijenta. Vi bi trebalo da budete jedini korisnik klijenta koji je prijavljen kada primenjujete ovu hitnu ispravku.

Da biste primenili ovu hitnu ispravku, morate imati licencu za projektante.

Preporučujemo da se korisničkom nalogu u prozoru "Prijavljivanje u operativni sistem Windows" ili u prozoru "Prijavljivanje u bazu podataka" dodeli ID uloge "SUPER". Ako korisničkom nalogu nije moguće dodeliti ID uloge "SUPER", morate da proverite da li korisnički nalog ima sledeće dozvole:

  • Dozvola "Izmeni" za objekat koji ćete menjati.
  • Dozvola za izvršavanje za objekat sistema ID 5210 i za objekat sistema ID 9015.

Napomena: Ne morate da imate prava na skladišta podataka osim ako ne morate da izvršite popravku podataka.

Promene kodova

Napomena: Popravke kodova uvek testirajte u kontrolisanom okruženju pre nego što ih primenite na računare proizvodnje.
Pratite ove korake da biste rešili problem:

  1. Promenite kôd u tabeli zaglavlja prodaje (36). Pratite ove korake da biste to uradili:

    1. Promenite kôd u poljima na sledeći način:
      Postojeći kôd

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Delete the following lines.
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfSalesLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
      // End of the deleted lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Shipment Date ;Date ;OnValidate=BEGIN
      ...
      

      Kôd za zamenu

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Add the following lines.
       IF "Posting Date" <> xRec."Posting Date" THEN BEGIN
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfSalesLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
      END;
      // End of the added lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Shipment Date ;Date ;OnValidate=BEGIN
      ...
      
    2. Promenite kôd u funkciji UpdatePmtDiscDate na sledeći način:
      Postojeći kôd

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

      Kôd za zamenu

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  2. Promenite kôd u tabeli zaglavlja kupovine (38). Pratite ove korake da biste to uradili:

    1. Promenite kôd u poljima na sledeći način:
      Postojeći kôd

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Delete the following lines.
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfPurchLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
       IF PurchLinesExist THEN
       JobUpdatePurchLines;
      // End of the deleted lines.
      
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Expected Receipt Date;Date ;OnValidate=BEGIN
      ...
      

      Kôd za zamenu

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Add the following lines.
       IF "Posting Date" <> xRec."Posting Date" THEN BEGIN
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfPurchLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
       IF PurchLinesExist THEN
       JobUpdatePurchLines;
       END;
      // End of the added lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Expected Receipt Date;Date ;OnValidate=BEGIN
      ...
      
    2. Promenite kôd u funkciji UpdatePmtDiscDate na sledeći način:
      Postojeći kôd

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

      Kôd za zamenu

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  3. Promenite kôd u Sales-Post kodnoj jedinici (80). Pratite ove korake da biste to uradili:

    1. Promenite kôd svojstava na sledeći način:
      Postojeći kôd

      ...
      DocType@1022 : ' ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund,Shipment';
      TempJnlLineDim2@1023 : TEMPORARY Record 356;
      TempPrePmtAmtToDeduct@1003 : Decimal;
      BEGIN
      IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
      
      // Delete the following line.
      "Posting Date" := PostingDate;
      
      VALIDATE("Currency Code");
      END;
      
      IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
      VALIDATE("Document Date",PostingDate);
      ...
      

      Kôd za zamenu

      ...
      DocType@1022 : ' ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund,Shipment';
      TempJnlLineDim2@1023 : TEMPORARY Record 356;
      TempPrePmtAmtToDeduct@1003 : Decimal;
      BEGIN
      IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
      
      
      // Add the following line.
      VALIDATE("Posting Date",PostingDate);
      
      VALIDATE("Currency Code");
      END;
      
      IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
      VALIDATE("Document Date",PostingDate);
      ...
      
    2. Promenite kôd u funkciji ItemLedgerEntryExist na sledeći način:
      Postojeći kôd

      ...
      EXIT(HasItemLedgerEntry);
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

      Kôd za zamenu

      ...
      EXIT(HasItemLedgerEntry);
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  4. Promenite šifru svojstava u kodnoj jedinici Purch.-Post (90) na sledeći način:
    Postojeći kôd

    ...
    TrackingSpecificationExists@1010 : Boolean;
    EndLoop@1009 : Boolean;
    TempPrePmtAmtToDeduct@1004 : Decimal;
    BEGIN
    IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
    
    // Delete the following line.
    "Posting Date" := PostingDate;
    
    
    VALIDATE("Currency Code");
    END;
    
    IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
    VALIDATE("Document Date",PostingDate);
    ...
    
    

    Kôd za zamenu

    ...
    TrackingSpecificationExists@1010 : Boolean;
    EndLoop@1009 : Boolean;
    TempPrePmtAmtToDeduct@1004 : Decimal;
    BEGIN
    IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
    
    
    // Add the following line.
    VALIDATE("Posting Date",PostingDate);
    
    VALIDATE("Currency Code");
    END;
    
    IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
    VALIDATE("Document Date",PostingDate);
    ...
    

Preduslovi

Morate da imate instaliran jedan od sledećih proizvoda da biste primenili ovu hitnu ispravku:

  • Portugalska verzija usluge Microsoft Dynamics NAV 2009 R2
  • Portugalska verzija usluge Microsoft Dynamics NAV 2009 servisni paket 1

Informacije o uklanjanju

Ne možete da uklonite ovu hitnu ispravku.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.

Napomena: Ovo je članak "BRZO OBJAVLJIVANJE" koji je kreiran direktno u okviru organizacije Microsoft podrške. Informacije koje se nalaze ovde pružaju se kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske greške i mogu se revidirati u bilo kom trenutku bez prethodne najave. Pogledajte Uslove korišćenja za druga razmatranja.