2011-09-29 8 views
6

Kullanıcının, kişi biriminden bir veya daha fazla kişiyi seçmesine izin verip, ardından kayıt kimliklerini kabul eden bir iletişim kutusu başlatmasını istiyorum. Fikir, kişilere bazı özel yapılandırma eklemektir.Dynamics 2011 uygulamasında bir diyalog çağırma ve ona birden fazla kayıt kimliği iletme

Şu anda bir iletişim kutusunu başlatan bir şerit düğmesinde özel bir eylem var, ancak yalnızca bir kayıt kimliği kabul ediyor. Seçili kayıt kimlikleri listesine erişebilirim, sorun değil, JavaScript kullanarak bir listeyi iletir.

SDK veya kod parçacıklarında hiçbir şey bulamıyorum. Bu mümkün olup olmadığını

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

bilen var: buldum en yakın şey bu? Gönderilen e-posta kutusunun gönderileceğini biliyorum E-posta seçilen öğelere bir e-posta gönderilmesine izin veriyor, böylece benzer bir şeye ihtiyacım var.

İletişim kutuları mı yoksa başka bir şey mi kullanmalıyım? O düğme için Şeritte SelectedControlAllItemIds parametresini belirtmek gerekir

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

cevap

6

: Burada

şerit düğmeyi tıklamak çağrıldığında javascript bir kod parçacığı olduğunu. Eğer gerçek bir CRM Dialog başlatmak demek, sadece normal bir HTML açılır -

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

--Edit--

Üzgünüm, ben yanlış: İşte tanımlayan bir bağlantıdır -up iletişim penceresi.

CRM İletişim kutuları, tasarım tarafından birden çok kayıtta kullanılamaz, dolayısıyla bunları kullanamazsınız. Bununla birlikte, SelectedControlAllItemIds parametresinden geçen Şerit'ten başlatabileceğiniz bir HTML web kaynak dosyası oluşturabilmeniz gerekir. Bu HTML web kaynağının daha sonra REST uç noktalarını kullanarak seçilen kişileri güncelleyeceği bazı javascript'ler olacaktır (daha fazla bilgi için SDK'ya bakınız).

Bu yardımcı olur umarım!

+0

Ancak, iletişim kutusunu birden çok kimlik ile nasıl başlatırım? Rundialog.aspx için kabul edilen parametrelere sahip belgeler var mı? 'http: //domain/cs/dialog/rundialog.aspx? DialogId =% 7b9A801909-29E5-4DF2-927C-337AB33D5432% 7d & EntityName = iletişim & ObjectId =% 7bA34A8144-5F9E-E011-9779-005056820889% 7d ' – Andrew

+0

Biraz netlik için sorumu düzenledim – Andrew

+0

Cevabımı da düzenledim. –

İlgili konular