Delen via


Entiteitweergaven aanpassen

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

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

U kunt weergaven ook aanpassen door middel van het aanpassinghulpprogramma in Dynamics 365.Meer informatie:TechNet: Weergaven maken en bewerken

In dit onderwerp

Typen weergaven.

Opdrachten weergeven

  • Weergaven maken

  • Weergaven bijwerken

  • Weergaven verwijderen

  • Weergaven ophaal

  • Deactiveer weergaven

  • Filtercriteria bewerken of sorteren configureren

  • Kolommen bewerken

  • Aangepaste pictogrammen met knopinfo voor een kolom toevoegen

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

Aangepaste pictogrammen met knopinfo voor een kolom toevoegen

U kunt een aangepast pictogram met knopinfo toevoegen, dat wordt weergegeven in een kolom, afhankelijk van de kolomwaarde; u kunt ook een vertaalde knopinfotekst opgeven. U doet dit door de aangepaste pictogrammen toe te voegen als afbeeldingswebresources in uw Dynamics 365-exemplaar en dan door middel van een JavaScript-webresource JavaScript-code toe te voegen, waardoor een kolom afhankelijk van de waarde in de kolom het pictogram zichtbaar maakt.

Notitie

Deze functie werd geïntroduceerd in de Update voor Dynamics 365 (online en on-premises) - december 2016. Het toevoegen van aangepaste pictogrammen met knopinfo wordt uitsluitend ondersteund in alleen-lezen rasters; deze functie wordt niet ondersteund voor de bewerkbare rasters. Voor meer informatie over het systeem raadpleegt u Gebruik in bewerkbare rasters Dynamics 365.

Twee nieuwe kenmerken imageproviderwebresource en imageproviderfunctionname zijn toegevoegd aan de layoutxml van savedquery (zie <cell> (SavedQuery), dat u de naam van een webresource en een JavaScript-functienaam laat opgeven voor het weergeven van aangepaste pictogrammen en knopinfoteksten voor kolommen). De JavaScript-code wordt uitgevoerd wanneer de pagina wordt geladen.

U kunt ook de nieuwe velden Webresource en Functienaam op de pagina Kolomeigenschappen gebruiken wanneer u de eigenschap van een kenmerk (kolom) in een weergavedefinitie in de Dynamics 365-webclient aanpast om de webresourcenaam en JavaScript-functienaam op te geven.

In de volgende voorbeeldcode ziet u hoe u programmatisch een webresource en een JavaScript-functienaam kunt opgeven voor het toevoegen van aangepaste pictogrammen en knopinfo voor de kolom opportunityratingcode in layoutxml:

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' imageproviderwebresource='new_SampleWebResource'
          imageproviderfunctionname='displayIconTooltip' />
    <cell name='opportunitycustomeridcontactcontactid.emailaddress1'
        width='150' disableSorting='1' />
  </row>
</grid>";

De JavaScript-functie voor het weergeven van aangepaste pictogrammen en knopinfotekst verwacht de volgende twee argumenten: het volledige rijobject, opgegeven in layoutxml, en de landinstelling-id van de aanroepende gebruiker (LCID). Met de LCID-parameter kunt u de knopinfotekst voor het pictogram in meerdere talen opgeven. Voor meer informatie over de talen die door CRM worden ondersteund, raadpleegt u Talen inschakelen in en Taalpakketten installeren of upgraden voor Microsoft Dynamics 365. Een lijst van LCID-waarden die u in uw code kunt gebruiken, vindt u in Id's voor landinstellingen die door Microsoft worden toegewezen.

Aannemende dat u waarschijnlijk aangepaste pictogrammen toevoegt voor een kenmerk van het type optieset (dat een beperkte set voorgedefinieerd opties heeft), moet u erop letten dat u de integerwaarde van de opties gebruikt in plaats van het label. Anders wordt de code verbroken als de vertaalde labeltekenreeks wordt gewijzigd. Geef daarnaast in de JavaScript-functie in het kenmerk alleen de naam op van een afbeeldingswebresource die u wilt gebruiken als pictogram. De afbeelding moet 16 x 16 pixels groot zijn; grotere afbeeldingen worden automatisch verkleind tot 16 x 16 pixels.

In de volgende voorbeeldcode ziet verschillende pictogrammen en knopinfoteksten gebaseerd op één van de waarden (1: Hot, 2: Warm, 3: Cold) in het kenmerk opportunityratingcode (Rating). De voorbeeldcode geeft ook aan hoe u gelokaliseerde knopinfotekst kunt weergeven. Om dit voorbeeld te laten functioneren, moet u drie afbeeldingswebresources met elk 16 x 16 afbeeldingen (Heet kwalificatiepictogram, Kwalificatiepictogram warm en Koud kwalificatiepictogram) maken in uw Dynamics 365-exemplaar met de volgende namen: new_Hot, new_Warm en new_Cold.

function displayIconTooltip(rowData, userLCID) {    
    var str = JSON.parse(rowData);
    var coldata = str.opportunityratingcode_Value;
    var imgName = "";
    var tooltip = "";
    switch (coldata) {
        case 1:
            imgName = "new_Hot";
            switch (userLCID) {
                case 1036:
                    tooltip = "French: Opportunity is Hot";
                    break;
                default:
                    tooltip = "Opportunity is Hot";
                    break;
            }
            break;
        case 2:
            imgName = "new_Warm";
            switch (userLCID) {
                case 1036:
                    tooltip = "French: Opportunity is Warm";
                    break;
                default:
                    tooltip = "Opportunity is Warm";
                    break;
            }
            break;
        case 3:
            imgName = "new_Cold";
            switch (userLCID) {
                case 1036:
                    tooltip = "French: Opportunity is Cold";
                    break;
                default:
                    tooltip = "Opportunity is Cold";
                    break;
            }
            break;
        default:
            imgName = "";
            tooltip = "";
            break;
    }
    var resultarray = [imgName, tooltip];
    return resultarray;
}

Het resultaat is dat de waarden worden weergegeven in de kolom Rating, met de bij de waarde horende pictogrammen en een knopinfotekst voor elk pictogram die verschijnt wanneer u de muisaanwijzer op een pictogram plaatst.

Aangepaste pictogrammen voor een kolom in een weergave

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
De organisatieservice met Dynamics 365-metagegevens gebruiken
Entiteitformulieren aanpassen
Algemene optiesets aanpassen
Microsoft Dynamics 365-toepassingen aanpassen

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht