
Quote from joferar333 on December 1, 2023, 7:57 pmHola @luishp he finalizado el proyecto que tenia, pero observo un comportamiento extraño que la verdad no se si es correcto y asi debe funcionar.
Una de las cosas que hace la aplicacion que hice es que va generando datos en un archivo de texto (perfecto)
luego desde un programa de neovisual win baja el archivo y me lo coloca en un listox
Ahora, si yo elimino los datos del servidor, y vuelvo a generar cuando actualizo me vuelve a traer lo anterior no se de donde lo saca pero siempre es asi...
hay alguna forma de evitar que esto suceda y que baje y reconozca los datos escritos en el archivo o debe comportarse asi?
Gracias
Hola @luishp he finalizado el proyecto que tenia, pero observo un comportamiento extraño que la verdad no se si es correcto y asi debe funcionar.
Una de las cosas que hace la aplicacion que hice es que va generando datos en un archivo de texto (perfecto)
luego desde un programa de neovisual win baja el archivo y me lo coloca en un listox
Ahora, si yo elimino los datos del servidor, y vuelvo a generar cuando actualizo me vuelve a traer lo anterior no se de donde lo saca pero siempre es asi...
hay alguna forma de evitar que esto suceda y que baje y reconozca los datos escritos en el archivo o debe comportarse asi?
Gracias

Quote from luishp on December 2, 2023, 6:24 pm@joferar333 comprende que es imposible saber que es lo que sucede en tu aplicación sin saber como la has hecho.
Puede ser un error de programación o la caché del navegador. En este útlimo caso basta añadir un parámetro, que cada vez tenga un valor diferente, a la URL del archivo que descargas. Ya se ha hablado muchas veces este tema en el foro. Ejemplo:FileToVar "https://miweb.com/archivo.txt?parametro=valoraleatorio" [mivarable]Saludos.
@joferar333 comprende que es imposible saber que es lo que sucede en tu aplicación sin saber como la has hecho.
Puede ser un error de programación o la caché del navegador. En este útlimo caso basta añadir un parámetro, que cada vez tenga un valor diferente, a la URL del archivo que descargas. Ya se ha hablado muchas veces este tema en el foro. Ejemplo:
FileToVar "https://miweb.com/archivo.txt?parametro=valoraleatorio" [mivarable]
Saludos.

Quote from joferar333 on December 2, 2023, 11:48 pm@luishp gracias por tu tiempo
Veras a esta curiosidad la solucione reemplazando la descarga de los archivos propios de visualweb win usando una rutina que cree con el neoFTP que te adquiri.ahora trabaja perfecto
Ahora solo por entender ya que tu respuesta me trajo mas dudas que otra cosa...
a ver si entiendo: lo que tu me envias lee un archivo de texto y lo agrega a una variable perfecto no logro entender como juega lo que decis de
parametro??? que es esto de parametro puede ser cualquier cosa que haga distinto al mismo archivo cuando lo relee? es eso o el parametro tiene relacion directa esto no lo entiendo....Gracias si me lo podes explicar mas en criollo jajaj
Saludos
@luishp gracias por tu tiempo
Veras a esta curiosidad la solucione reemplazando la descarga de los archivos propios de visualweb win usando una rutina que cree con el neoFTP que te adquiri.ahora trabaja perfecto
Ahora solo por entender ya que tu respuesta me trajo mas dudas que otra cosa...
a ver si entiendo: lo que tu me envias lee un archivo de texto y lo agrega a una variable perfecto no logro entender como juega lo que decis de
parametro??? que es esto de parametro puede ser cualquier cosa que haga distinto al mismo archivo cuando lo relee? es eso o el parametro tiene relacion directa esto no lo entiendo....
Gracias si me lo podes explicar mas en criollo jajaj
Saludos

Quote from luishp on December 3, 2023, 11:16 am@joferar333 Ese parametro solo sirve para hacerle creer al navegador que es un archivo nuevo y diferente al que ya tiene en la caché. No tiene ningún otro valor ni utilidad.
@joferar333 Ese parametro solo sirve para hacerle creer al navegador que es un archivo nuevo y diferente al que ya tiene en la caché. No tiene ningún otro valor ni utilidad.

Quote from joferar333 on December 3, 2023, 2:41 pm@luishp genial, ahora mismo lo voy a probar.
Me surgio algo ayer y aprovecho para comentarte, veras la aplicación que arme lo que hace es que un cobrador pasa por el domicilio del cliente. scanea el qr
del legajo y le cobra una cuota....
Cuando esta operacion se realiza cada uno de esos cobros se registra en un archivo ... todo perfecto
StrCopy "[planilla]" 0 4 [codigo]
SetVar [fecha] "[NAB.DateShort]"neoPhpFileWrite "dia[NAB.DayNum].txt" "[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n " true ""
neoPhpFileWrite "dia[NAB.DayNum]_renzo.txt" "[fecha] P/Nro:[codigo] Efectivo $[importe] \n " true ""
neoPhpFileWrite "dia[NAB.DayNum]_efectivo.txt" "[importe] \n" true ""Setvar "[planilla]" ""
Setvar "[importe]" ""GotoPage "Inicio"
Aca la consulta puede ser que entre cobro y cobro haya que dejar algun delay?
Porque te pregunto esto porque anoche el cobrador hizo 24 operaciones y solo obtuve 19 del archivo resultante... muy estraño no...
@luishp genial, ahora mismo lo voy a probar.
Me surgio algo ayer y aprovecho para comentarte, veras la aplicación que arme lo que hace es que un cobrador pasa por el domicilio del cliente. scanea el qr
del legajo y le cobra una cuota....
Cuando esta operacion se realiza cada uno de esos cobros se registra en un archivo ... todo perfecto
StrCopy "[planilla]" 0 4 [codigo]
SetVar [fecha] "[NAB.DateShort]"
neoPhpFileWrite "dia[NAB.DayNum].txt" "[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n " true ""
neoPhpFileWrite "dia[NAB.DayNum]_renzo.txt" "[fecha] P/Nro:[codigo] Efectivo $[importe] \n " true ""
neoPhpFileWrite "dia[NAB.DayNum]_efectivo.txt" "[importe] \n" true ""
Setvar "[planilla]" ""
Setvar "[importe]" ""
GotoPage "Inicio"
Aca la consulta puede ser que entre cobro y cobro haya que dejar algun delay?
Porque te pregunto esto porque anoche el cobrador hizo 24 operaciones y solo obtuve 19 del archivo resultante... muy estraño no...

