Página 1 de 1
Fallos en Xailer 7 y siguientes
Publicado: Jue Abr 15, 2021 2:52 am
por Daniel Pechir
Hola a todos
A partir de las versión 7, los DataSets querys mandan demasiados errores, cosa que no sucede hasta las versiones 6
tuve que regresar a compilar con la 6
¿ Alguno de ustedes sabe el motivo ?
Gracias por compartir
Daniel Pechir
Re: Fallos en Xailer 7 y siguientes
Publicado: Jue Abr 15, 2021 10:21 am
por ignacio
Buenos días,
Si no indica los errores es IMPOSIBLE ayudarle.
Si se pueden reproducir con algún ejemplo, diga cual y forma de reproducirlo. También ayudaría que indicará con que motor de bases de datos y en que operaciones falla. Si hay un error.log, envíelo.
Saludos
Re: Fallos en Xailer 7 y siguientes
Publicado: Jue Abr 15, 2021 8:17 pm
por Daniel Pechir
Ejemplo de código donde se genera el error:
- Error .png (9.29 KiB) Visto 2538 veces
WITH OBJECT ::oAuxi
:GoTop()
::oProgreso:nValue := 0
nProces := 0
nTotProces := :KeyCount()
::oMsg:cText := 'Calculando Saldos'
::oMsg:lVisible := .T.
STORE CToD(' / / ') TO FECHRE,VFECHRE
DO WHILE !:Eof()
IF !:Num = NIL
STORE :REFE TO VPASE
STORE :FECHA+WDIASGRACIA TO FECHRE,VFECHRE
VSALREF := 0
DO WHILE :REFE = VPASE
VSALREF += :CARGOS - :CREDITO
VSALTOT += :CARGOS - :CREDITO
DO CASE
CASE Date() - FECHRE <= 15
VCOR += :CARGOS - :CREDITO
CASE Date() - FECHRE > 15 .AND. Date() - FECHRE <= 30
V15 += :CARGOS - :CREDITO
CASE Date() - FECHRE > 30 .AND. Date() - FECHRE <= 60
V30 += :CARGOS - :CREDITO
CASE Date() - FECHRE > 60
V60 += :CARGOS - :CREDITO
ENDCASE
******************************************************************************************
:FastEdit() <-----------------------
:Salre := VSALREF <-----------------------
:Saltot := VSALTOT <-----------------------
:FastUpdate() <-----------------------
*******************************************************************************************
:Skip()
nProces += 1
::oProgreso:nValue := Round(nProces/nTotProces*100,0)
ENDDO
DO CASE
CASE VDIAS > 0
IF VFECHRE+VDIAS <= Date()
VVENCI += VSALREF
ENDIF
CASE VDIAS = 0
VVENCI += VSALREF
ENDCASE
ELSE
:Skip()
nProces += 1
::oProgreso:nValue := Round(nProces/nTotProces*100,0)
ENDIF
ENDDO
END
Re: Fallos en Xailer 7 y siguientes
Publicado: Jue Abr 15, 2021 10:02 pm
por Daniel Pechir
DB MySQL
Reitero que todo funciona de maravilla hasta la versión 6
Saludos
Daniel Pechir
Re: Fallos en Xailer 7 y siguientes
Publicado: Jue Abr 15, 2021 10:40 pm
por jfgimenez
Daniel,
por favor, muestra la estructura de la tabla. Puedes verla con "SHOW CREATE TABLE Auxcli1"
Re: Fallos en Xailer 7 y siguientes
Publicado: Vie Abr 16, 2021 6:31 pm
por Daniel Pechir
Hola
Con éste código se crea la tabla
PUBLIC cArch := "Auxcli"+PUSUARIO // Auxcli
cCmdQuery:= "DROP TABLE IF EXISTS "+cArch
AppData:oMySqlDS:Execute( cCmdQuery )
cCmdQuery:= "CREATE TABLE IF NOT EXISTS "+cArch+" (regis int auto_increment, "+;
"Num Int, Fecha Date, Refe Varchar(8), Ndoc Varchar(10), "+;
"Folio Varchar(8), Cargos Double, Credito Double, Salre Double, "+;
"Saltot Double, Concepto Varchar(15), Nche Int, Banco Varchar(20), "+;
"Tven varchar(1), primary key (regis))"
AppData:oMySqlDS:Execute( cCmdQuery )
Gracias por contestar
Saludos
Re: Fallos en Xailer 7 y siguientes
Publicado: Vie Abr 16, 2021 6:33 pm
por Daniel Pechir
Y perdón por mi insistencia
Funciona de maravilla hasta la versión 6
Saludos
Re: Fallos en Xailer 7 y siguientes
Publicado: Vie Abr 16, 2021 8:09 pm
por Daniel Pechir
Usando MariaDB con MySQL
Re: Fallos en Xailer 7 y siguientes
Publicado: Lun Abr 19, 2021 11:26 am
por ignacio
Buenos días,
Me he tomado el tiempo de crear su tabla en un servidor propio alojado en Internet y he realizado el siguiente proceso:
1) Alta de registros:
Código: Seleccionar todo
METHOD Button1Click( oSender ) CLASS TForm1
local nFor
with object ::oSQLTable1
FOR nFor := 1 to 1000
:FastAppend()
:SalRe := 0
:SalTot := 0
:FastUpdate()
::oProgressBar1:nValue := nFor
next
end with
RETURN Nil
No he tenido ningún error. A continuación he realizado el siguiente proceso:
2) Edición de registros:
Código: Seleccionar todo
METHOD Button1Click( oSender ) CLASS TForm1
local nFor
with object ::oSQLTable1
FOR nFor := 1 to 1000
:FastEdit()
:SalRe := nFor
:SalTot := nFor * 10
:FastUpdate()
:Skip()
::oProgressBar1:nValue := nFor
next
end with
RETURN Nil
Y tampoco he tenido ningún error.
Le ruego nos mande un PEQUEÑISIMO EJEMPLO que muestre el error para que podamos ayudarle. Siento no poder darle mejor respuesta.
Un saludo
Nota: Adjunto el script del resultado obtenido.
POSIBLE CAUSA: Repensando un poco en su problema, es posible que la causa se produzca porque el dataset que está intentando actualizar lo está mostrando también en un Browse y el browse al repintarse, provoca un cambio de registro de activo que impide la posterior actualización. En dicho caso la solución es sencilla: Cree un nuevo dataset que no esté vinculado con ningún Browse.
Re: Fallos en Xailer 7 y siguientes
Publicado: Lun Abr 19, 2021 7:59 pm
por Daniel Pechir
Muchísimas gracias Ignacio por su tiempo
El ejemplo con el mensaje de error es el que muestro arriba
Y es a manera de ejemplo ya que con la versión 7, en todos los programas donde agrego registros al DataSet, muestra el error de que el campo cambió despúes del edit
Saludos y nuevamente Gracias
Re: Fallos en Xailer 7 y siguientes
Publicado: Mar Abr 20, 2021 2:28 pm
por ignacio
Proyecto de ejemplo que se pueda compilar y enlazar creando un ejecutable. Utilice la opción de menú Proyecto -> Exportar proyecto.
Gracias