javascript - Anropa en dialog i Dynamics 2011 och skicka flera recordID till den
Jag vill tillåta användaren att välja en eller flera kontakter från kontaktentiteten, och sedan starta en dialog som accepterar post-ID:n. Idén är att lägga till viss anpassad konfiguration till kontakterna.
Jag har för närvarande en anpassad åtgärd på en menyfliks knapp som öppnar en dialog, men den accepterar bara ett register-ID. Jag kan få tillgång till listan över valda register-ID:n, det är inte problemet, det är att skicka en lista till dialogen med JavaScript.
Jag verkar inte kunna hitta något i SDK eller kodexempel. Det närmaste jag hittade var detta:
http://crmmongrel.blogspot.com/2011/06/launch-dialog-from-ribbon-button-in-crm.html
Någon som vet om detta är möjligt? Jag vet att den färdiga funktionen Skicka Direkt E-post tillåter att ett e-postmeddelande skickas till de valda objekten, så jag behöver något liknande.
Borde jag använda dialoger eller något annat?
Här är ett kodavsnitt av JavaScript som kallas vid klick på bandknappen:
function LaunchModalDialog(SelectedControlSelectedItemReferences,dialogID, typeName)
{
// Get selected objects
var allItems = new Array
var allItems = SelectedControlSelectedItemReferences
// Just get first item for now as dialog only seems to accept one ID
var personId = allItems[0].Id;
personId = personId.replace(/\{/g, "");
personId = personId.replace(/\}/g, "");
// Load modal
var serverUri = Mscrm.CrmUri.create('/cs/dialog/rundialog.aspx');
var mypath = serverUri + '?DialogID={' + dialogID + '}&EntityName=' + typeName + '&ObjectId={' +personId + '}';
mypath = encodeURI(mypath);
// First item from selected contacts only
window.showModalDialog(mypath);
// Reload form.
window.location.reload(true);
}
Svar #1
Du måste ange parametern SelectedControlAllItemIds i ditt band för den knappen. Här är en länk som beskriver det:
http://social.microsoft.com/Forums/en/crm/thread/79f959ac-0846-472f-bff1-4f5afe692a56
--Redigera--
Förlåt, jag missförstod - du menade att starta en riktig CRM-dialog, inte bara ett vanligt HTML-popupfönster.
CRM-dialoger kan inte användas på flera poster enligt design, så du kommer inte att kunna använda dem för detta.
Du bör dock kunna skapa en HTML-webbresursfil som du kan starta från menyfliksområdet och skicka med parametern SelectedControlAllItemIds. Den HTML-webbresursen skulle sedan ha lite javascript som uppdaterar de valda kontakterna med hjälp av REST-slutpunkterna (se SDK för mer information).
Hoppas det hjälper!