Tip stavke "Korišćenje" nije vidljiv u dijalogu "Stavke glavne knjige usluge" kada kreirate fakturu za uslugu za novi ugovor o usluzi u programu Microsoft Dynamics NAV 2009 servisni paket 1

Primenjuje se na
Dynamics NAV 2009 Service Pack 1

Brzo objavljeni članci pružaju informacije direktno iz organizacije Microsoft podrške. Informacije koje se nalaze u ovom dokumentu kreirane su kao odgovor na nove ili jedinstvene teme ili su namenjene kao dopuna drugim informacijama iz baze znanja.

Ovaj članak se odnosi na Microsoft Dynamics NAV 2009 za sve zemlje i lokalne standarde svih jezika.

Simptomi

Kada kreirate fakturu za uslugu za novi ugovor o usluzi u programu Microsoft Dynamics NAV 2009 servisni paket 1, ažuriraju se tip stavke "Prodaja" i tip stavke "Korišćenje" stavke "Glavna knjiga". Međutim, samo je tip stavke "Prodaja" vidljiv u dijalogu " Stavke poslovne knjige ". Tip stavke "Upotreba" nije vidljiv u dijalogu " Stavke glavne knjige usluge ".

Uzrok

Do ovog problema dolazi zato što se kreirana linija upotrebe knjiži na računu glavne knjige (KG). Pored toga, linija nema vrednost u stavci usluge br. (Servisirano) ili u polju " Br. stavke". (Servisirano) kolone. Kada otvorite dijalog " Stavke servisne knjige " sa kartice stavke servisa, podaci se filtriraju po broju stavke servisa. (Servisirano) kolone. Stoga, ako vrednost ne postoji, linija se ne pojavljuje.

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 da vam objasne funkcionalnost određene procedure, ali neće izmeniti 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 funkciji ValidateNextInvoicePeriod u tabeli "Zaglavlje ugovora o usluzi" (5965) na sledeći način:
    Postojeći kôd 1

    ...
          END;
    
          PROCEDURE ValidateNextInvoicePeriod@9();
          VAR
            InvFrom@1001 : Date;
            InvTo@1000 : Date;
            NoOfMonths@1002 : Integer;
            NoOfDays@1003 : Integer;
    ...
    
    

    Kôd za zamenu 1

    ...
    END;
    
          PROCEDURE ValidateNextInvoicePeriod@9();
          VAR
    
    // Add the following line.
            ServiceContractLine@1002 : Record 5964;
    
            InvFrom@1001 : Date;
            InvTo@1000 : Date;
            NoOfMonths@1002 : Integer;
            NoOfDays@1003 : Integer;
    ...
    
    

    Postojeći kôd 2

    ...
              IF Prepaid THEN BEGIN
                IF (DATE2DMY(InvFrom,2) = DATE2DMY(InvTo,2)) AND
                   (DATE2DMY(InvFrom,3) = DATE2DMY(InvTo,3))
                THEN BEGIN
    
    // Delete the following line.
                  "Amount per Period" := ServContractMgt.CalcContractAmount(Rec,InvFrom,InvTo);
    
                END ELSE BEGIN
                  "Amount per Period" := 0;
                  ServContractMgt.NoOfMonthsAndDaysInPeriod(InvFrom,InvTo,NoOfMonths,NoOfDays);
                  "Amount per Period" :=
    ...
    
    

    Kôd zamene 2

    ...
              IF Prepaid THEN BEGIN
                IF (DATE2DMY(InvFrom,2) = DATE2DMY(InvTo,2)) AND
                   (DATE2DMY(InvFrom,3) = DATE2DMY(InvTo,3))
                THEN BEGIN
    
    // Add the following lines.
                  ServiceContractLine.RESET;
                  ServiceContractLine.SETRANGE("Contract Type","Contract Type");
                  ServiceContractLine.SETRANGE("Contract No.","Contract No.");
                  IF ServiceContractLine.FINDSET THEN
                    REPEAT
                      "Amount per Period" := ServContractMgt.CalcContractAmount(Rec,InvFrom,InvTo,
                                                ServiceContractLine."Line No.");
                    UNTIL ServiceContractLine.NEXT=0;
    // End of the lines.
    
                END ELSE BEGIN
                  "Amount per Period" := 0;
                  ServContractMgt.NoOfMonthsAndDaysInPeriod(InvFrom,InvTo,NoOfMonths,NoOfDays);
                  "Amount per Period" :=
    ...
    
    
  2. Promenite kôd u stavci podataka 1 u izveštaju "Kreiranje ugovornih faktura" (6030) na sledeći način:
    Postojeći kôd 1

    ...
                                   IF "Amount per Period" > 0 THEN BEGIN
                                     IF NOT ServContractMgt.CheckIfServiceExist(ServContractHeader) THEN
                                       ResultDescription := Text006;
    
                                     IF ResultDescription = '' THEN BEGIN
    
    // Delete the following lines.
                                       InvoicedAmount := ROUND(
                                         ServContractMgt.CalcContractAmount(ServContractHeader,InvoiceFrom,InvoiceTo),
                                         Currency."Amount Rounding Precision");
                                       IF InvoicedAmount = 0 THEN BEGIN
                                         CurrReport.SKIP;
                                       END;
    // End of the lines.
    
                                       CASE TRUE OF
                                         NOT "Combine Invoices":
                                           BEGIN
                                             InvoiceNo := ServContractMgt.CreateServHeader(ServContractHeader,PostingDate,ContractExist);
    ...
    
    

    Kôd za zamenu 1

    ...
                                   IF "Amount per Period" > 0 THEN BEGIN
                                     IF NOT ServContractMgt.CheckIfServiceExist(ServContractHeader) THEN
                                       ResultDescription := Text006;
                                     IF ResultDescription = '' THEN BEGIN
                                       CASE TRUE OF
                                         NOT "Combine Invoices":
                                           BEGIN
                                             InvoiceNo := ServContractMgt.CreateServHeader(ServContractHeader,PostingDate,ContractExist);
    ...
    
    

    Postojeći kôd 2

    ...
                                             NoOfInvoices := NoOfInvoices + 1;
                                           END;
                                       END;
                                       ResultDescription := InvoiceNo;
    
    // Delete the following line.
                                       ServContractMgt.CreateAllServLines(InvoiceNo,ServContractHeader,InvoicedAmount);
    
                                     END;
                                     LastCustomer := "Bill-to Customer No.";
                                     LastContractCombined := "Combine Invoices";
                                   END ELSE
    ...
    
    

    Kôd zamene 2

    ...
                                             NoOfInvoices := NoOfInvoices + 1;
                                           END;
                                       END;
                                       ResultDescription := InvoiceNo;
    
    // Add the following lines.
                                       ServContractLine.RESET;
                                       ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
                                       ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
                                       IF ServContractLine.FINDSET THEN
                                         REPEAT
                                           InvoicedAmount := ROUND(
                                             ServContractMgt.CalcContractAmount(ServContractHeader,InvoiceFrom,InvoiceTo,ServContractLine."Line No."),
                                             Currency."Amount Rounding Precision");
                                           IF InvoicedAmount <> 0 THEN
                                             ServContractMgt.CreateAllServLines(InvoiceNo,ServContractHeader,InvoicedAmount,ServContractLine."Line No.");
                                         UNTIL ServContractLine.NEXT=0;
    // End of the lines.
    
                                     END;
                                     LastCustomer := "Bill-to Customer No.";
                                     LastContractCombined := "Combine Invoices";
                                   END ELSE
    ...
    
    
  3. Promenite kôd u funkciji CreateInvoice u kodnoj jedinici ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
            IF ServContractToInvoice.Prepaid THEN
              PostingDate := InvoiceFrom
            ELSE
              PostingDate := InvoiceTo;
    
    // Delete the following line.
            InvoicedAmount := CalcContractAmount(ServContractToInvoice,InvoiceFrom,InvoiceTo);
    
    
            IF InvoicedAmount = 0 THEN
              ERROR(Text007);
    ...
    
    

    Kôd za zamenu 1

    ...
            IF ServContractToInvoice.Prepaid THEN
              PostingDate := InvoiceFrom
            ELSE
              PostingDate := InvoiceTo;
    
            IF InvoicedAmount = 0 THEN
              ERROR(Text007);
    ...
    
    

    Postojeći kôd 2

    ...
            IF InvNo = '' THEN
              InvNo := CreateServHeader(ServContractToInvoice,PostingDate,FALSE);
    
    // Delete the following lines.  
            IF InvoicingStartingPeriod THEN BEGIN
              GetNextInvoicePeriod(ServContractToInvoice,InvoiceFrom,InvoiceTo);
              PostingDate := InvoiceFrom;
              InvoicedAmount := CalcContractAmount(ServContractToInvoice,InvoiceFrom,InvoiceTo);
            END;
    
    // End of the lines.
    
            IF NOT CheckIfServiceExist(ServContractToInvoice) THEN
              ERROR(
                Text010,
                ServContractToInvoice."Contract No.",
    ...
    
    

    Kôd zamene 2

    ...
            IF InvNo = '' THEN
              InvNo := CreateServHeader(ServContractToInvoice,PostingDate,FALSE);
    
            IF NOT CheckIfServiceExist(ServContractToInvoice) THEN
              ERROR(
                Text010,
                ServContractToInvoice."Contract No.",
    ...
    
    

    Postojeći kôd 3

    ...
                Text010,
                ServContractToInvoice."Contract No.",
                ServContractToInvoice.FIELDCAPTION("Invoice after Service"));
    
    // Delete the following lines.  
            CreateAllServLines(InvNo,ServContractToInvoice,InvoicedAmount);
          END;
          PROCEDURE CreateServiceLedgerEntry@4(ServHeader2@1001 : Record 5900;ContractType@1020 : Integer;ContractNo@1002 : Code[20];InvFrom@1003 : Date;InvTo@1004 : Date;AmountToInvoice@1005 : Decimal;SigningContract@1023 : Boolean;AddingNewLines@1012 : Boolean;VAR InvAmountRounded@8000 : Decimal) ReturnLedgerEntry@1000 : Integer;
    // End of the lines.
    
          VAR
            ServContractLine@1022 : Record 5964;
            ServContractHeader@1021 : Record 5965;
            Currency@1026 : Record 4;
    ...
    
    

    Kôd za zamenu 3

    ...
                Text010,
                ServContractToInvoice."Contract No.",
                ServContractToInvoice.FIELDCAPTION("Invoice after Service"));
    
    // Add the following lines.
            ServContractLine.RESET;
            ServContractLine.SETRANGE("Contract Type",ServContractToInvoice."Contract Type");
            ServContractLine.SETRANGE("Contract No.",ServContractToInvoice."Contract No.");
            IF ServContractLine.FINDSET THEN
              REPEAT
                IF InvoicingStartingPeriod THEN BEGIN
                  GetNextInvoicePeriod(ServContractToInvoice,InvoiceFrom,InvoiceTo);
                  PostingDate := InvoiceFrom;
                  InvoicedAmount := CalcContractAmount(ServContractToInvoice,InvoiceFrom,InvoiceTo,ServContractLine."Line No.")
                END ELSE
                  InvoicedAmount := CalcContractAmount(ServContractToInvoice,InvoiceFrom,InvoiceTo,ServContractLine."Line No.");
                CreateAllServLines(InvNo,ServContractToInvoice,InvoicedAmount,ServContractLine."Line No.");
              UNTIL ServContractLine.NEXT=0;
          END;
          PROCEDURE CreateServiceLedgerEntry@4(ServHeader2@1001 : Record 5900;ContractType@1020 : Integer;ContractNo@1002 : Code[20];InvFrom@1003 : Date;InvTo@1004 : Date;AmountToInvoice@1005 : Decimal;SigningContract@1023 : Boolean;AddingNewLines@1012 : Boolean;VAR InvAmountRounded@8000 : Decimal;LineNo@1011 : Integer) ReturnLedgerEntry@1000 : Integer;
    // End of the lines.
    
          VAR
            ServContractLine@1022 : Record 5964;
            ServContractHeader@1021 : Record 5965;
            Currency@1026 : Record 4;
    ...
    
    
  4. Promenite kôd u funkciji CreateServiceLedgerEntry u kodnoj jedinici ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
              InvAmountRounded := 0;
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
              ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
              IF AddingNewLines THEN
                ServContractLine.SETRANGE("New Line",TRUE)
              ELSE
                ServContractLine.SETFILTER("Starting Date",'<=%1',ServContractHeader."Next Invoice Date");
    ...
    
    

    Kôd za zamenu 1

    ...
              InvAmountRounded := 0;
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
              ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
    
    // Add the following line.
              ServContractLine.SETRANGE("Line No.",LineNo);
    
              IF AddingNewLines THEN
                ServContractLine.SETRANGE("New Line",TRUE)
              ELSE
                ServContractLine.SETFILTER("Starting Date",'<=%1',ServContractHeader."Next Invoice Date");
    ...
    
    

    Postojeći kôd 2

    ...
              ServLedgEntry."Posting Date" := ServHeader2."Posting Date";
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
              ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
              IF AddingNewLines THEN
                ServContractLine.SETRANGE("New Line",TRUE)
              ELSE
                IF (NOT SigningContract) THEN BEGIN
    ...
    
    

    Kôd zamene 2

    ...
              ServLedgEntry."Posting Date" := ServHeader2."Posting Date";
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
              ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
    
    // Add the following line.
              ServContractLine.SETRANGE("Line No.",LineNo);
    
              IF AddingNewLines THEN
                ServContractLine.SETRANGE("New Line",TRUE)
              ELSE
                IF (NOT SigningContract) THEN BEGIN
    ...
    
    
  5. Promenite kôd u funkciji CreateServLine u kodnoj jedinici ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
            AdjustServiceInvoiceDimensions(ServContract2,ServInvNo);
          END;
    
    // Delete the following line.
          PROCEDURE CreateServLine@9(ServHeader@1000 : Record 5900;ContractType@1010 : Integer;ContractNo@1001 : Code[20];InvFrom@1002 : Date;InvTo@1003 : Date;InvoiceAmount@1004 : Decimal;ServiceApplyEntry@1005 : Integer;SignningContract@1011 : Boolean);
    // End of the line.
    
          VAR
            ServContractHeader@1009 : Record 5965;
            StdText@1006 : Record 7;
            Cust@1007 : Record 18;
    ...
    
    

    Kôd za zamenu 1

    ...
            AdjustServiceInvoiceDimensions(ServContract2,ServInvNo);
          END;
    
    // Add the following line.
          PROCEDURE CreateServLine@9(ServHeader@1000 : Record 5900;ContractType@1010 : Integer;ContractNo@1001 : Code[20];InvFrom@1002 : Date;InvTo@1003 : Date;InvoiceAmount@1004 : Decimal;ServiceApplyEntry@1005 : Integer;SignningContract@1011 : Boolean;LineNo@1013 : Integer);
    // End of the line.
    
          VAR
            ServContractHeader@1009 : Record 5965;
            StdText@1006 : Record 7;
            Cust@1007 : Record 18;
    ...
    
    

    Postojeći kôd 2

    ...
            StdText@1006 : Record 7;
            Cust@1007 : Record 18;
            ServDocReg@1008 : Record 5936;
            ServiceLedgerEntry@1012 : Record 5907;
          BEGIN
            ServContractHeader.GET(ContractType,ContractNo);
    
            IF ServContractHeader."Invoice Period" = ServContractHeader."Invoice Period"::None THEN
    ...
    
    

    Kôd zamene 2

    ...
            StdText@1006 : Record 7;
            Cust@1007 : Record 18;
            ServDocReg@1008 : Record 5936;
            ServiceLedgerEntry@1012 : Record 5907;
    
    // Add the following line.
            ServContractLine@1014 : Record 5964;
    
          BEGIN
            ServContractHeader.GET(ContractType,ContractNo);
    
            IF ServContractHeader."Invoice Period" = ServContractHeader."Invoice Period"::None THEN
    ...
    
    

    Postojeći kôd 3

    ...
            ServLine.RESET;
    
            ServLine.INIT;
            ServLineNo := ServLineNo + 10000;
            ServLine."Document Type" := ServHeader."Document Type";
            ServLine."Document No." := ServHeader."No.";
            ServLine."Line No." := ServLineNo;
    ...
    
    

    Kôd za zamenu 3

    ...
            ServLine.RESET;
    
            ServLine.INIT;
    
    // Add the following lines.
            ServContractLine.RESET;
            ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
            ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
            ServContractLine.SETRANGE("Line No.",LineNo);
            IF ServContractLine.FINDFIRST THEN
              ServLine."Service Item No." := ServContractLine."Service Item No.";
    // End of the lines.
    
            ServLineNo := ServLineNo + 10000;
            ServLine."Document Type" := ServHeader."Document Type";
            ServLine."Document No." := ServHeader."No.";
            ServLine."Line No." := ServLineNo;
    ...
    
    
  6. Promenite kôd u funkciji CalcContractAmount u kodnoj jedinici ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
              WDate := CALCDATE('<CM>',OldWDate) + 1;
            UNTIL WDate > Day2;
          END;
    
    // Delete the following line.  
          PROCEDURE CalcContractAmount@19(ServContractHeader@1001 : Record 5965;PeriodStarts@1002 : Date;PeriodEnds@1003 : Date) AmountCalculated@1000 : Decimal;
    // End of the line.
    
          VAR
            ServContractLine@1004 : Record 5964;
            Currency@1008 : Record 4;
            LinePeriodStarts@1005 : Date;
    ...
    
    

    Kôd za zamenu 1

    ...
              WDate := CALCDATE('<CM>',OldWDate) + 1;
            UNTIL WDate > Day2;
          END;
    
    // Add the following line.  
          PROCEDURE CalcContractAmount@19(ServContractHeader@1001 : Record 5965;PeriodStarts@1002 : Date;PeriodEnds@1003 : Date;LineNo@1011 : Integer) AmountCalculated@1000 : Decimal;
    // End of the line.
    
          VAR
            ServContractLine@1004 : Record 5964;
            Currency@1008 : Record 4;
            LinePeriodStarts@1005 : Date;
    ...
    
    

    Postojeći kôd 2

    ...
           ServContractLine.RESET;
            ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
            ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
            IF ServContractHeader.Prepaid THEN
              ServContractLine.SETFILTER("Starting Date",'<=%1',ServContractHeader."Next Invoice Date")
            ELSE IF ServContractHeader."Last Invoice Date" <> 0D
              THEN
    ...
    
    

    Kôd zamene 2

    ...
            ServContractLine.RESET;
            ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
            ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
    
    // Add the following line.
            ServContractLine.SETRANGE("Line No.",LineNo);
    
            IF ServContractHeader.Prepaid THEN
              ServContractLine.SETFILTER("Starting Date",'<=%1',ServContractHeader."Next Invoice Date")
            ELSE IF ServContractHeader."Last Invoice Date" <> 0D
              THEN
    ...
    
    
  7. Promenite kôd u funkciji CreateRemainingPeriodInvoice u kodnoj jedinici ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
            IF (InvFrom = 0D) OR (InvFrom > InvTo) THEN
              EXIT;
            IF CONFIRM(Text006,TRUE,InvFrom,InvTo) THEN BEGIN
    
    // Delete the following line.
              Amt := CalcContractAmount(CurrServContract,InvFrom,InvTo);
    
              InvoiceNo := CreateServHeader(CurrServContract,PostingDate,FALSE);
              ServHeader.GET(ServHeader."Document Type"::Invoice,InvoiceNo);
              ServMgtSetup.GET;
              IF NOT CurrServContract.Prepaid THEN
    ...
    
    

    Kôd za zamenu 1

    ...
            IF (InvFrom = 0D) OR (InvFrom > InvTo) THEN
              EXIT;
            IF CONFIRM(Text006,TRUE,InvFrom,InvTo) THEN BEGIN
              InvoiceNo := CreateServHeader(CurrServContract,PostingDate,FALSE);
              ServHeader.GET(ServHeader."Document Type"::Invoice,InvoiceNo);
              ServMgtSetup.GET;
              IF NOT CurrServContract.Prepaid THEN
    ...
    
    

    Postojeći kôd 2

    ...
                          ServHeader,
                          ServContractLine,
                          CurrServContract."Contract Type",
                          CurrServContract."Contract No.");
                  UNTIL ServContractLine.NEXT = 0;
              END ELSE
                CreateHeadingServLine(
                  ServHeader,
    ...
    
    

    Kôd zamene 2

    ...
                         ServHeader,
                          ServContractLine,
                          CurrServContract."Contract Type",
                          CurrServContract."Contract No.");
    
    // Add the following lines.
                    Amt := CalcContractAmount(CurrServContract,InvFrom,InvTo,ServContractLine."Line No.");
                    AppliedEntry :=
                      CreateServiceLedgerEntry(
                        ServHeader,CurrServContract."Contract Type",
                        CurrServContract."Contract No.",InvFrom,InvTo,Amt,TRUE,FALSE,InvAmountRounded,ServContractLine."Line No.");
                    CreateServLine(
                      ServHeader,CurrServContract."Contract Type",
                      CurrServContract."Contract No.",InvFrom,InvTo,InvAmountRounded,AppliedEntry,TRUE,ServContractLine."Line No.");
    // End of the lines.
    
                  UNTIL ServContractLine.NEXT = 0;
              END ELSE
                CreateHeadingServLine(
                  ServHeader,
    ...
    
    

    Postojeći kôd 3

    ...
                  ServHeader,
                  CurrServContract."Contract Type",
                  CurrServContract."Contract No.");
    
    // Delete the following lines.
              AppliedEntry :=
                CreateServiceLedgerEntry(
                  ServHeader,CurrServContract."Contract Type",
                  CurrServContract."Contract No.",InvFrom,InvTo,Amt,TRUE,FALSE,InvAmountRounded);
              CreateServLine(
                ServHeader,CurrServContract."Contract Type",
                CurrServContract."Contract No.",InvFrom,InvTo,InvAmountRounded,AppliedEntry,TRUE);
    // End of the lines.
    
              CurrServContract.MODIFY;
              InvoicingStartingPeriod := TRUE;
            END;
          END;
    ...
    
    

    Kôd za zamenu 3

    ...
                  ServHeader,
                  CurrServContract."Contract Type",
                  CurrServContract."Contract No.");
    
              CurrServContract.MODIFY;
              InvoicingStartingPeriod := TRUE;
            END;
          END;
    ...
    
    
  8. Promenite kôd u funkciji CreateAllServLines u jedinici koda ServContractManagement (5940) na sledeći način:
    Postojeći kôd 1

    ...
              ServContractDim,TableID,
              DocumentType,DocumentNo,LineNo);
          END;
    
    // Delete the following line.
          PROCEDURE CreateAllServLines@2(InvNo@1001 : Code[20];ServContractToInvoice@1000 : Record 5965;InvoicedAmount@1002 : Decimal);
    // End of the line.
    
          VAR
            ServContractLine@1007 : Record 5964;
            ServHeader@1006 : Record 5900;
            InvoiceFrom@1004 : Date;
    ...
    
    

    Kôd za zamenu 1

    ...
              ServContractDim,TableID,
              DocumentType,DocumentNo,LineNo);
          END;
    
    // Add the following line.
          PROCEDURE CreateAllServLines@2(InvNo@1001 : Code[20];ServContractToInvoice@1000 : Record 5965;InvoicedAmount@1002 : Decimal;LineNo@1009 : Integer);
    // End of the line.
    
          VAR
            ServContractLine@1007 : Record 5964;
            ServHeader@1006 : Record 5900;
            InvoiceFrom@1004 : Date;
    ...
    
    

    Postojeći kôd 2

    ...
              IF ServHeader.GET(ServHeader."Document Type"::Invoice,InvNo) THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type","Contract Type");
                ServContractLine.SETRANGE("Contract No.","Contract No.");
                IF NOT "Contract Lines on Invoice" THEN
                  CreateHeadingServLine(ServHeader,"Contract Type","Contract No.");
                IF ServContractLine.FIND('-') THEN
                  REPEAT
    ...
    
    

    Kôd zamene 2

    ...
              IF ServHeader.GET(ServHeader."Document Type"::Invoice,InvNo) THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type","Contract Type");
                ServContractLine.SETRANGE("Contract No.","Contract No.");
    
    // Add the following line.
                ServContractLine.SETRANGE("Line No.",LineNo);
    
                IF NOT "Contract Lines on Invoice" THEN
                  CreateHeadingServLine(ServHeader,"Contract Type","Contract No.");
                IF ServContractLine.FIND('-') THEN
                  REPEAT
    ...
    
    

    Postojeći kôd 3

    ...
                        IF (ServContractLine."Contract Expiration Date" = 0D) OR
                           (ServContractLine."Contract Expiration Date" >= InvoiceFrom)
                        THEN
                          CreateDetailedServLine(ServHeader,ServContractLine,"Contract Type","Contract No.");
    
    // Delete the following lines.
                  UNTIL ServContractLine.NEXT = 0;
              END;
    
              ServiceApplyEntry :=
                CreateServiceLedgerEntry(
                  ServHeader,"Contract Type","Contract No.",InvoiceFrom,InvoiceTo,InvoicedAmount,FALSE,FALSE,InvAmountRounded);
    
              CreateServLine(
                ServHeader,"Contract Type","Contract No.",
               InvoiceFrom,InvoiceTo,InvAmountRounded,ServiceApplyEntry,FALSE);
    // End of the lines.
    
              CreateLastServLines(ServHeader,"Contract Type","Contract No.");
    
              VALIDATE("Last Invoice Date","Next Invoice Date");
              "Print Increase Text" := FALSE;
    ...
    
    

    Kôd za zamenu 3

    ...
                        IF (ServContractLine."Contract Expiration Date" = 0D) OR
                           (ServContractLine."Contract Expiration Date" >= InvoiceFrom)
                        THEN
                          CreateDetailedServLine(ServHeader,ServContractLine,"Contract Type","Contract No.");
    
    // Add the following lines.
                    ServiceApplyEntry :=
                      CreateServiceLedgerEntry(
                        ServHeader,"Contract Type","Contract No.",InvoiceFrom,InvoiceTo,InvoicedAmount,FALSE,FALSE,InvAmountRounded,
                         ServContractLine."Line No.");
    
                    CreateServLine(
                      ServHeader,"Contract Type","Contract No.",
                      InvoiceFrom,InvoiceTo,InvAmountRounded,ServiceApplyEntry,FALSE,
                       ServContractLine."Line No.");
                  UNTIL ServContractLine.NEXT = 0;
              END;
    // End of the lines.
    
              CreateLastServLines(ServHeader,"Contract Type","Contract No.");
    
              VALIDATE("Last Invoice Date","Next Invoice Date");
              "Print Increase Text" := FALSE;
    ...
    
    
  9. Promenite kôd u funkciji SignContractQuote u kodnoj jedinici SignServContractDoc (5944) na sledeći način:
    Postojeći kôd 1

    ...
            FromServContractLine@1008 : Record 5964;
            ToServContractHeader@1007 : Record 5965;
            FiledServContractHeader2@1009 : Record 5970;
            ServItem@1006 : Record 5940;
            InvFrom@1003 : Date;
            InvTo@1004 : Date;
            TempDate@1005 : Date;
            InvAmountRounded@1010 : Decimal;
    ...
    
    

    Kôd za zamenu 1

    ...
            FromServContractLine@1008 : Record 5964;
            ToServContractHeader@1007 : Record 5965;
            FiledServContractHeader2@1009 : Record 5970;
            ServItem@1006 : Record 5940;
    
    // Add the following line.
            ServContractLine@1001 : Record 5964;
    
            InvFrom@1003 : Date;
            InvTo@1004 : Date;
            TempDate@1005 : Date;
            InvAmountRounded@1010 : Decimal;
    ...
    
    

    Postojeći kôd 2

    ...
            LastPrepaidPostingDate := 0D;
    
            ToServContractHeader.TRANSFERFIELDS(FromServContractHeader);
    
     // Delete the following lines.
            IF InvoiceNow THEN BEGIN
              PostingDate := InvoiceFrom;
              AmountNow := ServContractMgt.CalcContractAmount(FromServContractHeader,InvoiceFrom,InvoiceTo);
              InvoiceAmountDueToSigning := AmountNow;
            END;
    // End of the lines.
    
            ToServContractHeader."Contract Type" := ToServContractHeader."Contract Type"::Contract;
            ToServContractHeader.Status := ToServContractHeader.Status::Signed;
            IF InvoiceNow THEN BEGIN
              ToServContractHeader."Last Invoice Date" := ToServContractHeader."Starting Date";
    ...
    
    

    Kôd zamene 2

    ...
            LastPrepaidPostingDate := 0D;
    
            ToServContractHeader.TRANSFERFIELDS(FromServContractHeader);
    
            ToServContractHeader."Contract Type" := ToServContractHeader."Contract Type"::Contract;
            ToServContractHeader.Status := ToServContractHeader.Status::Signed;
            IF InvoiceNow THEN BEGIN
              ToServContractHeader."Last Invoice Date" := ToServContractHeader."Starting Date";
    ...
    
    

    Postojeći kôd 3

    ...
                ServContractMgt.CreateServHeader(ToServContractHeader,PostingDate,FALSE);
    
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
              ServMgtSetup.GET;
    
     // Delete the following lines.
              AppliedEntry :=
                ServContractMgt.CreateServiceLedgerEntry(
                  ServHeader,ToServContractHeader."Contract Type",
                  ToServContractHeader."Contract No.",InvoiceFrom,
                  InvoiceTo,AmountNow,TRUE,FALSE,InvAmountRounded);
    // End of the lines.
    
              IF ToServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ToServContractLine.RESET;
                ToServContractLine.SETRANGE("Contract Type",ToServContractHeader."Contract Type");
                ToServContractLine.SETRANGE("Contract No.",ToServContractHeader."Contract No.");
    ...
    
    

    Kôd za zamenu 3

    ...
                ServContractMgt.CreateServHeader(ToServContractHeader,PostingDate,FALSE);
    
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
              ServMgtSetup.GET;
              IF ToServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ToServContractLine.RESET;
                ToServContractLine.SETRANGE("Contract Type",ToServContractHeader."Contract Type");
                ToServContractLine.SETRANGE("Contract No.",ToServContractHeader."Contract No.");
    ...
    
    

    Postojeći kôd 4

    ...
                  ServHeader,
                  ToServContractHeader."Contract Type",
                  ToServContractHeader."Contract No.");
    
     // Delete the following lines.
              ServContractMgt.CreateServLine(
                ServHeader,
                ToServContractHeader."Contract Type",
                ToServContractHeader."Contract No.",
                InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE);
    // End of the lines.
    
              ToServContractHeader.MODIFY;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    

    Kôd zamene 4

    ...
                  ServHeader,
                  ToServContractHeader."Contract Type",
                  ToServContractHeader."Contract No.");
    
      // Add the following lines.
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
             ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
              IF ServContractLine.FINDSET THEN
                REPEAT
                  IF InvoiceNow THEN BEGIN 
                    PostingDate := InvoiceFrom;
                    AmountNow := ServContractMgt.CalcContractAmount(FromServContractHeader,InvoiceFrom,InvoiceTo,ServContractLine."Line No.");
                    InvoiceAmountDueToSigning := AmountNow;
                  END;
                 AppliedEntry :=
                    ServContractMgt.CreateServiceLedgerEntry(
                      ServHeader,ToServContractHeader."Contract Type",
                      ToServContractHeader."Contract No.",InvoiceFrom,
                      InvoiceTo,AmountNow,TRUE,FALSE,InvAmountRounded,ServContractLine."Line No.");
                  ServContractMgt.CreateServLine(
                    ServHeader,
                    ToServContractHeader."Contract Type",
                    ToServContractHeader."Contract No.",
                    InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE,ServContractLine."Line No.");
                UNTIL ServContractLine.NEXT=0;
    // End of the lines.
    
              ToServContractHeader.MODIFY;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    
  10. Promenite kôd u funkciji SignContract u kodnoj jedinici SignServContractDoc (5944) na sledeći način:
    Postojeći kôd 1

    ...
                END;
              END;
            END;
    
    // Delete the following lines.
            IF InvoiceNow THEN BEGIN
              PostingDate := InvoiceFrom;
              AmountNow := ServContractMgt.CalcContractAmount(ServContractHeader,InvoiceFrom,InvoiceTo);
            END;
    // End of the lines.
    
            IF InvoiceNow THEN BEGIN
              ServContractHeader."Last Invoice Date" := ServContractHeader."Starting Date";
              ServContractHeader.VALIDATE("Last Invoice Period End",InvoiceTo);
    ...
    
    

    Kôd za zamenu 1

    ...
                END;
              END;
            END;
    
    
            IF InvoiceNow THEN BEGIN
              ServContractHeader."Last Invoice Date" := ServContractHeader."Starting Date";
              ServContractHeader.VALIDATE("Last Invoice Period End",InvoiceTo);
    ...
    
    

    Postojeći kôd 2

    ...
                ServContractMgt.CreateServHeader(ServContractHeader,PostingDate,FALSE);
    
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
              ServMgtSetup.GET;
    
    // Delete the following lines.
              AppliedEntry :=
                ServContractMgt.CreateServiceLedgerEntry(
                  ServHeader,ServContractHeader."Contract Type",
                  ServContractHeader."Contract No.",InvoiceFrom,
                  InvoiceTo,AmountNow,TRUE,FALSE,InvAmountRounded);
    // End of the lines.
    
              IF ServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
    ...
    
    

    Kôd zamene 2

    ...
                ServContractMgt.CreateServHeader(ServContractHeader,PostingDate,FALSE);
    
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
              ServMgtSetup.GET;
    
              IF ServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
    ...
    
    

    Postojeći kôd 3

    ...
                ServContractMgt.CreateHeadingServLine(
                  ServHeader,
                  ServContractHeader."Contract Type",
                  ServContractHeader."Contract No.");
    
    // Delete the following lines.
              ServContractMgt.CreateServLine(
                ServHeader,
                ServContractHeader."Contract Type",
                ServContractHeader."Contract No.",
                InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE);
    // End of the lines.
    
              ServContractHeader.MODIFY;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    

    Kôd za zamenu 3

    ...
                ServContractMgt.CreateHeadingServLine(
                  ServHeader,
                  ServContractHeader."Contract Type",
                  ServContractHeader."Contract No.");
    
    // Add the following lines.
              ServContractLine.RESET;
              ServContractLine.SETRANGE("Contract Type",ServContractHeader."Contract Type");
              ServContractLine.SETRANGE("Contract No.",ServContractHeader."Contract No.");
              IF ServContractLine.FINDSET THEN
                REPEAT
                  AmountNow := ServContractMgt.CalcContractAmount(ServContractHeader,InvoiceFrom,InvoiceTo,ServContractLine."Line No.");
                  AppliedEntry :=
                    ServContractMgt.CreateServiceLedgerEntry(
                      ServHeader,ServContractHeader."Contract Type",
                      ServContractHeader."Contract No.",InvoiceFrom,
                     InvoiceTo,AmountNow,TRUE,FALSE,InvAmountRounded,ServContractLine."Line No.");
                  ServContractMgt.CreateServLine(
                    ServHeader,
                    ServContractHeader."Contract Type",
                    ServContractHeader."Contract No.",
                    InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE,ServContractLine."Line No.");
                UNTIL ServContractLine.NEXT = 0;
      // End of the lines.
    
              ServContractHeader.MODIFY;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    
  11. Promenite kôd u funkciji AddendumToContract u kodnoj jedinici SignServContractDoc (5944) na sledeći način:
    Postojeći kôd 1

    ...
              ServContractMgt.InitCodeUnit;
              ServHeaderNo :=
                ServContractMgt.CreateServHeader(FromServContractHeader,PostingDate,FALSE);
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
    
    // Delete the following lines.
              AppliedEntry :=
                ServContractMgt.CreateServiceLedgerEntry(
                  ServHeader,FromServContractHeader."Contract Type",
                  FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,RemainingAmt,TRUE,TRUE,InvAmountRounded);
    // End of the lines.
    
              IF FromServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
    ...
    
    

    Kôd za zamenu 1

    ...
              ServContractMgt.InitCodeUnit;
              ServHeaderNo :=
                ServContractMgt.CreateServHeader(FromServContractHeader,PostingDate,FALSE);
              ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
              IF FromServContractHeader."Contract Lines on Invoice" THEN BEGIN
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
    ...
    
    

    Postojeći kôd 2

    ...
                  ServHeader,
                  FromServContractHeader."Contract Type",
                  FromServContractHeader."Contract No.");
    
    // Delete the following lines.
              ServContractMgt.CreateServLine(
                ServHeader,FromServContractHeader."Contract Type",
                FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE);
    // End of the lines.
    
              ServContractMgt.FinishCodeunit;
            END;
    
            IF InvoicePrepaid AND FromServContractHeader.Prepaid THEN BEGIN
    ...
    
    

    Kôd zamene 2

    ...
                  ServHeader,
                  FromServContractHeader."Contract Type",
                  FromServContractHeader."Contract No.");
    
    // Add the following lines.
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
                IF ServContractLine.FIND('-') THEN
                  REPEAT
                    AppliedEntry :=
                      ServContractMgt.CreateServiceLedgerEntry(
                        ServHeader,FromServContractHeader."Contract Type",
                        FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,RemainingAmt,TRUE,TRUE,InvAmountRounded,
                         ServContractLine."Line No.");
                    ServContractMgt.CreateServLine(
                      ServHeader,FromServContractHeader."Contract Type",
                      FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE,
                       ServContractLine."Line No.");
                  UNTIL ServContractLine.NEXT = 0;
    // End of the lines.
    
              ServContractMgt.FinishCodeunit;
            END;
    
            IF InvoicePrepaid AND FromServContractHeader.Prepaid THEN BEGIN
    ...
    
    

    Postojeći kôd 3

    ...
                      ServContractLine."Line Amount" / 12 * NoOfMonthsAndMParts,Currency."Amount Rounding Precision");
                UNTIL ServContractLine.NEXT = 0;
              IF RemainingAmt <> 0 THEN BEGIN
                ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
                AppliedEntry :=
    
    // Delete the following lines.
                  ServContractMgt.CreateServiceLedgerEntry(
                    ServHeader,FromServContractHeader."Contract Type",
                    FromServContractHeader."Contract No.",FirstPrepaidPostingDate,
                    LastPrepaidPostingDate,RemainingAmt,FALSE,TRUE,InvAmountRounded);
    // End of the lines.
    
                IF FromServContractHeader."Contract Lines on Invoice" THEN BEGIN
                  ServContractLine.RESET;
                  ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                  ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
    ...
    
    

    Kôd za zamenu 3

    ...
                      ServContractLine."Line Amount" / 12 * NoOfMonthsAndMParts,Currency."Amount Rounding Precision");
                UNTIL ServContractLine.NEXT = 0;
              IF RemainingAmt <> 0 THEN BEGIN
                ServHeader.GET(ServHeader."Document Type"::Invoice,ServHeaderNo);
                IF FromServContractHeader."Contract Lines on Invoice" THEN BEGIN
                  ServContractLine.RESET;
                  ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                  ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
    ...
    
    

    Postojeći kôd 4

    ...
                  ServContractMgt.CreateHeadingServLine(
                    ServHeader,
                    FromServContractHeader."Contract Type",
                    FromServContractHeader."Contract No.");
    
    // Delete the following lines.
                ServContractMgt.CreateServLine(
                  ServHeader,
                  FromServContractHeader."Contract Type",
                  FromServContractHeader."Contract No.",
                  FirstPrepaidPostingDate,LastPrepaidPostingDate,
                  InvAmountRounded,AppliedEntry,FALSE);
    // End of the lines.
    
              END;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    

    Kôd zamene 4

    ...
                  ServContractMgt.CreateHeadingServLine(
                    ServHeader,
                    FromServContractHeader."Contract Type",
                    FromServContractHeader."Contract No.");
    
    // Add the following lines.
                ServContractLine.RESET;
                ServContractLine.SETRANGE("Contract Type",FromServContractHeader."Contract Type");
                ServContractLine.SETRANGE("Contract No.",FromServContractHeader."Contract No.");
                IF ServContractLine.FIND('-') THEN
                  REPEAT
                    AppliedEntry :=
                      ServContractMgt.CreateServiceLedgerEntry(
                        ServHeader,FromServContractHeader."Contract Type",
                        FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,RemainingAmt,TRUE,TRUE,InvAmountRounded,
                         ServContractLine."Line No.");
                    ServContractMgt.CreateServLine(
                      ServHeader,FromServContractHeader."Contract Type",
                      FromServContractHeader."Contract No.",InvoiceFrom,InvoiceTo,InvAmountRounded,AppliedEntry,TRUE,
                       ServContractLine."Line No.");
                  UNTIL ServContractLine.NEXT = 0;
    // End of the lines.
    
              END;
              ServContractMgt.FinishCodeunit;
            END;
    ...
    
    

          

Preduslovi

Morate da imate instaliran Microsoft Dynamics NAV 2009 da biste primenili ovu hitnu ispravku.

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“.

KORPORACIJA MICROSOFT I/ILI NJENI DOBAVLJAČI NE DAJU NIKAKVE IZJAVE NITI GARANCIJE U VEZI SA PODESNOŠĆU, POUZDANOŠĆU ILI TAČNOŠĆU INFORMACIJA KOJE SE NALAZE U DOKUMENTIMA I SRODNOJ GRAFICI OBJAVLJENOJ NA OVOM VEB SAJTU ("MATERIJALI") U BILO KOJE SVRHE.

MATERIJALI MOGU DA SADRŽE TEHNIČKE NETAČNOSTI ILI TIPOGRAFSKE GREŠKE I MOGU SE KORIGOVATI U BILO KOM TRENUTKU BEZ PRETHODNOG OBAVEŠTENJA. U NAJVEĆOJ MERI U KOJOJ TO DOZVOLJAVA PRIMENLJIVI ZAKON, KORPORACIJA MICROSOFT I/ILI NJENI DOBAVLJAČI ODRIČU SE I ISKLJUČUJU SVE IZJAVE, GARANCIJE I USLOVE, BILO IZRIČITE, IMPLICIRANE ILI ZAKONSKE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA, IZJAVE, GARANCIJE ILI USLOVE VLASNIŠTVA, NEKRŠENJA PRAVA, ZADOVOLJAVAJUĆEG STANJA ILI KVALITETA, PODESNOSTI ZA PRODAJU I PODESNOSTI ZA ODREĐENU NAMENU, U VEZI SA MATERIJALIMA.