Autor |
Mensaje |
Miembro
Ocasional
|
#1 Publicado: 23 May 2023 17:14
Buenas, necesitaría calcular un campo ID_Rercord de 10 dígitos donde las dos primeras cifras son las dos últimas del año actual, las dos siguientes toman el valor de un campo FieldX y el resto son el autoincremento anual -> 23XX000001.
¿Cómo se puede realizar? Soy novato gracias.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Moderador

|
#2 Publicado: 23 May 2023 22:17 - Editado por: flusheddata
Hola. Para el autoincremento anual usa un campo de tipo texto. En opciones le marcas la opción Número secuencial, en siguiente valor le pones 000001 y en incremento 1. Puedes llamar al campo Anual. Para todo el código crea un campo de cálculo sin marcar la opción (No almacenar los resultados de los cálculos...) con el siguiente código: Right ( Year ( Get ( CurrentDate ) ) ; 2 ) & FieldX & Anual Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#3 Publicado: 24 May 2023 08:01
Muchas gracias flusheddata, pero no veo como se resetea y empieza de cero cuando cambia el año o sí?
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Miembro
Ocasional
|
#4 Publicado: 24 May 2023 08:03
Esa opción ya la probé pero no empieza de nuevo al cambiar de año. Cómo se haría para empezar desde 1 de nuevo al cambiar el año?
Muchas gracias flusheddata.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Moderador

|
#5 Publicado: 24 May 2023 09:26
Hola. Normalmente se reinicia el contador del campo cada año. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#6 Publicado: 24 May 2023 10:28
Ahhhh amigo!!!!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Moderador

|
#7 Publicado: 24 May 2023 11:25
flusheddata: Normalmente se reinicia el contador del campo cada año. Yo creo que no. Si es un número secuencial no tiene por qué reiniciarse solo cada año
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Windows 10 // FileMaker 11 + 12 Advanced
|
Moderador

|
#8 Publicado: 24 May 2023 14:37 - Editado por: flusheddata
Hola. Yo no he dicho solo. Con cualquier sistema de numeración secuencial, ya sea del propio campo o usando una tabla auxiliar, se "suele" reiniciar cada año "a mano". Yo no recomiendo hacerlo automáticamente porque no sería la primera vez que en enero me toca hacer facturas de diciembre. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Moderador

|
#9 Publicado: 24 May 2023 15:40
Cierto, tienes razón. Lo de "solo" ha sido mi mente que lo ha metido por el medio Yo, en alguna base de datos, lo hago con un cálculo. Si el mes es enero y no hay ninguna factura, empieza de 0001. Sino, sigue con el secuencial anterior A mano o calculado, eso ya cada uno. Pero si es a mano, no está de más un recordatorio al iniciar el año
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Windows 10 // FileMaker 11 + 12 Advanced
|
Miembro
Ocasional
|
#10 Publicado: 24 May 2023 17:48
apyguay, cómo es tu campo calculado?
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Moderador

|
#11 Publicado: 24 May 2023 18:17
Ahora mismo no lo sé de memoria, pero creo que era un campo que almacena el número máximo del número secuencial creado. Mediante una relación basada en el año, sabemos el número máximo secuencial de cada año. Después no recuerdo bien como era el cálculo, pero algo así como si el número máximo es menor de 1 (significa que hay un año nuevo y no hay ninguno todavía), entonces el secuencial calculado sería 000000+1 Si la primera condición no se da, sería el secuencial máximo +1.... por ejemplo, 0000020+1=0000021 Si quieres te subo un ejemplo en cuanto pueda. Saludos
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Windows 10 // FileMaker 11 + 12 Advanced
|
Moderador

|
#12 Publicado: 24 May 2023 23:07
Echa un ojo al funcionamiento. Cambia el año de tu sistema y comprueba si hace lo que buscas Si funciona como quieres, ahí tienes una pista de como hacerlo en tu base de datos Saludos
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Windows 10 // FileMaker 11 + 12 Advanced
|
Miembro
Ocasional
|
#13 Publicado: 25 May 2023 15:12
Resuelto
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Moderador

|
#14 Publicado: 25 May 2023 17:01 - Editado por: flusheddata
Hola. Si puedes pon aquí la solución. Así le servirá a otros usuarios. Gracias.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#15 Publicado: 25 May 2023 17:12 - Editado por: astro
La solución utilizada ha sido crear una autorelación del campo Año y que toma el año con la siguiente expresión:
Year ( Get (CurrentDate))
, después he creado un campo que contador de año "Cuentaporaño" con el siguiente calculo:
Last ( Autorelacion_Año::Cuentaporaño ) + 1
y por ultimo el campo NumerodeSerie:
Right ( Año ; 2 ) & Right ("00" & TableX::ID_X; 2) & Right ( "000000" & Cuentaporaño; 6 )
Es importante que los campos calculados Cuentaporaño y NumerodeSerie evaluen siempre el cálculo (desactivar casilla inferior del cálculo de campo introducido.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|