Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.
Descarga por SMS.
entrar
Usace, solo opinion


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
 - Suscríbete a nuestra lista de correo
Felices Fiestas y próspero 2015
Foros en Udias.com / FileMaker / Realizar este guión, con pasos loop
Autor Mensaje

Miembro

Asiduo

  Karma     18

#1 Publicado: 10 Jul 2012 18:52 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Buenas tardes, me estoy perdiendo un poco, necesito reducir el guión que se observa en la imagen (tiene 10 repeticiones) pero no tengo claro como hacerlo. Además al poner el paso del guión "Establecer variable" y ponerle el número de repetición (por ejemplo 2) no me coge el segundo valor del campo repetitivo del que parte, sino que me pone el valor 1.
Eso lo he solucionado con esta opción, dentro del valor de cálculo, pero quería saber porqué no funciona lo otro.

GetRepetition ( Maquinas::Div Ancho;2)

Un saludo


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


Miembro

Asiduo

  Karma     18

#2 Publicado: 10 Jul 2012 18:57 - Editado por: Zafra desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Aquí está el archivo




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


Moderador

Adicto

  Karma           181

#3 Publicado: 10 Jul 2012 21:54 desde LEON, CASTILLA Y LEON (SPAIN) spain



¿por qué anidas una función Case() dentro del If()?


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Emptiness matters! Windows 7, FileMaker Pro 11/12 Advanced

Miembro

Asiduo

  Karma     18

#4 Publicado: 10 Jul 2012 22:58 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



La verdad es que nunca me había dado cuenta, pues llevo usándolo mucho tiempo y siempre lo he usado así, y como me funcionaba no lo había investigado más. Supongo que la forma correcta será:

If [$div ancho4>0;1;0]

Por otro lado he estado pensando en como hacer el "loop", pues creo que es la manera de hacerlo (como habrás visto los guiones no son lo mío). Y tengo claro que "$div ancho" que vaya variando cada vez con un número más se hará estableciendo una variable con un cálculo, que me ponga el número pero no tengo claro de como hacerlo. Pues si lo hago:
$div ancho4&"1", me lo hará la primera vez pero no se como hacer que varíe ese 1.

Espero haberlo explicado bien,
Un saludo y buenas noches.


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


Moderador

Adicto

  Karma           181

#5 Publicado: 10 Jul 2012 23:33 desde LEON, CASTILLA Y LEON (SPAIN) spain



Usa una variable $contador cuyo valor antes del loop sea 1.
Después dentro del loop pones $div ancho4&$contador.
Después aumentas en 1 el contador:
$contador = $contador + 1
Ya solo te resta salir del guión cuando $contador sea > el número que quieras.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Emptiness matters! Windows 7, FileMaker Pro 11/12 Advanced

Miembro

Asiduo

  Karma     18

#6 Publicado: 11 Jul 2012 07:31 - Editado por: Zafra desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Ok muchas gracias, voy a probarlo.

Un saludo


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


Miembro

Asiduo

  Karma     18

#7 Publicado: 11 Jul 2012 08:26 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



No sé que hago mal, sólo me queda que se salga del Loop y le he puesto como condición:
$div ancho&$contador="" (también he probado, <1 y no va)

y no me funciona, he probado con la condición
$contador=10

y si funciona, pero en muchos casos a partir del contador 4 ya no habrá registro y entonces pienso que es una tontería que siga creando registros, introduciendo datos y borrando registros hasta el contador 10.


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


Administrador


  Karma               1459

#8 Publicado: 11 Jul 2012 08:32 desde SANTANDER, CANTABRIA (SPAIN) spain



Si tienes un loop en tu guión, has de poner la orden, dentro del loop:

end loop if (condición)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma     18

#9 Publicado: 11 Jul 2012 09:12 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Si tengo puesto un
exit loop if con la condición que pongo anteriormente pero no me la coge

La cosa es que cuando llegue a
$div ancho5 o el número que sea que esté vacío se salga del loop.
Lo he observado con el depurador de guiones y con el visor de variables y no he observado nada raro. Y como comentaba con la condición de $contardor=10 si funciona.


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


Moderador

Adicto

  Karma           340

#10 Publicado: 11 Jul 2012 11:32 - Editado por: JotaEme desde Alburquerque, Badajoz (España) españa



Simplemente recordar que las variables también pueden tener repeticiones. Así, $divancho[1] es la primera repetición de la variable $divancho, $divancho[2] la segunda ...

