Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación

Búsqueda en los foros

Foros en Udias.com / FileMaker / No quiero ordenar pero ordena igual
Autor Mensaje

Moderador


  Karma               2779

#1 Publicado: 28 May 2021 15:49 - Editado por: apyguay



Hola
Tengo un guión donde primero hago una búsqueda y me voy al primer registro. Después entro en un loop donde el registro lo duplico, establezco una ID en el duplicado y me voy al siguiente. Eso es lo que está dentro del loop. El guión sale del loop cuando llega al último.
El problema viene porque al duplicar, automáticamente ese registro se va al último ya se sale del loop. No hay ningún tipo de ordenación en el guión y por eso no sé por qué se va al último. Debería quedarse en el duplicado e ir al siguiente
Seguro que es simple, pero no sé el motivo
Gracias


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               8569

#2 Publicado: 28 May 2021 17:54



apyguay:
Debería quedarse en el duplicado e ir al siguiente

A falta de comprobarlo, aunque creo que sí va al ultimo lugar te pongo la solución:
Establecer variable [ $count ; Get ( FoundCount ) ]
Loop
Exit loop if [ Let ( $i = $i + 1 ; $i > $count ) ]
Ir al registro / petición [ Por cálculo ; $i ]
Duplicar registro
End loop


Esto te garantiza que irá al 1, 2, 3 ... $count, quedando los duplicados al final.

Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Moderador


  Karma               8569

#3 Publicado: 28 May 2021 18:03



When a record is duplicated on an unsorted list it is created at the end of the found set of records. FileMaker navigates to the newly created record. You are left at the end of the list after the first record duplication. You need a way to reliably navigate through the entire list despite always bouncing to the newly created record.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Moderador


  Karma               2779

#4 Publicado: 28 May 2021 18:09



Lo probaré y te cuento. Muchas gracias
Es que estoy con la conversión de una base de datos de FM6 y en esa versión duplicaba y se quedaba donde estaba


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               8569

#5 Publicado: 28 May 2021 18:23



He comprobado que con la versión 11 que es de las antiguas también va al último tras duplicar, de modo que podemos decir que, al menos en estas versiones, es el comportamiento normal cuando los registros están sin ordenar.
Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Miembro

Habitual

  Karma       74

#6 Publicado: 28 May 2021 19:33 - Editado por: chunguillo



Como muy bien apuntas FileMaker en un conjunto desordenado añade el registro al final.

Pero la ayuda de FileMaker también nos dice que:

•Orden automático de registros:

•Se produce cuando se consignan los cambios de los registros

•No se produce mientras los guiones se están ejecutando o se encuentran en pausa

Por lo que si los registros están ordenados y duplicamos mediante un guión el nuevo registro no se ordena ni se coloca el último –porque los registros están ordenados y en ese momento no puede ordenarlos– sino el siguiente al que ha sido duplicado. Se puede seguir el proceso en Vista Tabla. Cuando el guión termina y se consigna los registros se ordenan.

Así que basta con ordenar los registros en el propio el guión por lo que sea y luego, en el último paso del guión, si se quiere desordenarlos.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac y FileMaker

Moderador


  Karma               6538

#7 Publicado: 28 May 2021 22:33



Mete en el Loop tras crear el duplicado el omitirlo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Si te fue de utilidad el foro, valoralo y hazte forero VIP, tu nombre de usuario será verde mostrando que aportas ayuda económica.
Hacerte VIP es necesario para mantenerlo abierto, recuerda que el foro vive sin ayuda de FileMaker y sus distribuidores.
W10 Pro x64 - FileMaker 19 (x64)

Moderador


  Karma               2779

#8 Publicado: 28 May 2021 23:19 - Editado por: apyguay



chunguillo:
Por lo que si los registros están ordenados y duplicamos mediante un guión el nuevo registro no se ordena ni se coloca el último –porque los registros están ordenados y en ese momento no puede ordenarlos– sino el siguiente al que ha sido duplicado

Iba a implementar la solución de flusheddata pero al ver esto y parecer más sencillo, lo he probado y funciona a la perfección

Solo un apunte más.... la secuencia completa es, cuando estoy en un registro y lo quiero duplicar (es un presupuesto y tiene un portal), establezco una variable con el número de registro (es la ID de la relación para el portal). Creo un registro nuevo y establezco otra variable con el nuevo número de registro. Me voy a la tabla relacionada, modo buscar y establezco campo con el primer número de registro. Ejecuto búsqueda y ya tengo los registros del portal. Aquí es cuando voy al primero, duplico y establezco el número de registro del nuevo presupuesto.... así hasta el último y después vuelvo a la presentación de los presupuestos. Todo está bien duplicado salvo que aparece una línea vacía arriba de todo en el portal.
Se debe a que había creado un registro antes de ir a la tabla relacionada. Lo he arreglado buscando primero el registro en blanco y eliminándolo, haciendo después el resto del proceso. No sé si se puede evitar esa línea en blanco de otra forma menos arcaica.
Gracias por la ayuda


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               2779

#9 Publicado: 28 May 2021 23:22



Alatriste:
Mete en el Loop tras crear el duplicado el omitirlo

Podría ser también una solución, pero ya lo he hecho ordenando antes del loop.
Tendré en cuenta todas las soluciones. Ahora no me importa ordenar, pero si lo quiero en el mismo orden en que se han introducido, no lo puedo ordenar por ningún criterio
Gracias


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Miembro

Habitual

  Karma       74

#10 Publicado: 29 May 2021 09:07 - Editado por: chunguillo



El orden de Línea como se han introducido debería ser el ID de Línea de Presupuesto. Si ese Campo no lo tienes puedes crear uno nuevo que se llame por ejemplo NumReg de Cálculo sin almacenar con la función Get( RecordNumber) y ordenas por él.

Y la solución de flusheddata es muy simple.

Lo del registro en blanco no le veo pies ni cabeza. El registro que creas en blanco es en Presupuestos y no tiene nada que ver con las líneas.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac y FileMaker

Moderador


  Karma               8569

#11 Publicado: 29 May 2021 19:42



apyguay:
Iba a implementar la solución de flusheddata pero al ver esto y parecer más sencillo

Ay ay ay, ese Let...



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Moderador


  Karma               2779

#12 Publicado: 29 May 2021 23:03



chunguillo:
Lo del registro en blanco no le veo pies ni cabeza. El registro que creas en blanco es en Presupuestos y no tiene nada que ver con las líneas.

Sí tiene pies y cabeza porque creo primero el registro en Presupuestos para obtener la ID que relacionará los registros duplicados con dicho presupuesto


flusheddata:
Ay ay ay, ese Let...

Cierto jejejeje
Es simple pero siempre le escapo al Let porque no lo domino. Entiendo su funcionamiento y sé que tiene mucho potencial, pero a veces veo expresiones que me cuesta mucho entenderlas y doy la vuelta por otro lado incluso complicando más los guiones para conseguir lo mismo.
Empecé en FM5 a hacer alguna cosa. No había Let en aquella versión y quizá por eso la fui obviando


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Miembro

Habitual

  Karma       74

#13 Publicado: 30 May 2021 00:08 - Editado por: chunguillo



Con esto termino.

Subo un archivo en el que podrás ver que no se crea ninguna línea en blanco en el Portal.

Duplicar.fmp12.zipArchivo adjunto: Duplicar
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac y FileMaker

Moderador


  Karma               2779

#14 Publicado: 31 May 2021 15:04 - Editado por: apyguay



chunguillo:
Subo un archivo en el que podrás ver que no se crea ninguna línea en blanco en el Portal

Pues no acabo de entender donde está mi error para que me salga la primera línea en blanco

Este es tu guion:
Establecer variable [ $ID_origen; Valor:PRESUPUESTOS::ID_PRESUPUESTO ]
Nuevo registro/petición
Establecer campo [ PRESUPUESTOS::fecha ; Get ( CurrentDate ) ]
Establecer variable [ $ID_duplicado ; Valor:PRESUPUESTOS::ID_PRESUPUESTO ]
Ir a la presentación [ "LINES PRESUPUESTO" (LINES PRESUPUESTO) ]
Ejecutar búsqueda [ Peticiones de búsqueda especificadas: Buscar registros ; Criterios: LINES PRESUPUESTO::ID_Presupuesto :
"$ID_origen" ]
[ Restaurar ]
Ordenar registros [ Mantener registros en orden ; Tipo de ordenación especificado: LINES PRESUPUESTO::Numreg ; ascendente ]
[ Restaurar; Sin diálogo ]
Ir al registro/petición/página
[ Primero ]
Loop
Duplicar registro/petición
Establecer campo [ LINES PRESUPUESTO::ID_Presupuesto ; $ID_duplicado ]
Ir al registro/petición/página
[ Siguiente; Salir después del último ]
End Loop
Ir a la presentación [ presentación original ]



