2011-09-29 5 views
6

Chcę zezwolić użytkownikowi na wybranie jednego lub wielu kontaktów z encji kontaktowej, a następnie uruchomienie okna dialogowego akceptującego identyfikatory rekordów. Chodzi o to, aby dodać niestandardową konfigurację do kontaktów.Wywoływanie okna dialogowego w Dynamics 2011 i przekazywanie do niego wielu identyfikatorów rekordów

Mam obecnie niestandardową akcję na przycisku wstążki, która uruchamia okno dialogowe, ale akceptuje tylko jeden identyfikator rekordu. Mogę uzyskać dostęp do listy wybranych identyfikatorów rekordów, to nie jest problem, to jest przekazywanie listy do okna dialogowego przy użyciu JavaScript.

Nie mogę znaleźć niczego w SDK lub fragmentach kodu. Najbliższy rzeczą znalazłem to:

http://crmmongrel.blogspot.com/2011/06/launch-dialog-from-ribbon-button-in-crm.html

Ktoś wie, czy jest to możliwe? Wiem, że po wyjęciu z pudełka Wyślij bezpośrednią wiadomość e-mail umożliwia wysłanie wiadomości e-mail na wybrane pozycje, więc potrzebuję czegoś podobnego.

Czy powinienem używać okien dialogowych lub czegoś innego?

Oto fragment kodu w JavaScript, który jest nazywany na kliknięcie przycisku wstążki:

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

Odpowiedz

6

Musisz określić parametr SelectedControlAllItemIds w swojej Taśma do tego przycisku. Tu jest link, który opisuje go:

http://social.microsoft.com/Forums/en/crm/thread/79f959ac-0846-472f-bff1-4f5afe692a56

--Edit--

Przepraszam, źle zrozumiałem - chodziło o uruchomienie rzeczywistego Dialog CRM, a nie po prostu normalnym HTML pop -up okno dialogowe.

Okno dialogowe CRM nie może być używane na wielu rekordach według projektu, więc nie będzie można z nich korzystać w tym celu.

Powinieneś jednak móc utworzyć plik zasobów sieciowych HTML, który możesz uruchomić z Wstążki, przekazując parametr SelectedControlAllItemIds. Ten zasób sieciowy HTML miałby wtedy trochę javascriptu, który aktualizowałby wybrane kontakty za pomocą punktów końcowych REST (więcej informacji zawiera zestaw SDK).

Nadzieję, że pomaga!

+0

Ale jak mogę faktycznie uruchomić okno z wieloma identyfikatorami? Czy istnieje dokumentacja z akceptowanymi parametrami dla rundialog.aspx? "http: //domain/cs/dialog/rundialog.aspx? DialogId =% 7b9A801909-29E5-4DF2-927C-337AB33D5432% 7d & EntityName = contact & ObjectId =% 7bA34A8144-5F9E-E011-9779-005056820889% 7d ' – Andrew

+0

Mam zredagowałem moje pytanie dla odrobiny jasności – Andrew

+0

Edytowałem również moją odpowiedź. –

Powiązane problemy