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 - 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 / Campo con datos en tiempo real con la suma de las facturas que se van emitiendo del mes/año en curso
Autor Mensaje

Moderador


  Karma               6204

#1 Publicado: 14 Jul 2015 18:57 - Editado por: Alatriste



Hola, necesito crear un campo en Facturas o en otra tabla, que dé de forma automática la suma de las facturas emitidas exclusivamente en el mes y año en curso (el año ira variando) el importe deberá ir cambiando conforme se van emitiendo y al cambiar de mes el cálculo empezará desde cero con las facturas que se vayan emitiendo ese mes (no es acumulado), este campo lo quiero pegar en otra tabla.

No consigo desarrollar la fórmula, he probado y probado y ya ni veo ¿me ayudais?


NOTA IMPORTANTE: He editado el titulo de este tema que lo explica mejor


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

Adicto

  Karma               1891

#2 Publicado: 14 Jul 2015 21:37



Hola Alatriste

Tu solución pasa por campos cálculo sin almacenar y Sql con la secuencia ExecuteSql.

Si no supieras como hacerlo pasame los nombres de tabla y campos y lo vemos.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador


  Karma               6204

#3 Publicado: 15 Jul 2015 10:34 - Editado por: Alatriste



Soportetimeaction:
Tu solución pasa por campos cálculo sin almacenar y Sql con la secuencia ExecuteSql

Lo de campos de cálculo sin almacenar lo he intentado, con funciones Get y otras pero si entramos en SQL ahí ya me perdí,
Secuencia ExecuteSql, he mirado http://www.filemaker.com/help/12/fmp/es/html/func_ ref3.33.6.html y no se montar esa secuencia.

Si es complicado la cosa ... Se me ocurre hacerlo por un guión que se ejecute al entrar en una presentación o al salir de un campo etc que entre en facturas, haga una búsqueda por fecha del mes/año en curso, una variable copia el resultado de la suma de esas facturas encontradas y lo pega en otro campo de otra tabla. Es una chapuza pero el dato ... darlo lo da aunque no variará en tiempo real hasta que no se ejecute nuevamente de forma manual o mediante tiempo prefijado. creo que me estoy dando yo mismo la posible solución, es un plan B.


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

Adicto

  Karma               1891

#4 Publicado: 15 Jul 2015 11:27



Hola Alatriste,

Si te va bien esa solución úsala.

Peeeerooo, ¿porque no aprender algo nuevo que funciona mejor?

La función ExuteSql parece una béstia negra pero cuando la conoces se convierte en tu mejor amigo.

Todo este rollo que se muestra en la ayuda de FM luego es realmente muy sencillo. Eso sí debes aprender como funciona básicamente SQL (que luego para lo que usamos en FM es otra chorrada)

ExecuteSQL (SQLQuery; fieldSeparator; rowSeparator {...}; argumentos)


Fíjate en esto:

1º Tengo una tabla llamada Facturas con un campo llamado TotalFactura y otro con la clave foránea del cliente llamado KfCliente y otra tabla que no he relacionado (ojo al dato) llamada Clientes y con un campo calculo no almacenado(esto es importante) ComprasCliente y el Id del cliente llamado KpIDCliente

2º Ahora lo que quiero es tener el total de compras del cliente que será la suma de todas las facturas de ese cliente en cada ficha de cada uno de mis clientes.

3º Solo necesitas esto. Colocas como contenido del calculo esto:

ExecuteSql ( "
SELECT SUM(TotalFactura) FROM Facturas WHERE KfCliente = ?
"; "" ; "" ; KpIDCliente
)

Tachán!!!!

No necesitas relación para esto SQL no la necesita. Obviamente es un ejemplo y si tienes KpIDCliente y KfCliente lo normal es que para haber hecho la factura ya haya una relación. Pero en todo caso da igual.

Cuando habla de argumento se refiere a con que se sustituirá la ? y los separadores se usan para indicar que separará un campo de otro y entre un registro y otro. Para este caso como solo devuelve un dato son innecesario por eso se pone "".

Hay un par de cosillas más a tener en cuenta como que siempre devuelve texto, los nombres de tablas y campos no adminten espacios(o tienes que ponerlos entre comillas) y la notación decimal. Pero sabiéndolas... otra chorrada.

Si te animas te hecho una mano.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador


  Karma               6204

#5 Publicado: 15 Jul 2015 13:10



Soportetimeaction:
Peeeerooo, ¿porque no aprender algo nuevo que funciona mejor?

Me apunto , y de lo demás, primero lo tengo que masticar y entender bien y después ya me arranco, que la verdad me interesa. Me pongo a ello.

Y digo yo, ¿podrias hacer un video explicativo y ponerlo en el canal del foro o de FM? creo que se te agradecería bastante pues no he visto nada de esto en español.


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

Adicto

  Karma               1891

#6 Publicado: 15 Jul 2015 13:39



En cuanto hayas hecho la digestión me lo comentas y nos ponemos con las dudas que tengas..

De todas formas si quieres adelantar dame los nombres de las tablas, los campos y lo que quieres calcular y te doy la consulta(lo mismo de arriba) para que crees el campo cálculo.

Respecto al vídeo estaría bien pero con uno solo no vale y lleva su rato. Le daré una vuelta.

Lo digo para todo el mundo, los vídeos los hago con mucho gusto, pero hecho de menos que más gente se anime. Yo fui tan novato como el resto y aun tengo mucho por aprender, con esto quiero decir que cualquira puede tener trucos muy interesantes de los que hacer vídeos y quicktime está en todos los mac para hacer una grabación de pantalla sin gastar un duro.

Bueno lo de Sql lo dejo en tus manos, ya me cuentas.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador


  Karma               6204

#7 Publicado: 15 Jul 2015 14:04 - Editado por: Alatriste



Soportetimeaction:
De todas formas si quieres adelantar dame los nombres de las tablas, los campos y lo que quieres calcular y te doy la consulta(lo mismo de arriba) para que crees el campo cálculo.

Pues vamos para allá:
Crear un campo que de el importe de las facturas que se van emitiendo en el mes/año en curso, de tal forma que al pasar de mes se inicial el recuento o suma desde cero con las nuevas facturas de ese nuevo mes.

Tabla: FACTURAS
campo que suma todos los conceptos de una misma factura + su IVA : SUMA_IMPORTES
campo que suma todos los SUMA_IMPORTES para dar el importe de varias facturas entre fechas: TOTAL_FACTURAS

este campo creado lo quiero meter en otra tabla relacionada


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

Adicto

  Karma               1891

#8 Publicado: 15 Jul 2015 14:11



Para calcular Total Facturas necesito saber con que campos selecciono el rango de facturas a calcular.

No se como lo quieres de fecha a fecha, por trimestres, por ejercicio...

En todo caso debe haber un campo o campos para hacer el WHERE que es el que elige que sumar.

Ya me dices, estoy conectado.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador


  Karma               6204

#9 Publicado: 15 Jul 2015 14:23 - Editado por: Alatriste



has respondido antes de que yo terminase de editar mi anterior post para dar mas info

Soportetimeaction:
Para calcular Total Facturas necesito saber con que campos selecciono el rango de facturas a calcular.

TOTAL_FACTURAS es un campo Sumario que muestra el Total de SUMA_IMPORTES
Soportetimeaction:
como lo quieres de fecha a fecha, por trimestres, por ejercicio

es por el mes/año que se esté en ese momento. ese campo se llama FECHA y lleva la fecha de emisión de cada factura.
Soportetimeaction:
debe haber un campo o campos para hacer el WHERE que es el que elige que sumar

ese campo debe ser SUMA_IMPORTES que muestra el importe de la factura con su IVA y todo.


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

Adicto

  Karma               1891

#10 Publicado: 15 Jul 2015 14:31



Si he entendido bien es esto:

ExecuteSql ( "
SELECT SUM(SUMA_IMPORTES) FROM Facturas WHERE Mes = ?
"; "" ; "" ; Month(Get(currendate))
)

A lo que me refería es que debes crear o tener un campo Mes en cada factura que se calcule a partir de la fecha de la Factura para luego incluir solo la suma de las facturas que corresponden con el mes actual. Osea:

Mes = Month(FechaFactura)

Creo que esto es todo,

Pruébalo, estoy esperando.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador

Adicto

  Karma               1891

#11 Publicado: 15 Jul 2015 14:36



Perdón, te lo he puesto para un mes solo.

Si lo deseas para mes y año debemos añadir el año al WHERE

ExecuteSql ( "
SELECT SUM(SUMA_IMPORTES) FROM Facturas WHERE Mes = ? AND Ano = ?
"; "" ; "" ; Month(Get(currendate)) ; Year(Get(currendate))
)

Eso si, si no tienes los campos Mes y Ano (suena mal pero es mejor que los errores que te dará la ñ) debes crearlos en la tabla FActuras.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Constante

  Karma             1121

#12 Publicado: 15 Jul 2015 15:36



Otra posibilidad es con una relación, suponiendo que tiene un campo que indica el año de la factura, relacionas ese campo con el mismo.

Eso te creará una relación de todos los registros que tengan el mismo valor en el campo del año de la factura y ya puedes crear un campo que sea la suma del importe de la factura.

No se si me expliqué lo suficiente.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 Pro (64 Bits), FM Pro 15 Adv

Moderador

Adicto

  Karma               1891

#13 Publicado: 15 Jul 2015 16:12



Si, es otra forma de hacerlo muy buena también.

Yo me he empezado a decantar por SQL porque una de las grandes ventajas de ExecuteSql es que empiezas a dejar de usar relaciones.

La gran pregunta ¿Para que debería de dejar de usar relaciones?

Las relaciones son perfectas y maravillosas, el problema viene cuando queremos contenidos iniciales, sumarios o calculos en muchos sitios y para usos muy dispares. Al final no sabes si una relación se usa, donde y para que. Con lo que el mantenimiento de los programas cuando crecen se hace pesado y engorroso. Por no hablar la de duplicidades de relaciones que terminamos montando por el por si acaso y los errores.

Con esta tecnica no eliminas las relaciones, sino que eliminas todas esas relaciones que usas para cosas muy particulares. Ganas así un mapa de relaciones muy límpio y fácil de mantener. Según para qué puedes llegar a tener una pequeña aplicación sin ninguna relación.

Otra ventaja es que hay veces que para hacer lo que quieres tienes que montar campos y sumarios, e incluso en otras ocasiones no hay una forma sencilla de hacer lo mismo con relaciones.

Sin ser muy estricto, con este sistema salvo para una lista de valores o un portal, ya no necesitas usar relaciones para ninguna otra cosa.

Imagina por ejemplo que quieres saber del grupo de tus 10 mejores clientes(no de uno en uno) que 10 artículos han consumido más. Con ExecuteSql es una línea de código más o menos larga y una relación de, todos con todos, para mostrar un portal. Con relaciones y guiones la cosa se lía un poco más.

Bueno que me emociono y me enrroyo.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador


  Karma               6204

#14 Publicado: 15 Jul 2015 18:25 - Editado por: Alatriste



Soportetimeaction:
Perdón, te lo he puesto para un mes solo.
Si lo deseas para mes y año debemos añadir el año al WHERE

Pues si, justo esto mismo venía a comentarte, que al no poner el año, me estaba sumando el mismo mes incluido los de varios años anteriores.

Soportetimeaction:
ExecuteSql ( "
SELECT SUM(SUMA_IMPORTES) FROM Facturas WHERE Mes = ? AND Ano = ?
"; "" ; "" ; Month(Get(currendate)) ; Year(Get(currendate))
)

un apunte, hay un error en la sintaxis, es: Month(Get ( CurrentDate )) ; Year(Get(CurrentDate)). Si te fijas te has comido las "t" en CurrentDate (Tranquilo, un borrón lo tienen hasta el mejor escribano)

Bueno, ahora a lo importante, lo he puesto todo y FUNCIONA FUNCIONA
Me encanta esta solución, es limpia, bonita, elegante y profesional.

GRACIAS Soportetimeaction por tu paciencia y tiempo en explicarme tu ayuda.


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               6204

#15 Publicado: 15 Jul 2015 18:32



Tarantelo:
Otra posibilidad es con una relación, suponiendo que tiene un campo que indica el año de la factura, relacionas ese campo con el mismo.

Eso te creará una relación de todos los registros que tengan el mismo valor en el campo del año de la factura y ya puedes crear un campo que sea la suma del importe de la factura.

Hablas del año, imagino que será el campo FECHA de la Factura para así tomar el mes/año en curso que en mi caso es lo que busco.
Gracias por la idea.


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

Adicto

  Karma               1891

#16 Publicado: 15 Jul 2015 19:15



He visto que eres un usuario avanzado y por eso me he animado a darte esta solución.

Veo que he acertado en todo

Me alegra que te haya gustado.

Cualquier cosa aquí me tenéis.

un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       58

#17 Publicado: 5 Sep 2017 09:56



Tengo el mismo problema con SQL, pero solo para el cálculo de totales por trimestres.

He probado con ceilin( Month ( Factura::Fecha ) / 3 ) pero nada.

Puse otro post en el que me indicabas esta solución, lo probé y no me funciona.

He visto este hilo y me he animado a indicarlo.

Gracias.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Un saludo: Ángel Mac Os X 10.11.6
Este Tema fue cerrado. No puede publicar mas respuestas.
 

Tópicos relacionados con Campo con datos en tiempo real con la suma de las facturas que se van emitiendo del mes/año en curso

Actualizar apps y datos en tiempo real
Como activar en tiempo real un campo dependiendo de un radio button
Cronometro en Tiempo Real
suma de tiempo
Salir de la base de datos tras un tiempo de inactividad


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

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