Quote from luishp on December 3, 2023, 4:03 pm@joferar333 Puede que haya perdido la conexión a Internet y no hayas programado la gestión de errores... O puede que sea otra cosa.
Entiende que no podemos resolver problemas relacionados con aplicaciones concretas.Saludos.
@joferar333 Puede que haya perdido la conexión a Internet y no hayas programado la gestión de errores... O puede que sea otra cosa.
Entiende que no podemos resolver problemas relacionados con aplicaciones concretas.
Saludos.

Quote from joferar333 on December 3, 2023, 4:10 pmgracias @luishp no intente solicitar resolver nada, solo fue un comentario a ver que opinabas y creo que me diste la pista ... eso que me decis de que se haya quedado sin internet es lo mas probable pero esto me alerto que debo armar una rutina de error para que el cobrador sepa si la operacion ha quedado registrada correctamente
Investigando y viendo el tema de como registrar el error llegue a esto
neoPhpFileWrite "dia[NAB.DayNum].txt" "[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n " true ""
BeginJS`
try {
// Intentar ejecutar la acción neoPhpFileWrite
<?php neoPhpFileWrite('dia[NAB.DayNum].txt', '[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n ', true, ''); ?>
} catch (error) {
// Capturar cualquier error y mostrar un mensaje
MostrarMensaje('Error: ' + error.PAGO NO REGISTRADO!);
}EndJS
No se si es lo correcto ya que es muy diferente a rutina de error en la version WIN (lo que te muestro es lo correcto?)
En lo que puedo entender si el archivo no se escribe mostraria el error en un mensaje.. pero en vez de mensaje no se puede atrapar en una variable para
poder continuar con una rutina (si hay error haga esto y si no hay error esto otro ??
Esto es lo unico que debo atender en la app ya que la misma funciona perfecto con esto ya me quedaria totalmente terminada
Gracias @luishp realmente valoro tu ayuda
gracias @luishp no intente solicitar resolver nada, solo fue un comentario a ver que opinabas y creo que me diste la pista ... eso que me decis de que se haya quedado sin internet es lo mas probable pero esto me alerto que debo armar una rutina de error para que el cobrador sepa si la operacion ha quedado registrada correctamente
Investigando y viendo el tema de como registrar el error llegue a esto
neoPhpFileWrite "dia[NAB.DayNum].txt" "[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n " true ""
BeginJS`
try {
// Intentar ejecutar la acción neoPhpFileWrite
<?php neoPhpFileWrite('dia[NAB.DayNum].txt', '[fecha] Planilla Nro:[codigo] Efectivo $[importe] \n ', true, ''); ?>
} catch (error) {
// Capturar cualquier error y mostrar un mensaje
MostrarMensaje('Error: ' + error.PAGO NO REGISTRADO!);
}
EndJS
No se si es lo correcto ya que es muy diferente a rutina de error en la version WIN (lo que te muestro es lo correcto?)
En lo que puedo entender si el archivo no se escribe mostraria el error en un mensaje.. pero en vez de mensaje no se puede atrapar en una variable para
poder continuar con una rutina (si hay error haga esto y si no hay error esto otro ??
Esto es lo unico que debo atender en la app ya que la misma funciona perfecto con esto ya me quedaria totalmente terminada
Gracias @luishp realmente valoro tu ayuda

Quote from joferar333 on December 8, 2023, 1:15 am@luishp por favor luis cuando puedas si me podes responder la consulta a ver si estoy en camino... gracias
@luishp por favor luis cuando puedas si me podes responder la consulta a ver si estoy en camino... gracias

Quote from luishp on December 8, 2023, 9:23 pm@joferar333 fíjate que el último parámetro de neoPhpFileWrite llama a una subrutina de manera opcional.
Esa subrutina recibe un parámetro cuyo valor será "True" si todo salió bien o un mensaje de error si ha habido algún problema.
Lo único que tienes que hacer es implementar esa subrutina.
Lo que has intentado hacer no es correcto porque no se puede integrar código PHP dentro de código JavaScript.Saludos.
@joferar333 fíjate que el último parámetro de neoPhpFileWrite llama a una subrutina de manera opcional.
Esa subrutina recibe un parámetro cuyo valor será "True" si todo salió bien o un mensaje de error si ha habido algún problema.
Lo único que tienes que hacer es implementar esa subrutina.
Lo que has intentado hacer no es correcto porque no se puede integrar código PHP dentro de código JavaScript.
Saludos.