Delen via


Entiteitweergaven aanpassen

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics CRM 2015

Entiteitsweergaven zijn speciaal opgeslagen query's die gegevens ophalen met een specifiek filter. Ze bevatten ook informatie over hoe de gegevens in de weergave in de toepassing moeten worden weergegeven. Entiteitsweergaven zijn SavedQuery records die u ook via programmeren kunt maken. U kunt ze ook definiëren als xml-bestand, en deze importeren in Microsoft Dynamics 365 met een onbeheerde oplossing.

Een entiteitsweergave verschilt van een UserQuery. Een gebruikersquery, een Opgeslagen weergave genoemd in de toepassing, is eigendom van een afzonderlijke gebruiker, kan aan andere gebruikers worden toegewezen en kan door andere gebruikers worden bekeken afhankelijk van de toegangsrechten van de query. Dit is handig voor veelgebruikte query's die verschillende entiteitstypen omvatten en query's die verzamelingen uitvoeren.Meer informatie:UserQuery (opgeslagen weergave) entiteit

In dit onderwerp

Typen weergaven.

Opdrachten weergeven

  • Weergaven maken

  • Weergaven bijwerken

  • Weergaven verwijderen

  • Weergaven ophaal

  • Deactiveer weergaven

  • Filtercriteria bewerken of sorteren configureren

  • Kolommen bewerken

  • Instellen als standaard

Typen weergaven.

De onderstaande tabel toont de vijf soorten weergaven die voor aanpassing worden ondersteund. De typecode van een weergave wordt opgeslagen in het SavedQuery.QueryType kenmerk. U ziet dat er andere geldige waarden voor het kenmerk QueryType niet hier worden vermeld doordat deze entiteit ook wordt gebruikt om de filters en de sjablonen van Microsoft Office Outlook op te slaan. Zie Offline- en Outlook-filters en -sjablonen voor meer informatie.

Als de weergaven voor een specifieke entiteit zijn gedefinieerd, geeft het SavedQuery.ReturnedTypeCode kenmerk de logische naam van de entiteit weer.

Weergavetype

Typecode

Beschrijving

Openbaar

0

  • Aantal keer voorkomend: Veel

  • Acties: Maken, bijwerken, verwijderen

  • Opmerkingen: U kunt één van deze weergaven als de openbare standaardweergave instellen door SavedQuery.IsDefault in te stellen op 'waar'.

Geavanceerd zoeken

1

  • Aantal keer voorkomend: 1

  • Acties: Alleen bijwerken.

  • Opmerkingen: Standaard wordt deze weergave weergegeven als de resultaten worden weergegeven in Geavanceerd zoeken.

Gekoppeld

2

  • Aantal keer voorkomend: 1

  • Acties: Alleen bijwerken,

  • Opmerkingen: Standaard, wordt deze weergave als een raster van gerelateerde records in het navigatiedeelvenster van een record weergegeven.

Snel zoeken

4

  • Aantal keer voorkomend: 1

  • Acties: Alleen bijwerken.

  • Opmerkingen: Deze weergave bepaalt de kolommen die worden doorzocht wanneer een gebruiker naar records zoekt door het in het zoekveld een lijstweergave te gebruiken.

Opzoeken

64

  • Aantal keer voorkomend: 1

  • Acties: Alleen bijwerken.

  • Opmerkingen: Dit is de standaardweergave die wordt gebruikt als u een record wilt opzoeken wanneer geen andere weergave voor het opzoekveld is geconfigureerd.

Opdrachten weergeven

Omdat de weergaven SavedQuery-records zijn, kunt u deze maken, bijwerken, ophalen verwijderen en uitschakelen. Daarnaast kunt u filtercriteria bewerken of het sorteren configureren, kolommen bewerken of een weergave als standaardweergave instellen.

Weergaven maken

Geef om een openbare weergave te maken de volgende eigenschappen op:

Het volgende voorbeeld maakt u een nieuwe openbare weergave voor de entiteit verkoopkans:


                    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);

Weergaven bijwerken

Als de beheerde eigenschap SavedQuery.IsCustomizable u toestaat weergaven bij te werken, kunt u de IOrganizationService.Update methode of de UpdateRequest methode gebruiken om de weergave bij te werken.

Weergaven verwijderen

U moet alleen opgeslagen query's te verwijderen die u hebt gemaakt. Een oplossingsonderdeel of een deel van de toepassing kan van een specifieke opgeslagen query afhankelijk zijn. Als er query's zijn waarvan u niet wilt dat ze in de toepassing worden weergegeven, moet u moet deze deactiveren.

Weergaven ophaal

Gebruik een RetrieveMultipleRequest of IOrganizationService.RetrieveMultiple om opgeslagen queryrecords op te halen.

Het volgende voorbeeld haalt alle openbare weergaven op voor de entiteit verkoopkans:


        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);
        }

Deactiveer weergaven

Als u niet wilt dat een openbare weergave in de toepassing wordt weergegeven, kunt u deze deactiveren. U kunt geen openbare weergave deactiveren die als standaardweergave is ingesteld. Het volgende voorbeeld deactiveert de weergave Afgesloten verkoopkansen in het huidige fiscale jaar voor de entiteit verkoopkans:


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);

Filtercriteria bewerken of sorteren configureren

Om het filter te bewerken of de manier waarop gegevens worden gesorteerd te bewerken, moet u het kenmerk SavedQuery.FetchXml instellen. Zie Bouw query's met FetchXML voor meer informatie.

Tip

Als u niet vertrouwd bent met FetchXML kunnen de volgende berichten worden gebruikt om QueryExpression tussen en FetchXML te converteren:QueryExpressionToFetchXmlRequest en FetchXmlToQueryExpressionRequest.

Kolommen bewerken

De kolommen die u wilt weergeven in weergaven kunnen worden gehaald uit de entiteit of gerelateerde entiteiten. Voor meer informatie over het opgeven van kolommen voor weergave, zie <layoutxml> (SavedQuery).

Instellen als standaard

Slects één actieve publieke weergave kan worden ingesteld als standaardweergave. Als u een weergave de standaardweergave wilt maken, stelt u de eigenschap IsDefault in op 'waar'.

Zie ook

Voorbeeld: Werken met weergaven
SavedQuery (weergave) entiteitberichten en methoden
Saved query XML reference
Bouw query's met FetchXML
Breid het metagegevensmodel uit
Entiteitformulieren aanpassen
Algemene optiesets aanpassen
Ontwikkelaarshandleiding over aanpassing voor Microsoft Dynamics CRM 2015

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht