Del via


Tilpasse objektvisninger

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Objektvisninger er særlig gemte forespørgsler, der henter data ved hjælp af et bestemt filter. De kan også indeholde oplysninger om, hvordan dataene i visningen skal vises i programmet. Objektvisninger er SavedQuery-poster, du kan oprette ved hjælp af programmering. Du kan også definere dem som XML og importere dem til Microsoft Dynamics 365 med en ikke-administreret løsning.

Et objekt er forskellig fra en UserQuery. En brugerforespørgsel, kaldet en gemt visning i programmet, ejes af en enkelt bruger, kan tildeles og deles med andre brugere og kan ses af andre brugere, afhængig af forespørgslens adgangsrettigheder. Dette er relevant for ofte anvendte forespørgsler, der spænder over objekttyper, og forespørgsler, der udfører aggregering.Flere oplysninger:UserQuery-objekt (gemt visning)

Dette emne indeholder

Typer af visninger

Få vist opgaver

  • Oprette visninger

  • Opdatere visninger

  • Slette visninger

  • Hente visninger

  • Deaktivere visninger

  • Redigere filterkriterierne eller konfigurere sortering

  • Redigere kolonner

  • Benyt som standard

Typer af visninger

I følgende tabel vises de fem visningstyper, der understøttes for tilpasning. Typekoden for en visning er gemt i attributten SavedQuery.QueryType. Bemærk, at der er andre gyldige værdier for de QueryType-attributter, der ikke er opført her, fordi dette objekt også bruges til at gemme Microsoft Office Outlook-filtre og -skabeloner. Du kan finde flere oplysninger under Offline- og Outlook-filtre og -skabeloner.

Når visninger er defineret for et bestemt objekt, returnerer attributten SavedQuery.ReturnedTypeCode det logiske objektnavn.

Visningstype

Typekode

Beskrivelse

Offentligt

0

  • Forekomsten: mange

  • Handlinger: Opret, Opdater, Slet

  • Kommentarer: Du kan indstille en af disse visninger som den offentlige standardvisning ved at indstille SavedQuery.IsDefault til true.

Avanceret søgning

1

  • Forekomster: 1

  • Handlinger: Opdater kun.

  • Kommentarer: Denne visning vises som standard, når resultaterne er vist i Avanceret søgning.

Tilknyttet

2

  • Forekomster: 1

  • Handlinger: Opdater kun.

  • Kommentarer: Denne visning vises som standard, når et gitter af relaterede poster vises i navigationsruden for en post.

Hurtig søgning

4

  • Forekomster: 1

  • Handlinger: Opdater kun.

  • Kommentarer: Denne visning definerer de kolonner, der skal søges i, når en bruger søger efter poster ved hjælp af søgefeltet i en listevisning.

Opslag

64

  • Forekomster: 1

  • Handlinger: Opdater kun.

  • Kommentarer: Dette er standardvisningen, der skal bruges til at søge efter en post, når ingen anden visning er konfigureret for opslagsfeltet.

Få vist opgaver

Da visninger er SavedQuery-poster, kan du oprette, opdatere, hente, slette og deaktivere dem. Derudover kan du redigere filterkriterierne eller konfigurere sortering, redigere kolonner eller indstille en visning som standardvisning.

Oprette visninger

Hvis du vil oprette en offentlig visning, skal du angive følgende egenskaber:

Følgende eksempel opretter en ny offentlig visning for salgsmulighedsobjektet:


                    System.String layoutXml =
@"<grid name='resultset' object='3' jump='name' select='1' 
    preview='1' icon='1'>
    <row name='result' id='opportunityid'>
    <cell name='name' width='150' /> 
    <cell name='customerid' width='150' /> 
    <cell name='estimatedclosedate' width='150' /> 
    <cell name='estimatedvalue' width='150' /> 
    <cell name='closeprobability' width='150' /> 
    <cell name='opportunityratingcode' width='150' /> 
    <cell name='opportunitycustomeridcontactcontactid.emailaddress1' 
        width='150' disableSorting='1' /> 
    </row>
</grid>";

                    System.String fetchXml =
                    @"<fetch version='1.0' output-format='xml-platform' 
    mapping='logical' distinct='false'>
    <entity name='opportunity'>
    <order attribute='estimatedvalue' descending='false' /> 
    <filter type='and'>
        <condition attribute='statecode' operator='eq' 
        value='0' /> 
    </filter>
    <attribute name='name' /> 
    <attribute name='estimatedvalue' /> 
    <attribute name='estimatedclosedate' /> 
    <attribute name='customerid' /> 
    <attribute name='opportunityratingcode' /> 
    <attribute name='closeprobability' /> 
    <link-entity alias='opportunitycustomeridcontactcontactid' 
        name='contact' from='contactid' to='customerid' 
        link-type='outer' visible='false'>
        <attribute name='emailaddress1' /> 
    </link-entity>
    <attribute name='opportunityid' /> 
    </entity>
</fetch>";

                    SavedQuery sq = new SavedQuery
                    {
                        Name = "A New Custom Public View",
                        Description = "A Saved Query created in code",
                        ReturnedTypeCode = "opportunity",
                        FetchXml = fetchXml,
                        LayoutXml = layoutXml,
                        QueryType = 0
                    };

                    _customViewId = _serviceProxy.Create(sq);
                    Console.WriteLine("A new view with the name {0} was created.", sq.Name);

Opdatere visninger

Hvis den SavedQuery.IsCustomizable-administrerede egenskab tillader, at visningen skal opdateres, kan du bruge metoden IOrganizationService.Update eller meddelelsen UpdateRequest for at opdatere visningen.

