Tengo varios informes personalizados y me gustaría poder agregar botones a la cinta que los desencadena.Desencadenar un informe desde un botón de cinta
¿Es posible? Y si es así, ¡cualquier ejemplo sería genial!
¡Gracias de antemano!
Tengo varios informes personalizados y me gustaría poder agregar botones a la cinta que los desencadena.Desencadenar un informe desde un botón de cinta
¿Es posible? Y si es así, ¡cualquier ejemplo sería genial!
¡Gracias de antemano!
Para ejecutar un informe desde un botón de cinta, debe crear un archivo js con una función que va a llamar desde su botón.
Se necesitan 4 cosas:
Aquí está el ejemplo.
function printOutOnClick() {
// This function generates a Print out
var rdlName = "SomeReport.rdl";
var reportGuid = "9A984A27-34E5-E011-B68F-005056AC478A";
var entityGuid = Xrm.Page.data.entity.getId();//Here I am getting Entity GUID it from it's form
var entityType = "4214";
var link = serverUrl + "/" + organizationName + "/crmreports/viewer/viewer.aspx?action=run&context=records&helpID=" + rdlName + "&id={" + reportGuid + "}&records=" + entityGuid + "&recordstype=" + entityType;
openStdDlg(link, null, 800, 600, true, false, null);
}
openStdDlg() es la envoltura alrededor de window.open() MS Dynamics CRM utiliza él mismo, yo también
Para añadirlo a un botón de la cinta que tiene que hacer como en este post How to start a Dialog from Application Ribbon (CRM 2011) excepto que necesita llamar el informe en lugar de un diálogo.
Después del nombre del RDL el Guid debe ser RecordGuid no EntityGuid
Gracias por su atención. – Grigory
Esto fue muy útil, pero estaba confundido en cuanto al uso de entityType 4214. Según Msoft eso es una cita de servicio. El OP preguntó sobre los informes ... Sé que el fragmento fue solo una muestra. Pero no pude encontrar un tipo de entidad para los informes ... ¿eso significa que se puede descartar? – GPGVM
Gracias Grigory! Este es un fragmento muy útil y en realidad me preguntaba cómo imprimir al hacer clic en js. No hay problema para los botones, ya he agregado algunos y he creado funciones js para ellos. – MademoiselleLenore
Solo tenga cuidado al usar openStdDlg ... técnicamente no es compatible para usar esa función, creo. – GotDibbs