
Quote from lesanch on May 5, 2020, 2:09 amHola a todos,
Alguien tendría por favor un ejemplo para darme una ayuda de como ejecutar código javascript en VNWeb, aún no comprendo muy bien como hacer las llamadas usando variables pasadas desde vnweb a javascript usando el BeginJs y EndJs o viceversa.
Necesito ejecutar esto:
var fecha1 = moment("2016-09-30 07:30:00", "YYYY-MM-DD HH:mm:ss");
var fecha2 = moment("2016-10-03 07:30:00", "YYYY-MM-DD HH:mm:ss");var diff = fecha2.diff(fecha1, 'd'); // Diff in days
var diff = fecha2.diff(fecha1, 'h'); // Diff in hours
var diff = fecha2.diff(fecha1, 'm'); // Diff in minutes
...donde las fechas se pasan por variables desde vnweb traídas desde una bbdd y el resultado akmacenado en la variable diff pasa de vuelta a VNWeb para ser mostrado.
Cualquier ayuda será bienvenida que me guie en el proceso.
Saludos y gracias,
Sam
Hola a todos,
Alguien tendría por favor un ejemplo para darme una ayuda de como ejecutar código javascript en VNWeb, aún no comprendo muy bien como hacer las llamadas usando variables pasadas desde vnweb a javascript usando el BeginJs y EndJs o viceversa.
Necesito ejecutar esto:
var fecha1 = moment("2016-09-30 07:30:00", "YYYY-MM-DD HH:mm:ss");
var fecha2 = moment("2016-10-03 07:30:00", "YYYY-MM-DD HH:mm:ss");
var diff = fecha2.diff(fecha1, 'd'); // Diff in days
var diff = fecha2.diff(fecha1, 'h'); // Diff in hours
var diff = fecha2.diff(fecha1, 'm'); // Diff in minutes
...donde las fechas se pasan por variables desde vnweb traídas desde una bbdd y el resultado akmacenado en la variable diff pasa de vuelta a VNWeb para ser mostrado.
Cualquier ayuda será bienvenida que me guie en el proceso.
Saludos y gracias,
Sam

Quote from luishp on May 5, 2020, 8:23 amHola @lesanch,
Lo más importante es que incluyas primero la librería JavaScript que quieres utilizar (momentjs, si no me equivoco)
Después incluyes tu código entre los comandos BeginJS y EndJS. Para hacer referencia a variables VNWeb desde JavaScript simplemente utiliza el prefijo "$App." delante del nombre de la variable. Recuerda que se diferencia entre mayúsculas y minúsculas.Mira el ejemplo que adjunto.
Saludos!
Hola @lesanch,
Lo más importante es que incluyas primero la librería JavaScript que quieres utilizar (momentjs, si no me equivoco)
Después incluyes tu código entre los comandos BeginJS y EndJS. Para hacer referencia a variables VNWeb desde JavaScript simplemente utiliza el prefijo "$App." delante del nombre de la variable. Recuerda que se diferencia entre mayúsculas y minúsculas.
Mira el ejemplo que adjunto.
Saludos!
Uploaded files:
Quote from lesanch on May 5, 2020, 5:18 pmHola @luishp
La verdad como siempre impresionante !!! mil gracias por el ejemplo, veo de ponerlo en marcha y además de probar otras cosas que tenía en mente.
Estuve revisando la librería moments y la verdad estaría genial si alguien algún día se anima a hacer un plugin de esa libraría que se especializa en trabajar con temas de tiempo. Es realmente increíble la funcionalidad adicional que brinda.
https://momentjscom.readthedocs.io/en/latest/#welcome-to-read-the-docs
Saludos,
Sam
Hola @luishp
La verdad como siempre impresionante !!! mil gracias por el ejemplo, veo de ponerlo en marcha y además de probar otras cosas que tenía en mente.
Estuve revisando la librería moments y la verdad estaría genial si alguien algún día se anima a hacer un plugin de esa libraría que se especializa en trabajar con temas de tiempo. Es realmente increíble la funcionalidad adicional que brinda.
https://momentjscom.readthedocs.io/en/latest/#welcome-to-read-the-docs
Saludos,
Sam