Slette visninger

Du bør kun slette gemte forespørgsler, du har oprettet. En løsningskomponent eller en del af programmet kan afhænge af en bestemt gemt forespørgsel. Hvis der er forespørgsler, der ikke skal vises i programmet, skal du deaktivere dem.

Hente visninger

Brug en RetrieveMultipleRequest eller IOrganizationService.RetrieveMultiple til at hente gemte forespørgselsposter.

Følgende eksempel henter alle de offentlige visninger for salgsmulighedsobjektet:


        QueryExpression mySavedQuery = new QueryExpression
        {
            ColumnSet = new ColumnSet("savedqueryid", "name", "querytype", "isdefault", "returnedtypecode", "isquickfindquery"),
            EntityName = SavedQuery.EntityLogicalName,
            Criteria = new FilterExpression
            {
                Conditions =
{
    new ConditionExpression
    {
        AttributeName = "querytype",
        Operator = ConditionOperator.Equal,
        Values = {0}
    },
    new ConditionExpression
    {
        AttributeName = "returnedtypecode",
        Operator = ConditionOperator.Equal,
        Values = {Opportunity.EntityTypeCode}
    }
}
            }
        };
        RetrieveMultipleRequest retrieveSavedQueriesRequest = new RetrieveMultipleRequest { Query = mySavedQuery };

        RetrieveMultipleResponse retrieveSavedQueriesResponse = (RetrieveMultipleResponse)_serviceProxy.Execute(retrieveSavedQueriesRequest);

        DataCollection<Entity> savedQueries = retrieveSavedQueriesResponse.EntityCollection.Entities;

        //Display the Retrieved views
        foreach (Entity ent in savedQueries)
        {
            SavedQuery rsq = (SavedQuery)ent;
            Console.WriteLine("{0} : {1} : {2} : {3} : {4} : {5},", rsq.SavedQueryId, rsq.Name, rsq.QueryType, rsq.IsDefault, rsq.ReturnedTypeCode, rsq.IsQuickFindQuery);
        }

Deaktivere visninger

Hvis du ikke ønsker, at en offentlig visning skal vises i programmet, kan du deaktivere den. Du kan ikke deaktivere en offentlig visning, der er angivet som standardvisning. Følgende eksempel deaktiverer visningen Afsluttede salgsmuligheder i indeværende regnskabsår for salgsmulighedsobjektet:


System.String SavedQueryName = "Closed Opportunities in Current Fiscal Year";
QueryExpression ClosedOpportunitiesViewQuery = new QueryExpression
{
    ColumnSet = new ColumnSet("savedqueryid", "statecode", "statuscode"),
    EntityName = SavedQuery.EntityLogicalName,
    Criteria = new FilterExpression
    {
        Conditions =
        {
            new ConditionExpression
            {
                AttributeName = "querytype",
                Operator = ConditionOperator.Equal,
                Values = {0}
            },
            new ConditionExpression
            {
                AttributeName = "returnedtypecode",
                Operator = ConditionOperator.Equal,
                Values = {Opportunity.EntityTypeCode}
            },
                            new ConditionExpression
            {
                AttributeName = "name",
                Operator = ConditionOperator.Equal,
                Values = {SavedQueryName}
            }
        }
    }
};

RetrieveMultipleRequest retrieveOpportuntiesViewRequest = new RetrieveMultipleRequest { Query = ClosedOpportunitiesViewQuery };

RetrieveMultipleResponse retrieveOpportuntiesViewResponse = (RetrieveMultipleResponse)_serviceProxy.Execute(retrieveOpportuntiesViewRequest);

SavedQuery OpportunityView = (SavedQuery)retrieveOpportuntiesViewResponse.EntityCollection.Entities[0];
_viewOriginalState = (SavedQueryState)OpportunityView.StateCode;
_viewOriginalStatus = OpportunityView.StatusCode;


SetStateRequest ssreq = new SetStateRequest
{
    EntityMoniker = new EntityReference(SavedQuery.EntityLogicalName, (Guid)OpportunityView.SavedQueryId),
    State = new OptionSetValue((int)SavedQueryState.Inactive),
    Status = new OptionSetValue(2)
};
_serviceProxy.Execute(ssreq);

Redigere filterkriterierne eller konfigurere sortering

Hvis du vil redigere filteret eller redigere, hvordan dataene sorteres, skal du angive attributten SavedQuery.FetchXml. Du kan finde flere oplysninger under Oprette forespørgsler med FetchXML.

Tip

Hvis du ikke er fortrolig med FetchXML, kan følgende meddelelser bruges til at konvertere mellem QueryExpression og FetchXML:QueryExpressionToFetchXmlRequest og FetchXmlToQueryExpressionRequest.

Redigere kolonner

De kolonner, du vil have vist i visninger, kan hentes fra objektet eller relaterede objekter. Du kan finde flere oplysninger om, hvordan du angiver kolonnerne til at blive vist, under <layoutxml> (SavedQuery).

Benyt som standard

Det er kun aktive offentlige visninger, der kan angives som standardvisning. Hvis du vil gøre en visning til standardvisningen, skal du angive egenskaben IsDefault til true.

Se også

Eksempel: Arbejde med visninger
SavedQuery-objektmeddelelser og -metoder (visning)
Saved query XML reference
Oprette forespørgsler med FetchXML
Udvide modellens metadata
Tilpasning af objektformularer
Tilpas globale grupperede indstillinger
Udviklervejledning til tilpasning til Microsoft Dynamics CRM 2015

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret