Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
¿Retrieverrecord no asigna el valor al valor de la API web?

Estoy creando una var donde quiero asignarla a una var que obtengo de otra entidad

 function SubmitAction(executionContext) { var lookupItem = formContext.getAttribute("alfa_member").getValue()[0].id; var theTotalMembersTravling = formContext.getAttribute("alfa_numberofdependent").getValue(); var remainFlightCredit; debugger; Xrm.WebApi.online.retrieveRecord("contact",lookupItem, "?$select=new_remainstravelcredit").then( function employessPackage(result) { var new_remainstravelcredit = result["new_remainstravelcredit"]; if(new_remainstravelcredit !== null){ if(new_remainstravelcredit > 0) { remainFlightCredit = new_remainstravelcredit; console.log(remainFlightCredit+" This not inside any if condition"); var newRemain = (parseInt(remainFlightCredit)) - (parseInt(theTotalMembersTravling)); console.log(newRemain+ " This in the remain if condition"); var entity = {}; entity.new_remainstravelcredit = newRemain.toString(); Xrm.WebApi.online.updateRecord("contact",lookupItem, entity).then( function success(result) { var updatedEntityId = result.id; }, function(error) { Xrm.Utility.alertDialog(error.message); } ); } if(new_remainstravelcredit <= 0) { Xrm.Utility.alertDialog("You have exceeds the travel credit"); console.log(remainFlightCredit); } } }, function(error) { Xrm.Utility.alertDialog(error.message); } ); console.log(remainFlightCredit); }

Así que como resultado en esta línea

 remainFlightCredit = new_remainstravelcredit; console.log(remainFlightCredit+" This not inside any if condition");

Que dentro de la llamada webapi puedo obtener el valor pero afuera en la función principal al final cuando escribo

 console.log(remainFlightCredit);

No puedo obtener el valor de remainFlightCredit , ¿tiene alguna sugerencia para resolver este problema?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este es el comportamiento esperado, ya que se trata de una llamada de promesa (asincrónica), el código fuera de la llamada a la API principal se ejecutará antes de la función de devolución de llamada de éxito employessPackage .

Por lo tanto, el valor remainFlightCredit se asigna después de la última línea de console.log en su código.

Puede colocar un punto de interrupción para depurar y verlo en acción.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda