Afișare câmp de instalare este ignorat în listă de analiză vânzări și Excel export în Microsoft Dynamics NAV 2009

Șablon: CPR - Navision cod Fiacx șablon

Număr eroare: 213570 (întreținere conținut)

Simptome

"Show" câmp de instalare nu se ține cont în listă de analiză vânzări și Excel export în Microsoft Dynamics NAV 2009. Numai opțiunea "Print" ia în considerare opțiunea selectată pentru acest câmp. Urmați pașii din secțiunea modificări de cod pentru a rezolva această problemă. Această problemă se produce în următoarele produse:

  • Microsoft Dynamics NAV 2009 R2

  • 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ă.

Dacă această remediere rapidă nu este publicată pentru descărcare publică (ceea ce înseamnă că un URL public pentru această remediere rapidă nu este furnizat în acest articol), distribuția necesită aprobarea manager, membru din echipa de implementare sau conducerii tehnice și se aplică următoarele informații:

  • Pentru a primi această remediere rapidă, clienții trebuie să se confrunte cu eroarea menționată în secțiunea "simptome".

  • Trebuie să urmăriți clienții să trimiteți și să le furnizați următorul pachet service pack când acesta va fi disponibil (dacă se lansează un pachet service pack).

Această remediere rapidă este programată să fie inclusă în Microsoft Dynamics NAV 2013 Service Pack.

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 9015

    obiect.

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 proprietățile sub formă de matrice a analiză vânzări (9207) după cum urmează:
    Cod existent 1

    ...LinksAllowed=No;
    SourceTable=Table7114;
    OnOpenForm=BEGIN
    AnalysisColumn.SETRANGE("Analysis Area",AnalysisColumn."Analysis Area"::Sales);
    AnalysisColumn.SETRANGE("Analysis Column Template",AnalysisColumn."Analysis Column Template");
    AnalysisColumn.SETRANGE("Line No.",FirstLineNo,LastLineNo);
    ...

    Înlocuirea cod 1

    ...LinksAllowed=No;
    SourceTable=Table7114;
    OnOpenForm=BEGIN

    // Add the following line.
    SETFILTER(Show,'<>%1',Show::No);
    // End of the added line.

    AnalysisColumn.SETRANGE("Analysis Area",AnalysisColumn."Analysis Area"::Sales);
    AnalysisColumn.SETRANGE("Analysis Column Template",AnalysisColumn."Analysis Column Template");
    AnalysisColumn.SETRANGE("Line No.",FirstLineNo,LastLineNo);
    ...

    Cod existent 2

    ...OnAfterGetRecord=BEGIN
    i := 1;

    IF AnalysisColumn.FIND('-') THEN BEGIN
    REPEAT
    IF i <= ARRAYLEN(MatrixData) THEN BEGIN
    ...

    Înlocuirea cod 2

    ...OnAfterGetRecord=BEGIN
    i := 1;

    // Add the following line.
    AnalysisColumn.SETFILTER(Show,'<>%1',AnalysisColumn.Show::Never);
    // End of the added line.

    IF AnalysisColumn.FIND('-') THEN BEGIN
    REPEAT
    IF i <= ARRAYLEN(MatrixData) THEN BEGIN
    ...
  2. Modificați codul din controalele în formularul de matrice al analiză vânzări (9207) după cum urmează:
    Cod existent 1

    ...VertGlue=Both }
    { 2 ;TextBox ;0 ;0 ;1700 ;0 ;ParentControl=1;
    InColumn=Yes;

    // Delete the following line.
    SourceExpr="Row Ref. No." }

    // End of the deleted line.

    { 3 ;Label ;0 ;0 ;0 ;0 ;ParentControl=2;
    InColumnHeading=Yes }
    { 4 ;TextBox ;0 ;0 ;2650 ;0 ;HorzGlue=Both;
    ...

    Înlocuirea cod 1

    ...VertGlue=Both }
    { 2 ;TextBox ;0 ;0 ;1700 ;0 ;ParentControl=1;
    InColumn=Yes;

    // Add the following lines.
    SourceExpr="Row Ref. No.";
    OnFormat=BEGIN
    CurrForm."Row Ref. No.".UPDATEFONTBOLD := Bold;
    END;
    }
    // End of the added lines.

    { 3 ;Label ;0 ;0 ;0 ;0 ;ParentControl=2;
    InColumnHeading=Yes }
    { 4 ;TextBox ;0 ;0 ;2650 ;0 ;HorzGlue=Both;
    ...

    Cod existent 2

    ... { 4   ;TextBox      ;0    ;0    ;2650 ;0    ;HorzGlue=Both;
    ParentControl=1;
    InColumn=Yes;

    // Delete the following line.
    SourceExpr=Description }
    // End of the deleted line.

    { 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
    InColumnHeading=Yes }
    { 9 ;TextBox ;3995 ;1100 ;1700 ;440 ;Name=Field1;
    ...

    Înlocuirea cod 2

    ...{ 4   ;TextBox      ;0    ;0    ;2650 ;0    ;HorzGlue=Both;
    ParentControl=1;
    InColumn=Yes;

    // Add the following lines.
    SourceExpr=Description;
    OnFormat=BEGIN
    CurrForm.Description.UPDATEFONTBOLD := Bold;
    END;
    }
    // End of the added lines.

    { 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
    InColumnHeading=Yes }
    { 9 ;TextBox ;3995 ;1100 ;1700 ;440 ;Name=Field1;
    ...
  3. Modificați codul din funcția FillMatrixColumns vânzări analiză raport pagină (7117) după cum urmează:
    Cod existent

    ...AnalysisColumn2.SETRANGE("Analysis Area",AnalysisColumn2."Analysis Area"::Sales);
    AnalysisColumn2.SETRANGE("Analysis Column Template",CurrentColumnTemplate);
    AnalysisColumn2.SETRANGE("Line No.",FirstLineNo,LastLineNo);
    i := 1;

    IF AnalysisColumn2.FIND('-') THEN
    ...

    Cod de înlocuire

    ...AnalysisColumn2.SETRANGE("Analysis Area",AnalysisColumn2."Analysis Area"::Sales);
    AnalysisColumn2.SETRANGE("Analysis Column Template",CurrentColumnTemplate);
    AnalysisColumn2.SETRANGE("Line No.",FirstLineNo,LastLineNo);

    // Add the following line.
    AnalysisColumn2.SETFILTER(Show,'<>%1',AnalysisColumn2.Show::Never);
    // End of the added line.

    i := 1;

    IF AnalysisColumn2.FIND('-') THEN
    ...
  4. Modificați codul din proprietățile în pagina de matrice de analiză de vânzări (9207) după cum urmează:
    Cod existent 1

    ...END;

    OnOpenPage=BEGIN
    AnalysisColumn.SETRANGE("Analysis Area",AnalysisColumn."Analysis Area"::Sales);
    AnalysisColumn.SETRANGE("Analysis Column Template",AnalysisColumn."Analysis Column Template");
    AnalysisColumn.SETRANGE("Line No.",FirstLineNo,LastLineNo);
    ...

    Înlocuirea cod 1

    ...END;

    OnOpenPage=BEGIN

    // Add the following line.
    SETFILTER(Show,'<>%1',Show::No);
    // End of the added line.

    AnalysisColumn.SETRANGE("Analysis Area",AnalysisColumn."Analysis Area"::Sales);
    AnalysisColumn.SETRANGE("Analysis Column Template",AnalysisColumn."Analysis Column Template");
    AnalysisColumn.SETRANGE("Line No.",FirstLineNo,LastLineNo);
    ...

    Cod existent 2

    ...OnAfterGetRecord=BEGIN
    i := 1;

    IF AnalysisColumn.FIND('-') THEN BEGIN
    REPEAT
    IF i <= ARRAYLEN(MatrixData) THEN BEGIN
    ...

    Înlocuirea cod 2

    ...OnAfterGetRecord=BEGIN
    i := 1;

    // Add the following line.
    AnalysisColumn.SETFILTER(Show,'<>%1',AnalysisColumn.Show::Never);
    // End of the added line.

    IF AnalysisColumn.FIND('-') THEN BEGIN
    REPEAT
    IF i <= ARRAYLEN(MatrixData) THEN BEGIN
    ...
  5. Modificați codul din controale în pagina de matrice de analiză de vânzări (9207) după cum urmează:
    Cod existent

    ...GroupType=Repeater }

    { 2 ;2 ;Field ;
    SourceExpr="Row Ref. No." }

    { 4 ;2 ;Field ;
    SourceExpr=Description }

    { 9 ;2 ;Field ;
    Name=Field1;
    ...

    Cod de înlocuire

    ...GroupType=Repeater }

    { 2 ;2 ;Field ;
    SourceExpr="Row Ref. No.";

    // Add the following line.
    StyleExpr=RowRefNoEmphasize }
    // End of the added line.

    { 4 ;2 ;Field ;
    SourceExpr=Description;

    // Add the following line.
    StyleExpr=DescriptionEmphasize }
    // End of the added line.

    { 9 ;2 ;Field ;
    Name=Field1;
    ...
  6. Modificați codul din variabile globale în pagina de matrice de analiză de vânzări (9207) după cum urmează:
    Cod existent

    ...Field30Visible@19010597 : Boolean INDATASET;
    Field31Visible@19056564 : Boolean INDATASET;
    Field32Visible@19017135 : Boolean INDATASET;

    PROCEDURE Load@1(AnalysisColumn1@1000 : Record 7118;MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowError1@1002 : 'None,Division by Zero,Period Error,Invalid Formula,Cyclic Formula,All';FirstLineNo1@1005 : Integer;LastLineNo1@1004 : Integer);
    BEGIN
    ...

    Cod de înlocuire

    ...Field30Visible@19010597 : Boolean INDATASET;
    Field31Visible@19056564 : Boolean INDATASET;
    Field32Visible@19017135 : Boolean INDATASET;

    // Add the following lines.
    RowRefNoEmphasize@1170000002 : Boolean INDATASET;
    DescriptionEmphasize@1170000001 : Boolean INDATASET;
    // End of the added lines.

    PROCEDURE Load@1(AnalysisColumn1@1000 : Record 7118;MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowError1@1002 : 'None,Division by Zero,Period Error,Invalid Formula,Cyclic Formula,All';FirstLineNo1@1005 : Integer;LastLineNo1@1004 : Integer);
    BEGIN
    ...
  7. Modificați codul din funcția t RowRefNoOnFormaîn pagina de matrice de analiză de vânzări (9207) după cum urmează:
    Cod existent

    ...Field32Visible := MatrixColumnCaptions[32] <> '';
    END;

    BEGIN
    END.
    }
    ...

    Cod de înlocuire

    ...Field32Visible := MatrixColumnCaptions[32] <> '';
    END;

    // Add the following lines.
    LOCAL PROCEDURE RowRefNoOnFormat@19018750();
    BEGIN
    RowRefNoEmphasize := Bold;
    END;

    LOCAL PROCEDURE DescriptionOnFormat@19023855();
    BEGIN
    DescriptionEmphasize := Bold;
    END;
    // End of the added lines.

    BEGIN
    END.
    }
    ...
  8. Modificați codul în raport de analiză (7112) după cum urmează:
    Cod existent

    ...DataItemTable=Table7114;
    DataItemTableView=SORTING(Analysis Area,Analysis Line Template Name,Line No.);
    OnPreDataItem=BEGIN

    SETFILTER("Date Filter",DateFilter);
    SETFILTER("Item Budget Filter",ItemBudgetFilter);
    SETFILTER("Location Filter",LocationFilter);
    ...

    Cod de înlocuire

    ...DataItemTable=Table7114;
    DataItemTableView=SORTING(Analysis Area,Analysis Line Template Name,Line No.);
    OnPreDataItem=BEGIN

    // Add the following line.
    SETFILTER(Show,'<>%1',Show::No);
    // End of the added line.

    SETFILTER("Date Filter",DateFilter);
    SETFILTER("Item Budget Filter",ItemBudgetFilter);
    SETFILTER("Location Filter",LocationFilter);
    ...
  9. Modificați codul din Export analiză Republica raport Excel (7113) după cum urmează:
    Cod existent

    ...END;

    RowNo := RowNo + 1;
    IF AnalysisLine.FIND('-') THEN BEGIN
    IF ColumnLayout.FIND('-') THEN BEGIN
    RowNo := RowNo + 1;
    ...

    Cod de înlocuire

    ... END;

    RowNo := RowNo + 1;

    // Add the following line.
    AnalysisLine.SETFILTER(Show,'<>%1',AnalysisLine.Show::No);
    // End of the added line.

    IF AnalysisLine.FIND('-') THEN BEGIN
    IF ColumnLayout.FIND('-') THEN BEGIN
    RowNo := RowNo + 1;
    ...
  10. Modificați codul în funcția SetOptions în Export analiză Republica raport Excel (7113) după cum urmează:
    Cod existent

    ...AnalysisLine.SETFILTER("Analysis Line Template Name",NewAnalysisTemplateName);
    ColumnLayout.SETRANGE("Analysis Area",AnalysisLine2."Analysis Area");
    ColumnLayout.SETRANGE("Analysis Column Template",ColumnLayoutName2);
    END;

    PROCEDURE UpdateRequestForm@1();
    ...

    Cod de înlocuire

    ...AnalysisLine.SETFILTER("Analysis Line Template Name",NewAnalysisTemplateName);
    ColumnLayout.SETRANGE("Analysis Area",AnalysisLine2."Analysis Area");
    ColumnLayout.SETRANGE("Analysis Column Template",ColumnLayoutName2);

    // Add the following line.
    ColumnLayout.SETFILTER(Show,'<>%1',ColumnLayout.Show::Never);
    // End of the added line.

    END;

    PROCEDURE UpdateRequestForm@1();
    ...

Cerințe preliminare

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

  • Microsoft Dynamics NAV 2009 R2

  • 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".

Consultați articolul Arată câmp de instalare este ignorat în linii de programare cont și Excel export în Microsoft Dynamics NAV 2009 pentru mai multe informații.

Referințe

VSFT DynamicsNAVSE: 358851

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.

Author: Vanessa.Garcia
Writer: v-luzo
Examinare tehnică: Vanessa.Garcia
Editor:

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×