Quote from lesanch on May 6, 2020, 3:11 amHola @luishp
Una última consulta sobre esto, logré hacer todo lo que necesitaba pero no puedo pasar los valores de las variables generadas en javascript de vuelta a VNWeb, pude asignar por ejemplo un valor a un objeto texto (como envío debajo) pero en realidad necesito el contenido de la variable para trabajarla.
Hice esto pero no puedo alojar el valor en una variable, como podría obtener el valor de la variable diff dentro de una variable de vnweb ?
BeginJS
var fecha1 = moment($App.date1);
var fecha2 = moment($App.date2);var diff = fecha2.diff(fecha1, 'd'); // Diff in days
document.getElementById("parrafo").innerHTML = diff;
EndJs
Saludos y gracias,
Sam
Hola @luishp
Una última consulta sobre esto, logré hacer todo lo que necesitaba pero no puedo pasar los valores de las variables generadas en javascript de vuelta a VNWeb, pude asignar por ejemplo un valor a un objeto texto (como envío debajo) pero en realidad necesito el contenido de la variable para trabajarla.
Hice esto pero no puedo alojar el valor en una variable, como podría obtener el valor de la variable diff dentro de una variable de vnweb ?
BeginJS
var fecha1 = moment($App.date1);
var fecha2 = moment($App.date2);
var diff = fecha2.diff(fecha1, 'd'); // Diff in days
document.getElementById("parrafo").innerHTML = diff;
EndJs
Saludos y gracias,
Sam

Quote from lesanch on May 6, 2020, 4:14 amBueno después de matarme los ojos buscando en el foro cuanto post decía javascript encontré algo que me sirvió que no se si es la solución más acertada pero funciona.
Al código anterior le agregué: GetObjectHTML para traer el contenido que recién puse
BeginJS
var fecha1 = moment($App.date1);
var fecha2 = moment($App.date2);var diff = fecha2.diff(fecha1, 'd'); // Diff in days
document.getElementById("dia_val").innerHTML = diff;
EndJs
GetObjectHTML "dia_val" [dia_val]
Saludos,
Sam
Bueno después de matarme los ojos buscando en el foro cuanto post decía javascript encontré algo que me sirvió que no se si es la solución más acertada pero funciona.
Al código anterior le agregué: GetObjectHTML para traer el contenido que recién puse
BeginJS
var fecha1 = moment($App.date1);
var fecha2 = moment($App.date2);
var diff = fecha2.diff(fecha1, 'd'); // Diff in days
document.getElementById("dia_val").innerHTML = diff;
EndJs
GetObjectHTML "dia_val" [dia_val]
Saludos,
Sam

Quote from Gaev on May 6, 2020, 2:23 pm@lesanch
A mini tutorial on accessing/updating variables across neo/js spaces ...
SetVar "[diffNeo1]" "111" BeginJS var diffJS1 = $App.diffNeo1; //neo to js var diffJS2 = diffJS1 * 3; //compute $App.diffNeo2 = diffJS2; //js to neo EndJS ... validate AlertBox "diffNeo2" "[diffNeo2]" ""... you can place code inside BeginJS/EndJS in a (Javascript) subroutine as well.
You can also invoke NeoScript commands directly from inside a BeginJS/EndJS code block ... see https://webhelp.visualneo.com/CallingactionsfromJavaScript.html for example/details.
Happy cross-border travels :-))
A mini tutorial on accessing/updating variables across neo/js spaces ...
SetVar "[diffNeo1]" "111" BeginJS var diffJS1 = $App.diffNeo1; //neo to js var diffJS2 = diffJS1 * 3; //compute $App.diffNeo2 = diffJS2; //js to neo EndJS ... validate AlertBox "diffNeo2" "[diffNeo2]" ""
... you can place code inside BeginJS/EndJS in a (Javascript) subroutine as well.
You can also invoke NeoScript commands directly from inside a BeginJS/EndJS code block ... see https://webhelp.visualneo.com/CallingactionsfromJavaScript.html for example/details.
Happy cross-border travels :-))

Quote from lesanch on May 6, 2020, 3:38 pmHi @Gaev, @luishp
Gaev as usual your knowledge and expertise are really appreciated. Thanks a lot for the tutorial.
Luis the main problem was i was working outside the js block when i was setting the variable :) thanks.Regards,
Sam
Gaev as usual your knowledge and expertise are really appreciated. Thanks a lot for the tutorial.
Luis the main problem was i was working outside the js block when i was setting the variable :) thanks.
Regards,
Sam