Se aplică la
Dynamics NAV 2009

Simptome

După ce instalați cea mai recentă versiune de raport client facturile listă, dacă se aplică o factură pentru tranzacția de plată asociate şi apoi post-l în versiunea italiană a Microsoft Dynamics NAV 2009, raportul arată plată. Se afişează numai factura cât mai aproape. Urmați pașii din secțiunea modificări de cod pentru a rezolva această problemă. Această problemă se produce în următoarele produse:

  • Versiunea italiană a Microsoft Dynamics NAV 2009 R2

  • Versiunea italiană a Microsoft Dynamics NAV 2009 SP1

Rezolvare

Informații despre remedierea rapidă

Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet service pack Microsoft Dynamics NAV 2009 sau versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.

Informaţii despre instalare

Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri. Cu toate acestea, nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară construi proceduri pentru a răspunde cerințelor dvs. specifice.Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii de client Microsoft Dynamics NAV sunt log off sistemul. Aceasta include servicii Microsoft Dynamics NAV Application Server (NAS). Ar trebui să fie singurul client utilizatorului care este conectat când implementați această remediere rapidă.Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltare.Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:

  • Modify permisiunea pentru obiectul care se va schimba.

  • Permisiunea de executare pentru obiectul sistem obiect ID 5210 și sistem obiect ID 9015obiect.

Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.

