viernes, 13 de septiembre de 2013

CRM 4.0 - Como funciona la logica del Gantt de crm

IFRAME_Gantt

//Base de datos----------

select Name, SavedQueryId from SavedQuery order by Name


//Controles---------------

Tipo On Change (id = crmTypeSelector)
OnViewTypeChange(this);
Vista On Change (id = SavedQuerySelector )
quickFindQuery {DE79B82F-62DF-4FB5-8946-E98CBF1E34C9}
defaultSelected {7738C997-2681-43BE-BFCF-DB1D159B5C5A}
ReloadGantt() -> apptbook.js

//--------------------------

frmGanttFrame
GanttControlFrame.aspx?startDate=2011-07-11T00:00:00&endDate=2011-07-11T00:00:00&subareatype=schedules&viewID=%7b7738C997-2681-43BE-BFCF-DB1D159B5C5A%7d&zoomLevel=4&pagingCookie=
http://127.0.0.1/xx/sm/GanttControlFrame.aspx?startDate=2011-07-11T00:00:00&endDate=2011-07-11T00:00:00&subareatype=schedules&viewID=%7b7738C997-2681-43BE-BFCF-DB1D159B5C5A%7d&zoomLevel=4&pagingCookie=

/xx/sm/home_apptbook.aspx?type=10054&typename=new_proyecto&id={C4E57A40-1164-E011-9D96-005056922E09}&orgname=xx&userlcid=3082&orglcid=3082
/xx/sm/home_apptbook.aspx?type=10054&typename=new_proyecto&id={C4E57A40-1164-E011-9D96-005056922E09}&orgname=xx&userlcid=3082&orglcid=3082
/xx/sm/home_apptbook.aspx

//Necesidades


- ¿Se le puede pasar la vista que quieras? Si, una vista salvada
- Se puede crear una vista personalizada por proyecto  de forma automatica al crear el proyecto y que se actualice dinamicamente los recursos del proyecto?
- ¿Se puede filtrar la recuperacion de una vista? (plugin!)

 





Incluir la vista en el Gannt y ocultar el selector

Campo GuidProyecto = new_guidproyecto
var iframe = window.document.getElementById("IFRAME_Gantt");
selector = iframe.contentWindow.document.getElementById("SavedQuerySelector");
cabecera = iframe.contentWindow.document.getElementsByTagName("tr")[0];
cabecera.style.display = 'none';
selector.options[selector.selectedIndex].value = "{05AE2B54-96D8-E011-A93B-005056922E09}";
selector.options[selector.selectedIndex].type = "1039";
selector.fireEvent("onchange");

//Crear la vista en .NET
savedquery vista = new savedquery();
           
vista.querytype = new CrmNumber(0);
vista.returnedtypecode = EntityName.systemuser.ToString();
vista.name = "Vista pruebas Proyectos 1";
vista.iscustomizable = new CrmBoolean(false);
vista.isdefault = new CrmBoolean(false);
vista.isquickfindquery = new CrmBoolean(true);

vista.fetchxml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical'>
         <entity name='systemuser'>
          <attribute name='fullname' />
          <attribute name='systemuserid' />
          <order attribute='fullname' descending='false' />
          <filter type='and'>
           <condition attribute='systemuserid' operator='in'>
            <value uitype='systemuser'>{AAD228E8-DE25-DF11-B245-005056922E09}</value>
            <value uitype='systemuser'>{43299605-07A7-E011-A93B-005056922E09}</value>
           </condition>
          </filter>
         </entity>
        </fetch>";


crmService.Create(vista);


//Publicar la vista "a mano"

update SavedQuery
set InProduction = 1
where SavedQueryId = '05AE2B54-96D8-E011-A93B-005056922E09'

No hay comentarios:

Publicar un comentario