none
Problemas Código CRM 2011 RRS feed

  • Pregunta

  • Hola, tengo un problema he estado trabjando con CRM 4.0 y ahora estamos iniciando a trabajar con CRM 2011, necesitamos realizar una pequeña multiplicacion entre dos campos y que el resultado se muestre en otro campo, en crm 4.0, utilizamos este codigo y nos funciona:

    var txtdomicilio = crmForm.all.new_visitaadomicilion.DataValue;
    var txtserviciotec = crmForm.all.new_serviciotcnicon.DataValue;

    //Ejecutamos la operación
    crmForm.all.new_subtotaln.DataValue = txtdomicilio * txtserviciotec;

    Pero al realizarla en 2011 realizamos la conversion que sería la siguiente y nos muestra un error:

    var txtdomicilio = Xrm.Page.getAttribute("new_visitaadomicilion").getValue();
    var txtserviciotec = Xrm.Page.getAttribute("new_serviciotcnicon").getValue();
    //Ejecutamos la operación
    Xrm.Page.getAttribute("new_subtotaln").setValue(txtdomicilio * txtserviciotec);

     

    De igual manera los eventos funcionan diferente, lo realizamos pero nose si la manera como lo creamos es la manera correcta.

    Primero agregamos una biblioteca y en tipo le indique que fuera JScript y en editar texto le introduci el codigo y después agregamos una función al evento OnSave.

    Gracias. Estaré a la espera de su ayuda.

    miércoles, 12 de enero de 2011 17:24

Respuestas

  • Hola, mil disculpas por tarde en responder.

    Todo este código, lo colocas dentro de una función?. Es decir, lo que yo he hecho es

    Function validar()
    
    {
    
    var txtdomicilio = Xrm.Page.getAttribute("new_visitaadomicilion").getValue();
    var txtserviciotec = Xrm.Page.getAttribute("new_serviciotcnicon").getValue();
    //Ejecutamos la operación
    Xrm.Page.getAttribute("new_subtotaln").setValue(txtdomicilio * txtserviciotec);
    
    }
    
    
    

    Este código, está en un archivo JS, y luego lo agregue como referencia externa, en el onchage del campo que deseas (en mi caso new_serviciotcnicon) en el onchange, llame a esta función y todo me funciono correctamente.

     

    lunes, 17 de enero de 2011 8:25

