none
Códigoen CRM beta 2010 RRS feed

  • Pregunta

  • Que tal!

     

    Tengo problemas al intentar ingresar código vía CRM 2011, creo yó estoy haciendo el procedimiento correcto para subirlo de hecho descargué una herramienta con la cual puedo convertir dódigo de versión 4 a la versión 2011.

    El mensaje de error diice que me hace falta un campo window mismo que no estoy utilizando.

     

    envío el cíodigo esperando me puedan ayudar u orientar de como puedo insertar mi cpódigo.

    function InlineToolbar(containerId) 
    
    { 
    
     var toolbar = this; 
    
     var container = document.all[containerId]; 
    
     
    
     if (!container) 
    
     { 
    
     return alert("Toolbar Field: " + containerId + " is missing"); 
    
     } 
    
     
    
     container.style.display = "none"; 
    
     container = container.parentElement; 
    
     
    
     toolbar.AddButton = function(id,text,width,callback,imgSrc) 
    
     { 
    
     var btn = document.createElement("button"); 
    
     var btStyle = new StyleBuilder(); 
    
      btStyle.Add( "font-family" , "Arial" );
    
      btStyle.Add( "font-Weight" , "bold" ); 
    
      btStyle.Add( "font-size" , "11px" ); 
    
      btStyle.Add( "line-height" , "16px" ); 
    
      btStyle.Add( "text-align" , "center" ); 
    
      btStyle.Add( "cursor" , "hand" ); 
    
      btStyle.Add( "border" , "1px solid #3366CC" ); 
    
      btStyle.Add( "background-color" , "#CEE7FF" ); 
    
      btStyle.Add( "background-image" , "url( '/_imgs/btn_rest.gif' )" ); 
    
      btStyle.Add( "background-repeat" , "repeat-x" ); 
    
      btStyle.Add( "padding-left" , "8px" ); 
    
      btStyle.Add( "padding-right" , "8px" ); 
    
      btStyle.Add( "padding-top" , "2px" ); 
    
      btStyle.Add( "padding-bottom" , "3px" ); 
    
      btStyle.Add( "overflow" , "visible" ); 
    
      btStyle.Add( "width" , width ); 
    
      
    
     btn.style.cssText = btStyle.ToString(); 
    
     btn.attachEvent("onclick",callback); 
    
     btn.id = id; 
    
      
    
     if (imgSrc) 
    
     { 
    
      var img = document.createElement("img"); 
    
      img.src = imgSrc; 
    
      img.style.verticalAlign = "middle"; 
    
      btn.appendChild(img); 
    
      btn.appendChild(document.createTextNode(" ")); 
    
      var spn = document.createElement("span"); 
    
      spn.innerText = text; 
    
      btn.appendChild(spn); 
    
     } 
    
     else 
    
     { 
    
      btn.innerText = text; 
    
     } 
    
     
    
     container.appendChild(btn); 
    
     container.appendChild(document.createTextNode(" ")); 
    
     
    
     return btn; 
    
     } 
    
     
    
     toolbar.RemoveButton = function(id) 
    
     { 
    
     var btn = toolbar.GetButton(id) 
    
     if (btn) 
    
     { 
    
      btn.parentNode.removeChild(btn); 
    
     } 
    
     } 
    
     
    
     toolbar.GetButton = function(id) 
    
     { 
    
     return document.getElementById(id); 
    
     } 
    
     
    
     function StyleBuilder() 
    
     { 
    
     var cssText = new StringBuilder(); 
    
     this.Add = function( key , value ){cssText.Append( key ).Append( ":" ).Append( value ).Append( ";" );} 
    
     this.ToString = function(){return cssText.ToString();} 
    
     } 
    
     
    
     function StringBuilder() 
    
     { 
    
     var parts = []; 
    
     this.Append = function( text ){parts[ parts.length ] = text;return this;} 
    
     this.Reset = function(){parts = [];} 
    
     this.ToString = function(){return parts.join( "" );} 
    
     } 
    
    } 
    
     
    
    /* Start Script Execution */ 
    
    function OnCrmPageLoad() 
    
    { 
    
     
    
     window.GeneralToolbar = new InlineToolbar("new_tramitenoprocedente");
    
     
    
     GeneralToolbar.AddButton("btnTramite","Trámite no Procedente","15%",Tramite_Click); 
    
    
    
    } 
    
    
    
     function Tramite_Click() 
    
    { 
    
     openStdDlg('http://server:3090/Index.aspx', 400, 200, false, false); 
    
    
    
    } 
    
     
    
    function AddNote_Click() 
    
    { 
    
     locAddFileTo(5); 
    
    } 
    
    OnCrmPageLoad() 
    
    
    
    
    
    
    
    
    
    
    
    
    
    var CRM_FORM_TYPE_CREATE = 1;
    
    var CRM_FORM_TYPE_UPDATE = 2;
    
    
    
    switch (Xrm.Page.ui.getFormType())
    
    {
    
     case CRM_FORM_TYPE_CREATE:
    
    	case CRM_FORM_TYPE_UPDATE:
    
    	 casetypecode_onchange();
    
     break;
    
    
    
    }
    
    
    Gracias.
    viernes, 22 de octubre de 2010 1:35

Todas las respuestas

  • Hola,

    Si estoy en lo correcto este código intenta añadir un toolbar inline en un formulario de CRM 4. Sin embargo, esto no estaba soportado por lo que probablemente al intentar hacer lo mismo en CRM 5 no funciona de la misma manera ya que el HTML de los formularios ha cambiado.

    En resumen, esto es JavaScript no soportado en CRM 4 con lo que al portarlo directamente a CRM 5 es probable que no funcione. Deberías investigar el HTML del formulario para intentar adaptar el script a CRM 5. Creo que el problema está en que este script utiliza un campo adicional en el formulario, en tu caso "new_tramitenoprocedente" para añadir la toolbar. El formato de los campos ha cambiado por eso falla cuando intenta hacer document.all[containerid]

    Un Saludo


    Marco Amoedo - http://marcoamoedo.com
    lunes, 25 de octubre de 2010 7:27
    Moderador