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 |
|
Avanceret søgning |
1 |
|
Tilknyttet |
2 |
|
Hurtig søgning |
4 |
|
Opslag |
64 |
|
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:
SavedQuery.Name Et entydigt id for den gemte forespørgsel.
SavedQuery.ReturnedTypeCode: Matcher det logiske navn på objektet.
SavedQuery.FetchXml: Se Brug FetchXML til at oprette en forespørgsel.
SavedQuery.LayoutXml: Se <layoutxml> (SavedQuery) for gyldige elementer.
SavedQuery.QueryType: Skal altid være nul (0).
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