Modificări de cod

Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.Pentru a rezolva această problemă, urmați acești pași:

  1. Modificați codul din raportul de listă de facturile client (12117) după cum urmează:Cod existent 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)                          WHERE(Entry Type=CONST(Application));        OnPreDataItem=BEGIN// Delete the following line.CustLedgEntry1.COPYFILTER("Posting Date", "Detailed Cust. Ledg. Entry"."Posting Date"); // IT0004// End of the deleted line.                      END;        OnAfterGetRecord=BEGIN...

    Înlocuirea cod 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)                          WHERE(Entry Type=CONST(Application));        OnPreDataItem=BEGIN// Add the following line.FindAppliedDtldCustLedgEntry(CustLedgEntry1."Entry No.");// End of the added line.                      END;        OnAfterGetRecord=BEGIN...

    Cod existent 2

    ...     {   END;        OnAfterGetRecord=BEGIN// Delete the following lines.IF ("Entry No." = 0) OR ("Unapplied by Entry No." <> 0) OR("Document Type" IN["Document Type"::Payment,"Document Type"::Refund,"Document Type"::Dishonored,"Document Type"::" "])THENShowDetailedCustLedgerEntry := TRUEELSEShowDetailedCustLedgerEntry := FALSE;// IT0015.begin//VSTF275923 begin// VSTF305887.begin//IF PrintCustLedgEntry2 THENIF PrintCustLedgEntry2 AND ("Document Type" <> "Document Type"::Payment) THENCurrReport.SKIP;// VSTF305887.end//CurrReport.SKIP;//VSTF275923 end// IT0015.endCustLedgEntry3.GET("Applied Cust. Ledger Entry No.");CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");// IT0004.beginClosedByAmountLCY := "Amount (LCY)";TotalForCustomer += "Amount (LCY)";// IT0004.endTotalClosedByAmntLCY += "Amount (LCY)"; // IT0005// End of the deleted lines.                         END;        DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);...

    Înlocuirea cod 2

    ...END;        OnAfterGetRecord=BEGIN// Add the following lines.IF NOT TempDetailedCustLedgEntryApp.GET("Entry No.") THENCurrReport.SKIP;CustLedgEntry3.GET("Cust. Ledger Entry No.");CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");AppliedDocumentTypeText := FORMAT(CustLedgEntry3."Document Type");ClosedByAmountLCY := "Amount (LCY)";TotalForCustomer -= "Amount (LCY)";TotalClosedByAmntLCY -= "Amount (LCY)";// End of the added lines.                         END;        DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);...

    Cod existent 3

    ... SectionWidth=24450;            SectionHeight=846;            OnPreSection=BEGIN// Delete the following line.CurrReport.SHOWOUTPUT(ShowDetailedCustLedgerEntry)// End of the deleted line.                         END;          }...

    Înlocuirea cod 3

    ...SectionWidth=24450;            SectionHeight=846;            OnPreSection=BEGIN// Add the following lines.IF ("Unapplied by Entry No." <> 0) THENCurrReport.SHOWOUTPUT(FALSE);// End of the added lines.                         END;          }...

    Cod existent 4

    ...ForeColor=65535;                                                         SourceExpr="Document Type" = "Document Type"::Dishonored;                                                         DataSetFieldName=Document_Type_____Document_Type___Dishonored }// Delete the following lines.{ 1130123;TextBox   ;24000;0    ;150  ;423  ;Visible=No;SourceExpr=ShowDetailedCustLedgerEntry;DataSetFieldName=ShowDetailedCustLedgerEntry }// End of the deleted lines.          }           }        { PROPERTIES...

    Înlocuirea cod 4

    ... ForeColor=65535;                                                         SourceExpr="Document Type" = "Document Type"::Dishonored;                                                         DataSetFieldName=Document_Type_____Document_Type___Dishonored }          }           }        { PROPERTIES...
  2. Modificați codul din variabile globale în raportul de listă de facturile client (12117) după cum urmează:Cod existent 1

    ...Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';      Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';      SalesSetup@1130002 : Record 311;      EndingDate@1130003 : Date;      ExposureDate@1130004 : Date;      OnlyOpened@1130005 : Boolean;...

    Înlocuirea cod 1

    ...  Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';      Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';      SalesSetup@1130002 : Record 311;// Add the following lines.CustLedgEntry3@1130130 : Record 21;TempDetailedCustLedgEntryApp@1130131 : TEMPORARY Record 379;// End of the added lines.      EndingDate@1130003 : Date;      ExposureDate@1130004 : Date;      OnlyOpened@1130005 : Boolean;...

    Cod existent 2

    ... TotExpAmntForCust@1130011 : Decimal;      BalanceDue@1130012 : Decimal;      NULL@1130013 : DateFormula;// Delete the following lines.CustLedgEntry3@1130130 : Record 21;PrintCustLedgEntry2@1130014 : Boolean;ShowDetailedCustLedgerEntry@1130015 : Boolean INDATASET;// End of the deleted lines.    BEGIN    {...

    Înlocuirea cod 2

    ...  TotExpAmntForCust@1130011 : Decimal;      BalanceDue@1130012 : Decimal;      NULL@1130013 : DateFormula;// Add the following lines.PrintCustLedgEntry2@1130014 : Boolean;AppliedDocumentTypeText@1130132 : Text[30];LOCAL PROCEDURE FindAppliedDtldCustLedgEntry@1130007(CustLedgerEntryNo@1130000 : Integer);VARDetailedCustLedgEntry@1130001 : Record 379;DetailedCustLedgEntryApplied@1130003 : Record 379;BEGINTempDetailedCustLedgEntryApp.RESET;TempDetailedCustLedgEntryApp.DELETEALL;DetailedCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgerEntryNo);DetailedCustLedgEntry.SETRANGE("Entry Type",DetailedCustLedgEntry."Entry Type"::Application);DetailedCustLedgEntry.SETRANGE(Unapplied,FALSE);DetailedCustLedgEntryApplied.SETRANGE("Entry Type",DetailedCustLedgEntryApplied."Entry Type"::Application);IF DetailedCustLedgEntry.FINDSET THENREPEATDetailedCustLedgEntryApplied.SETRANGE("Applied Cust. Ledger Entry No.",DetailedCustLedgEntry."Applied Cust. Ledger Entry No.");DetailedCustLedgEntryApplied.SETFILTER("Cust. Ledger Entry No.",'<>%1',CustLedgerEntryNo);DetailedCustLedgEntryApplied.SETRANGE("Customer No.",DetailedCustLedgEntry."Customer No.");DetailedCustLedgEntryApplied.SETRANGE("Transaction No.",DetailedCustLedgEntry."Transaction No.");IF DetailedCustLedgEntryApplied.FINDSET THENREPEATTempDetailedCustLedgEntryApp := DetailedCustLedgEntryApplied;IF TempDetailedCustLedgEntryApp.INSERT THEN;UNTIL DetailedCustLedgEntryApplied.NEXT = 0;UNTIL DetailedCustLedgEntry.NEXT = 0;END;// End of the added lines.    BEGIN    {...
  3. Modificați codul din lista de facturi furnizor cont raportul (12116) după cum urmează:Cod existent 1

    ... </TableRow>                  </TableRows>                </Header>               <Visibility>                 <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>               </Visibility>              </TableGroup>            </TableGroups>            <Top>2.22222cm</Top>...

    Înlocuirea cod 1

    ... </TableRow>                  </TableRows>                </Header>// Delete the following lines.<Visibility><Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden></Visibility>// End of the deleted lines.              </TableGroup>            </TableGroups>            <Top>2.22222cm</Top>...

    Cod existent 2

    ...Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">          <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>        </Field>       <Field Name="ShowDetailedCustLedgerEntry">         <DataField>ShowDetailedCustomerLedgerEntry</DataField>       </Field>      </Fields>      <Query>        <CommandText />...

    Înlocuirea cod 2

    ...<Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">          <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>        </Field>// Delete the following lines.<Field Name="ShowDetailedCustLedgerEntry"><DataField>ShowDetailedCustomerLedgerEntry</DataField></Field>// End of the deleted lines.      </Fields>      <Query>        <CommandText />...

Cerințe preliminare

Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:

  • Versiunea italiană a Microsoft Dynamics NAV 2009 R2

  • Versiunea italiană a Microsoft Dynamics NAV 2009 SP1

Eliminare informaţii

Nu se poate elimina această remediere rapidă.

Stare

Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizarepentru alte considerații.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.