Y este es el mío. La parte de color azul es básicamente lo que hace tu guion con alguna cosa más, pero en el tuyo no crea ese registro en blanco y el mío si:
Consignar registros/peticiones
Mostrar cuadro de diálogo personalizado [ Título: "Mensaje"; Mensaje: "¿Duplicar este presupuesto?"; Botón predeterminado: "Si",
Confirmar: "Sí"; Botón 2: "No" , Confirmar: "No" ]
If [ Get( LastMessageChoice) = 1 ]
If [ Presupuestos::Presupuesto especial = "Si" ]
Mostrar cuadro de diálogo personalizado [ Título: "Mensaje"; Mensaje: "Este presupuesto está marcado como
\"Presupuesto especial\". ¿Duplicar de todas formas?"; Botón predeterminado: "No", Confirmar: "Sí"; Botón 2: "Si",
Confirmar: "No" ]
If [ Get( LastMessageChoice) = 1 ]
Detener guión
Else
Establecer variable [ $fecha actualizacion ; Valor:Presupuestos::Fecha actualizacion ]
Establecer variable [ $$nº presupuesto ; Valor:Presupuestos::Nº presupuesto ]
Nuevo registro/petición
Establecer campo [ Presupuestos::Fecha ; Get ( CurrentDate ) ]
Establecer campo [ Presupuestos::Fecha actualizacion ; $fecha actualizacion ]
Establecer variable [ $$nº presupuesto duplicado ; Valor:Presupuestos::Nº presupuesto ]
Ir a la presentación [ "Detalle presupuestos (Detalle presupuestos)" (Detalle presupuestos) ]
Ejecutar búsqueda [ Peticiones de búsqueda especificadas: Buscar registros ; Criterios: Detalle presupuestos::Nª
presupuesto: "$$nº presupuesto" ]
[ Restaurar ]
Ordenar registros [ Mantener registros en orden ; Tipo de ordenación especificado: Detalle presupuestos:escripcion ;
ascendente ]
[ Restaurar; Sin diálogo ]
Ir al registro/petición/página
[ Primero ]
Loop
Duplicar registro/petición
Establecer campo [ Detalle presupuestos::Nª presupuesto ; $$nº presupuesto duplicado ]
Ir al registro/petición/página
[ Siguiente; Salir después del último ]
End Loop
Consignar registros/peticiones
Ir a la presentación [ "Presupuestos (Presupuestos)" (Presupuestos) ]
Mostrar cuadro de diálogo personalizado [ Título: "Mensaje"; Mensaje: "Presupuesto duplicado"; Botón
predeterminado: "Aceptar" , Confirmar: "Sí" ]
End If

Else
Establecer variable [ $fecha actualizacion ; Valor:Presupuestos::Fecha actualizacion ]
Establecer variable [ $$nº presupuesto ; Valor:Presupuestos::Nº presupuesto ]
Nuevo registro/petición
Establecer campo [ Presupuestos::Fecha ; Get ( CurrentDate ) ]
Establecer campo [ Presupuestos::Fecha actualizacion ; $fecha actualizacion ]
Establecer variable [ $$nº presupuesto duplicado ; Valor:Presupuestos::Nº presupuesto ]
Ir a la presentación [ "Detalle presupuestos (Detalle presupuestos)" (Detalle presupuestos) ]
Ejecutar búsqueda [ Peticiones de búsqueda especificadas: Buscar registros ; Criterios: Detalle presupuestos::Nª
presupuesto : "$$nº presupuesto" ]
[ Restaurar ]
Ordenar registros [ Mantener registros en orden ; Tipo de ordenación especificado: Detalle presupuestos:escripcion ;
ascendente ]
[ Restaurar; Sin diálogo ]
Ir al registro/petición/página
[ Primero ]
Loop
Duplicar registro/petición
Establecer campo [ Detalle presupuestos::Nª presupuesto ; $$nº presupuesto duplicado ]
Ir al registro/petición/página
[ Siguiente; Salir después del último ]
End Loop
Consignar registros/peticiones
Ir a la presentación [ "Presupuestos (Presupuestos)" (Presupuestos) ]
Mostrar cuadro de diálogo personalizado [ Título: "Mensaje"; Mensaje: "Presupuesto duplicado"; Botón predeterminado:
"Aceptar" , Confirmar: "Sí" ]
End If
Detener guión
End If



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Miembro

