Página 1 de 2

Error..... fué Modificado

Publicado: Lun Abr 15, 2013 11:20 pm
por EstebanTrajtenberg
Estimados, ya no se donde buscar.....
Tengo una tabla en Postgres que la importe a Clarion y no cambio NADA. Compilo y genero.
Cuando voy a cambiar el valor de cualquier campo en el form, me tira el error que adjunto. Me dice que fue modificado por otra estación.
Lo raro...... NO ES CON TODOS LOS REGISTROS...... !!!!!!! solo con algunos.

Tengo todos los campos tal cual se corresponden, entre clarion y sql.
Lo unico que me llama la atención es que en postgres tengo definido un varchar(5000) y me lo importa como String.

Hace 2 días que vengo haciendo pruebas, creando la tabla nuevamente, regrabando, etc....
Ya no se bien que probar.

Agradezco cualquier tipo de ayuda.

Adjunto imágenes:
- Error
- Tabla SQL
- Tabla Clarion


Muchas Gracias
Esteban

Re: Error..... fué Modificado

Publicado: Jue Abr 18, 2013 6:12 pm
por Mauricio
Probá, solo para ver si es eso, poner el campo time a 0, no le asignes nada y fijate si sale el error.

Re: Error..... fué Modificado

Publicado: Vie Abr 26, 2013 12:12 pm
por EstebanTrajtenberg
Mauricio, fué una solución en parte creo.... te cuento
Tengo varios campos que tienen valores NULL, son campos que no reciben valor al momento del alta.
Luego al ser modificados por otro proceso ABM en éste caso y quiero grabar, me arroja el mensaje que describí en el msj anterior.

Lo que voy a probar, tomando como que ese fué el problema: es asignarle al momento del alta un valor X a esos campos (es casera nomas... solo para probar).

Me gustaría saber porque sucede eso.

Gracias
Saludos

Esteban

Re: Error..... fué Modificado

Publicado: Dom May 05, 2013 11:14 pm
por EstebanTrajtenberg
Mauricio, es RARISIMO..... ya no se que buscar.
Me sigue con lo mismo.
Si se te ocurre alguna otra alternativa, será bienvenida.
Saludos

Esteban

Re: Error..... fué Modificado

Publicado: Lun May 06, 2013 10:59 am
por Mauricio
No sé cómo lo estás manejando pero tené en cuenta que en SQL Null no es cero. Es un error muy común pensar que si un campo tiene un valor Null equivale a tener un cero y en realidad no es así, Null significa valor desconocido. Esto es especialmente importante en los campos que son claves foráneas porque si tenés una relación y asignás un 0 implica que en la tabla padre relacionada tendrás que tener un registro con clave 0. Para evitar ese tipo de cosas lo que hago es setear esos campos a Null usando SetNull(NombreDelCampo).
No sé cómo es tu código pero tal vez estés modificando uno de estos campos en algún form. Fijate si seteando a NULL los campos que no reciben valor (el mejor embebido para mí es el TakeCompleted, antes de la llamada) mejora tu situación.
Y después contanos cómo te fue.

Re: Error..... fué Modificado - SOLUCIONADO!

Publicado: Mar May 07, 2013 10:49 am
por EstebanTrajtenberg
Mauricio, es raro.... pero creo que solucioné!
Volví sobre tu primer posteo y me enfoque sobre el campo TIME.
Ese campo solo lo uso a modo informativo, no es parte de clave. Entonces, lo cambié al tipo varchar (después de algunos arreglos) y las máscaras las formateo como @t1.
Ahí estaba el problema!! ESPERO!
El único cuidado que voy a tener es en presentar la información formateada.

Si estoy obviando algo y te das cuenta .... avisame jajajajaja.
Mil gracias por tu ayuda.

Esteban

Re: Error..... fué Modificado

Publicado: Mar May 07, 2013 10:57 am
por Mauricio
Si funciona... no lo toques :)

Re: Error..... fué Modificado

Publicado: Lun Dic 02, 2019 4:51 pm
por duenda
Hola, buscando solución a un problema similar encontré este post...

Yo trabajo con FireBird y Clarion 6.1 y me sucede algo similar, excepto que el cartel dice "registro modificado por otra estacion" e indica "cantidad de parametros no valida(78)"

La secuencia es la siguiente:

1. Carga de COMPRAS: Tengo un browse que muestra solo campos de la PADRE y llama a un FORM que tiene Padre+Hija(detalle de la compra)
2. Abro el programa por primera vez y cargo una compra, ningún problema
3. A la segunda compra que quiero cargar me sale el cartel de ""registro modificado por otra estacion"
4. Le doy continuar y pruebo cargarla de nuevo, ya no me sale nunca más hasta que cierre y abra nuevamente el browse
5. Si le pongo un BRW1.ResetFromFile() despues del insert el problema se soluciona, pero pierdo el puntero al registro que acabo de agregar y se me va al inicio de la lista
6. Tengo varios campos que toman valor sólo si el usuario los completa, sino quedan como Null. He probado darles valor cero en el Prime Fields pero me lo ignora y siguen estando Null
7. La clave primaria se forma con Today()&Clock() y es CSTRING (VARCHAR)

Alguna idea? Gracias! Ileana

Re: Error..... fué Modificado

Publicado: Mar Dic 03, 2019 11:06 am
por Mauricio
Tenés campos fechas en tu tabla o tabla relacionada? Normalmente ese error salta cuando la definición de campos en el dct no coincide con la estructura de la tabla en SQL. Tendrías que prestar atención a los campos fecha y a la longitud de los varchar.

Re: Error..... fué Modificado

Publicado: Mar Dic 03, 2019 12:47 pm
por duenda
Hola Mauricio:

Estuve revisando y todos los campos fecha tanto de la tabla padre como sus relacionadas están definidos como DATE. Y todos los CSTRING son de 18 caracteres con picture @s17 y están definidos como VARCHAR(17)

Lo único que encontré es que un campo DECIMAL de una tabla relacionada está definido como 7.2 y en la tabla figura como 6.2, pero en ningún caso excede la cantidad de dígitos del 6.2

Yo recuerdo haber leído en algún foro que esto se solucionaba con un ResetFromFile al regresar del insert, y en efecto así es, pero estaba buscando alguna manera que no me vuele el puntero al inicio...
Lo extraño es que tengo otros browses padre-hija con tablas similares y no me ocurre este problema...