En el cuadro de diálogo del paso de guión "Establecer Variable", te pregunta el Número de repetición para esa variable, donde puedes poner en vez de un número, una variable, en este caso $contador.

Así, en el loop puedes poner:

Establecer variable [$contador;valor:1]
Loop
If[$divancho[$contador] >0]
NuevoRegistro
.
.
.
End If
Establecer Variable [$contador;valor: $contador + 1]
Exit Loop If [isEmpty($divancho[$contador])]
End Loop


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 8 y Filemaker 11

Miembro

Asiduo

  Karma     18

#11 Publicado: 11 Jul 2012 12:34 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Muchas gracias por la observación, pues aunque al principio lo pensé hacer así no sabía si se podía y yo iba estableciendo una variable para cada una de las repeticiones.
Después de filtrar todo y hacer lo que me comentas el guión me queda tal y como adjunto en la imagen, pero me fallan las 3 líneas que he marcado. Son las que llaman al número de repetición de la casilla variable, y no sé que hago mal, pues no pone ningún valor, en las de establecer variable y no detienen el loop en exit loop if.

Un saludo
Gracias




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


Moderador

Adicto

  Karma           340

#12 Publicado: 11 Jul 2012 13:36 desde Alburquerque, Badajoz (España) españa



En el guión la variable "$div ancho" aparece como 2 palabras separadas por un espacio. Si es así, te aconsejo que la definas como una sola palabra: $divancho, sin espacios entre medio.

Por otra parte, en el "Exit Loop If" creo que te falta añadirle algo a la condición, por ejemplo, Exit Loop If [IsEmpty($divancho[$contador])]


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 8 y Filemaker 11

Miembro

Asiduo

  Karma     18

#13 Publicado: 11 Jul 2012 16:35 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Muchas gracias, pero he probado lo de juntar las palabras y me hace lo mismo, es como si las variables que he establecido $divancho y $divlargo no las interpretara como repetitivas.
Adjunto volcado de pantalla, donde se muestra el depurador de guiones y visor de datos.
Justo en el punto que lo he cortado el contador es 2 por tanto los valores que debe de poner en Papel Div Ancho y Papel div largo son respectivamente 2 y 2, sin embargo pone 1 y 1 que son los correspondientes a la primera línea de cada campo, osea como si no considerar las repeticiones, a pesar de que si que las carga como vemos en el visor de datos que carga hasta 6 porque la que hace 7 está vacía, motivo por el cual se tendría que salir de loop y por supuesto tampoco lo hace.

Lo cierto es que todo esto lo tenía resuelto estableciendo las 10 variables una a una con la opción de getRepetition pero sin usa el contador sino poniendo números.
Si creéis que no es posible con el uso del contador lo dejo y vuelvo a lo de antes, es por no marear más.

Un saludo y gracias por adelantado.




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


Moderador

Adicto

  Karma           340

#14 Publicado: 11 Jul 2012 18:14 desde Granada, Granada (ESPAÑA) espaÑa



La repeticiones de las variables $divlargo y $divancho las tienes que definir una a una o mediante un loop.
Prueba a sustituir las dor primeras líneas del guión que se visualiza por éstas:

Establecer Variable [$Contador;Valor=1]
Loop
Establecer Variable [$Divancho[$Contador]; Valor= GetRepetition(L Produccion::Maquina Div ancho;$Contador)]
Establecer Variable [$Divlargo[$Contador]; Valor= GetRepetition(L Produccion::Maquina Div largo;$Contador)]
Establecer Variable [$Contador;Valor=$Contador + 1]
Exit Loop If [$Contador >10]
End Loop
Establecer Variable [$Contador; Valor=1]


Por otra parte, la orden "Exit Loop If" no sé si te va a funcionar así. GetRepetition no creo que funcione para variables.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 8 y Filemaker 11

Miembro

Asiduo

  Karma     18

#15 Publicado: 12 Jul 2012 10:02 desde ALBACETE, CASTILLA-LA MANCHA (SPAIN) spain



Buenas, ante todo muchas gracias.
Finalmente lo he solucionado como me comentabas, al no funcionar las repeticiones hice el loop tal y como me decías y así funciona perfectamente.

Por otro lado también he solucionado cada uno de los exit loop if para evitar que tenga que hacer cálculos en campos en los que no existen valores.

Adjunto imagen de como lo he dejado finalmente.

Un saludo.




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

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 Realizar este guión, con pasos loop

¿por que este loop es infinito?
Esta bien este loop???
Como realizar este proceso mas rapidamente
Repetir unos pasos de guión X veces
Anular guión de inicio Loop EndLoop


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

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