Habitual

  Karma       74

#15 Publicado: 31 May 2021 19:15 - Editado por: chunguillo



Pues no, no lo veo. A priori el guión no tiene cosas raras. He reconstruido uno basándome en él y con los mismos Campos y como es natural hace lo que tiene que hacer. He evitado lo duplicado en el tema de nuevo registro, Loop y demás puesto que hacen lo mismo tanto la primera parte como la segunda. Como podrás constatar va bien. Quizá deberías revisar el tema de la relación y los tipos de Campo que intervienen en ella y su autointroducción no vaya a ser que se esté creando ese registro al establecer algún Campo de Presupuestos al crear el duplicado.

Presupuestos.fmp12.z.zipArchivo adjunto: Presupuestos
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac y FileMaker

Moderador


  Karma               2779

#16 Publicado: 31 May 2021 22:17



Ya sé cual era el problema. El orden de tabulación lleva a un campo del portal el cursor al crear el primer registro y ahí se crea el relacionado por lo que he podido observar.
Al cambiar el orden y poner como número 1 otro de fuera del portal, ya no me crea la línea vacía
Gracias por darme pistas sobre la posible solución


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               2779

#17 Publicado: 31 May 2021 22:28



flusheddata:
falta de comprobarlo, aunque creo que sí va al ultimo lugar te pongo la solución:
Establecer variable [ $count ; Get ( FoundCount ) ]
Loop
Exit loop if [ Let ( $i = $i + 1 ; $i > $count ) ]
Ir al registro / petición [ Por cálculo ; $i ]
Duplicar registro
End loop

Esto te garantiza que irá al 1, 2, 3 ... $count, quedando los duplicados al final.

He probado a implementar tu solución en mi guión y no me funciona. Si tengo 5 descripciones, me duplica la primera 5 veces. Con el depurador he visto que duplica el primero, se queda en el duplicado y lo vuelve a duplicar hasta completar los 5
Este es mi guión con la parte de tu solución. Creo que está como tú lo has hecho
Establecer variable [ $count ; Valor:Get ( FoundCount ) ]
Loop
Exit Loop If [ Let ( $i = $i + 1 ; $i > $count ) ]
Ir al registro/petición/página [ $i ]
Duplicar registro/petición
Establecer campo [ Detalle presupuestos::Nª presupuesto ; $$nº presupuesto duplicado ]
End Loop



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               8569

#18 Publicado: 1 Jun 2021 00:17 - Editado por: flusheddata



Pon antes del loop Desordenar registros.

DuplicarEnLoop.zipArchivo adjunto: DuplicarEnLoop.zip
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Moderador


  Karma               2779

#19 Publicado: 1 Jun 2021 15:12



flusheddata:
Pon antes del loop Desordenar registros

Ahora va perfecto, gracias!!
¿Cual es el motivo? Al ordenar o desordenar entiendo que los duplicados se van al final y el guión continua con los registros originales, no?
Si no se añade ese paso de guion, el duplicado se queda donde está y pasa lo de antes, que duplica el duplicado.... ¿es así?
Lo dicho, gracias por el aporte
Saludos


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced

Moderador


  Karma               8569

#20 Publicado: 1 Jun 2021 15:32



apyguay:
¿Cual es el motivo? Al ordenar o desordenar entiendo que los duplicados se van al final y el guión continua con los registros originales, no?

Exacto!!?

apyguay:
Si no se añade ese paso de guion, el duplicado se queda donde está y pasa lo de antes, que duplica el duplicado.... ¿es así?

Así es.

Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 + FileMaker Pro 11/19

Moderador


  Karma               2779

#21 Publicado: 1 Jun 2021 15:51



Bien, aprendiendo estoy...


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 // FileMaker 11 + 12 Advanced
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con No quiero ordenar pero ordena igual

Crear un campo igual que contenedor, pero con link a archivo
quiero el Cos de un número pero no en radianes ni grados
Quiero restar un campo sumario a una cantidad pero no puedo
¿Como ordena FM si no se especifica nada?
Graficos no se muestran igual en dos PC diferentes


Conectados: Invitados - 5
Miembros - 0
En verde usuarios ZDDR

Realizado con miniBB © 2001-2021
Para Udias.com © 1996-2021
Hosting con Interdominios