Todas las respuestas

  • Hola, acabo de ejecutar tu código y funciona sin problemas, bueno, te comento lo que he realizado

    He creado los tres campos que he podido encontrar en tu código

    ·          Visitaadomicilion

    ·          Serviciotcnicon

    ·          Subtotaln

    He creado un archivo JS, luego he creado una función llamada Validar, luego he agregado una librería (extensión) y en el onchange del Servicio técnico he llamado a dicha función. Lo probé y todo funcionó correctamente.

    Ah me olvidaba, los tres campos que he creado son de tipo currency (disculpas del caso si no se escribe asi je je)

    Nos puedes dar más detalle de tu error?

    • Propuesto como respuesta jomorlez viernes, 14 de enero de 2011 15:32
    viernes, 14 de enero de 2011 8:56
  • Hola, gracias por tu respuesta, realice unas pruebas y efectivamente al parecer me esta funcionando el código, pero me parece que algo estoy poniendo mal o me falta definirlo, ya que me muestra el siguiente error:

    Error en el evento personalizado de este campo

    Campo: Serviciotcnicon

    Evento:onchange

    Error:'txtdomicilio' no está definido

    Este campo txtdomicilio es una variable que tengo en el código y al agregarlo a la función del evento Onchange, tiene una sección que dice parametros, en la parte superior dice Lista de parámetros separados por coma que se transmitirá a la función, y en este campo indicó el nombre de estas variables porque solicita datos pero me muestra el error que te indique anteriormente.

    viernes, 14 de enero de 2011 16:42
  • Hola, mil disculpas por tarde en responder.

    Todo este código, lo colocas dentro de una función?. Es decir, lo que yo he hecho es

    Function validar()
    
    {
    
    var txtdomicilio = Xrm.Page.getAttribute("new_visitaadomicilion").getValue();
    var txtserviciotec = Xrm.Page.getAttribute("new_serviciotcnicon").getValue();
    //Ejecutamos la operación
    Xrm.Page.getAttribute("new_subtotaln").setValue(txtdomicilio * txtserviciotec);
    
    }
    
    
    

    Este código, está en un archivo JS, y luego lo agregue como referencia externa, en el onchage del campo que deseas (en mi caso new_serviciotcnicon) en el onchange, llame a esta función y todo me funciono correctamente.

     

    lunes, 17 de enero de 2011 8:25
  • Hola, muchas gracias por tu respuesta, efectivamente realice un archivo JS, donde le introduci el codigo q me indicas anteriormente, agregue la función y no me da problemas con las variables pero me muestra el siguiente error, y me deshabilita el menu de la entidad:

     

    Contenido del informe de errores de Microsoft Dynamics CRM

    <CrmScriptErrorReport>
      <ReportVersion>1.0</ReportVersion>
      <ScriptErrorDetails>
     <Message>Error de sintaxis</Message>
     <Line>3</Line>
     <URL>/_forms/FormScript.js.aspx?FormName=crmForm&formid=42805efb-1f65-4ae8-91bc-618967a55c6e&fver=260556921&isbulkedit=false&ver=164691561</URL>
     <PageURL>/userdefined/edit.aspx?etc=1024&pagemode=iframe&sitemappath=Workplace%7cMyWork%7cnav_dashboards</PageURL>
     <Function></Function>
     <CallStack>
     </CallStack>
      </ScriptErrorDetails>
      <ClientInformation>
     <BrowserUserAgent>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC EA 2; InfoPath.3; MS-RTC LM 8)</BrowserUserAgent>
     <BrowserLanguage>es</BrowserLanguage>
     <SystemLanguage>es-cr</SystemLanguage>
     <UserLanguage>es-cr</UserLanguage>
     <ScreenResolution>1024x768</ScreenResolution>
     <ClientName>Web</ClientName>
       <ClientTime>2011-01-18T08:25:05</ClientTime>
      </ClientInformation>
      <ServerInformation>
        <OrgLanguage>3082</OrgLanguage>
        <OrgCulture>3082</OrgCulture>
        <UserLanguage>3082</UserLanguage>
        <UserCulture>9226</UserCulture>
        <OrgID>{76B46081-A864-49FB-BFB5-920C22F076A8}</OrgID>
        <UserID>{8A973A90-24F4-DF11-881F-78E7D1623F05}</UserID>
        <CRMVersion>5.0.9585.216</CRMVersion>
      </ServerInformation>
    </CrmScriptErrorReport>

    <CrmScriptErrorReport>
      <ReportVersion>1.0</ReportVersion>
      <ScriptErrorDetails>
     <Message>Se esperaba ';'</Message>
     <Line>1</Line>
     <URL>/634309573880000000/WebResources/new_Operacion/Matematica</URL>
     <PageURL>/userdefined/edit.aspx?etc=1024&pagemode=iframe&sitemappath=Workplace%7cMyWork%7cnav_dashboards</PageURL>
     <Function></Function>
     <CallStack>
     </CallStack>
      </ScriptErrorDetails>
      <ClientInformation>
     <BrowserUserAgent>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC EA 2; InfoPath.3; MS-RTC LM 8)</BrowserUserAgent>
     <BrowserLanguage>es</BrowserLanguage>
     <SystemLanguage>es-cr</SystemLanguage>
     <UserLanguage>es-cr</UserLanguage>
     <ScreenResolution>1024x768</ScreenResolution>
     <ClientName>Web</ClientName>
       <ClientTime>2011-01-18T08:25:05</ClientTime>
      </ClientInformation>
      <ServerInformation>
        <OrgLanguage>3082</OrgLanguage>
        <OrgCulture>3082</OrgCulture>
        <UserLanguage>3082</UserLanguage>
        <UserCulture>9226</UserCulture>
        <OrgID>{76B46081-A864-49FB-BFB5-920C22F076A8}</OrgID>
        <UserID>{8A973A90-24F4-DF11-881F-78E7D1623F05}</UserID>
        <CRMVersion>5.0.9585.216</CRMVersion>
      </ServerInformation>
    </CrmScriptErrorReport>

    <CrmScriptErrorReport>
      <ReportVersion>1.0</ReportVersion>
      <ScriptErrorDetails>
     <Message>'_formHierarchy' no está definido</Message>
     <Line>483</Line>
     <URL>/_static/_forms/form.js?ver=164691561</URL>
     <PageURL>/userdefined/edit.aspx?etc=1024&pagemode=iframe&sitemappath=Workplace%7cMyWork%7cnav_dashboards</PageURL>
     <Function>Mscrm_FormUIManager()</Function>
     <CallStack>
       <Function>Mscrm_FormUIManager()</Function>
       <Function>(h,f,d,c,g)</Function>
       <Function>crmApplicationInitHandler()</Function>
       <Function>(c,d)</Function>
       <Function>function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}}</Function>
       <Function>function(){if(!this.get_isInitialized()&&!this._disposing){Sys._Application.callBaseMethod(this,"initialize");this._raiseInit();if(this.get_stateString){if(Sys.WebForms&&Sys.WebForms.PageRequestManager){this._beginRequestHandler=Function.createDelegate(this,this._onPageRequestManagerBeginRequest);Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);this._endRequestHandler=Function.createDelegate(this,this._onPageRequestManagerEndRequest);Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler)}var a=this.get_stateString();if(a!==this._currentEntry)this._navigate(a);else this._ensureHistory()}this.raiseLoad()}}</Function>
       <Function>b()</Function>
       <Function>function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}}</Function>
     </CallStack>
      </ScriptErrorDetails>
      <ClientInformation>
     <BrowserUserAgent>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC EA 2; InfoPath.3; MS-RTC LM 8)</BrowserUserAgent>
     <BrowserLanguage>es</BrowserLanguage>
     <SystemLanguage>es-cr</SystemLanguage>
     <UserLanguage>es-cr</UserLanguage>
     <ScreenResolution>1024x768</ScreenResolution>
     <ClientName>Web</ClientName>
       <ClientTime>2011-01-18T08:25:06</ClientTime>
      </ClientInformation>
      <ServerInformation>
        <OrgLanguage>3082</OrgLanguage>
        <OrgCulture>3082</OrgCulture>
        <UserLanguage>3082</UserLanguage>
        <UserCulture>9226</UserCulture>
        <OrgID>{76B46081-A864-49FB-BFB5-920C22F076A8}</OrgID>
        <UserID>{8A973A90-24F4-DF11-881F-78E7D1623F05}</UserID>
        <CRMVersion>5.0.9585.216</CRMVersion>
      </ServerInformation>
    </CrmScriptErrorReport>

     

    Espero, puedas ayudarme. Muchas Gracias.

     

    martes, 18 de enero de 2011 14:28
  • Hola Atilio, muchas gracias por tu ayuda ya pude solucionar el problema. Efectivamente me faltaba introducir el codigo dentro de una funcion. Gracias.
    martes, 25 de enero de 2011 22:44