Record UNICI visualizzati nel portale tramite SQL

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Rispondi
flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Record UNICI visualizzati nel portale tramite SQL

Messaggio da flmkdev » giovedì 6 luglio 2017, 14:15

Ciao a tutti , premetto che uso FM 14 e FMS 15 , volevo sapere se esisteva un modo per risolvere la seguente situazione :

Ho 2 tabelle : APPALTI e FATTURE correlati tramite ID_APPALTI e ID_SOCIETA -> FATTURE

e fin qui tutto bene.

La tabella principale è APPALTI.

Ora qui il bello , nell'inserire le fatture ho creato un portale che filtra i dati in base a questo filtro :

Codice: Seleziona tutto

FATTURE::ID_APPALTO = APPALTI::ID_APPALTO and FATTURE::SOCIETA = APPALTI::SOCIETA
OK funziona per ogni ID_APPALTO si possono inserire MOLTE FATTURE.

Bene direte voi ... e dico pure io.

Oggi mi perviene questa richiesta :

" perchè non fare in modo che sul modulo di stampa di gestione degli appalti , nel portale fatture non appaiano solamente le singole fatture con il totale incassato ed il sado ? "

E vabbè ... allora vi dico quello che sto provando a fare io :

Creata seconda tabella FATTURE 2 relazionata con FATTURE tramite NUM_FATT e ID_APPALTI della tabella APPALTI

Provato a modificare il portale specificando la tabella FATTURE 2 e non più FATTURE ma non funziona.

Ho provato a creare un campo riassunto con il TOTALE PAGATO delle fatture inserito sul portale stesso ma non funziona lo stesso.

Stavo pensando quindi di sfruttare l'idea tramite SQL di creare una tabella che contiene 1 record per ogni fattura con il totale pagato ed il saldo eventuale.

Ho provato leggendo i vari post presenti nel forum di FMPRO ed uno in particolare mi era piaciuto molto ma la funzione
ESEGUISQL prevede solo la clausola SELECT che potrebbe sfruttare le variabili ed in seguito impostare i campi in base al contenuto delle variabili che viene scritto dal codice sql ?
Corretto ?

Grazie a tutti per la disponibilità
FM PRO ADVANCED 17 + FMS 17 :!:

Avatar utente
fabio.beri
Messaggi: 2041
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da fabio.beri » giovedì 6 luglio 2017, 14:50

Salve.

Per quanto riguarda la funzione ESEGUISQL, la select è una ricerca. Come dice parola, una selezione.

Per quanto riguarda il portale, punto principale del post, per avere questo:

Codice: Seleziona tutto

nel portale fatture non appaiano solamente le singole fatture con il totale incassato
puoi impostare il portale con un filtro, dove gli dici: TOTALE INCASSATO > 0

In questo modo vedrai solo le fatture il cui totale incassato è maggiore di 0.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da flmkdev » giovedì 6 luglio 2017, 15:52

Ciao Fabio ti ringrazio per la risposta , mi sono espresso male :

nel portale vorrei che apparisse solamente 1 riga per ogni numero fattura con il totale fattura ed il totale pagato e l'eventuale saldo se la fattura non è stata pagata per intero :

in fase d'inserimento dati nel portale avrò questa situazione :

fattura 1 del 07/2017 - importo fattura - totale pagato - saldo
fattura 1 del 08/2017 - importo fattura - totale pagato - saldo
fattura 1 del 09/2017 - importo fattura - totale pagato - saldo

che diventa così in fase di stampa :

fattura 1 - somma importo fattura - somma totale pagato - somma saldo

Ciao e grazie per aver risposto
FM PRO ADVANCED 17 + FMS 17 :!:

Avatar utente
fabio.beri
Messaggi: 2041
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da fabio.beri » giovedì 6 luglio 2017, 16:07

Ciao. Se dici che hai una tabella APPALTI e una tabella FATTURE, non puoi avere un portale fatture che mostri tre volte la fattura n. 1, per di più con date diverse.

Io passo. Non conoscendo la struttura che hai dato al database, non so consigliarti. Spiacente. Secondo me c'è da ripartire dall'inizio.

Buon lavoro.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da flmkdev » giovedì 6 luglio 2017, 17:03

Questo perchè mi è stato chiesto di gestire le fatture in questo modo , avendo le stesse molti ACCONTI che sommati alla fine danno un SALDO.
E pensare che volevano mettere tutti gli importi su un campo solo di tipo testo in questo modo:

50+100+500 etc.etc. ed ottenere la somma da questo campo .

Lo trovo anche io aberrante e controproducente , anche se sono arrivato alla soluzione con la seguente istruzione SQL :

Codice: Seleziona tutto

SELECT
	DISTINCT (NUM_FATT),
	SUM(TFIMP),
	SUM(IMP_PAG)
FROM
	FATTURE
WHERE
	NUM_FATT IS NOT NULL
GROUP BY
	NUM_FATT
Grazie comunque per l'interessamento.
FM PRO ADVANCED 17 + FMS 17 :!:

Avatar utente
fabio.beri
Messaggi: 2041
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da fabio.beri » venerdì 7 luglio 2017, 9:31

Quindi ogni record della tabella fatture non rappresenta il documento fattura, bensì un acconto di una fattura?
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da flmkdev » venerdì 7 luglio 2017, 10:57

Un acconto o più acconti fino al compimento del saldo :

fattura 1 di 50.000 euro per appalto X (ID_APPALTO)

pagata in :

fattura 2 - 10.000 euro in acconto in data X
fattura 3 - 15.000 euro in acconto in data X
fattura 4 - 5.000 euro ....
fattura 5 - 20.000 euro a SALDO

Una fattura , di piccolo importo può essere pagata a SALDO direttamente senza ACCONTI ... molto raro negli appalti ...

Ciao e grazie Fabio , intanto mi sto scervellando con varie istruzioni SQL ...
tra cui SQL insert into per creazione tabella , applicazione di un filtro SQL nel portale , ma per fortuna ho tempo per trovare una soluzione adeguata.
FM PRO ADVANCED 17 + FMS 17 :!:

Avatar utente
fabio.beri
Messaggi: 2041
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da fabio.beri » venerdì 7 luglio 2017, 12:23

Due cose, anche se non voglio rubarti tempo...

1. Perché non modifichi il nome della tabella da Fatture ad acconti fatture, anche per consentire a chi potrebbe intervenire dopo di te, di avere chiarezza nella struttura del database

2. SQL Insert non crea le tabella. Lo fa l'istruzione CREATE TABLE. L'insert invece CREA RECORD DENTRO LA TABELLA.
In ogni caso non sono previsti da FileMaker (neanche nella 16) ma sono previsti da un plug in utilissimo che si chiama BASE ELEMENTS che esegue tutte le operazioni SQL.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: Record UNICI visualizzati nel portale tramite SQL

Messaggio da flmkdev » venerdì 7 luglio 2017, 15:29

Figurati Fabio , altro che RUBARE tempo ... quando si ha da imparare è tempo PREZIOSO !

Ho cambiato impostazione nel DB , in maniera radicale.

Anzitutto grazie per le delucidazioni su SQL ma erano solo esperimenti che non voglio intraprendere per sicurezza.

Ho già una tabella FATTURE , ho creato una tabella FATTURE 2 (anche SALDI_ACCONTI) correlata tramite ID_FATTURE ed ID_APPALTI

Quando vado a creare un nuovo appalto inserisco le fatture con il totale fattura da pagare direttamente e fin qui tutto bene.
Il portale è filtrato tramite FATTURE::ID_APPALTO = APPALTI::ID_APPALTO

Il problema nasce nella seconda sottomaschera , a cui fanno riferimenti i SALDI e gli ACCONTI
Il portale qui è filtrato tramite ID_FATTURA ed ID_APPALTO ma basterebbe ID_FATTURA , solo che voglio gestire TUTTE LE FATTURE di quell'appalto e spero vada bene cosi'.

Dicevo il problema sorge nel momento in cui vado ad inserire i saldi e gli acconti della seconda fattura.

Per la prima si prende in automatico l'ID_FATTURA 1 , sommando tutti gli ACCONTI e facendo la differenza per il SALDO con l'importo TOTALE FATTURA.

Se pero' inserisco una SECONDA FATTURA nel SECONDO PORTALE , con ID_FATTURA 2 quindi , quando vado ad inserire i SALDI e gli ACCONTI della FATTURA CON ID 2 non me li visualizza più sul secondo portale , andando a creare 1 record nel PRIMO PORTALE.

Bè cmq è già un passo avanti e sembra funzionare , guarderò con attenzione le relazioni del DB che al momento sono cosi' composte:

APPALTI e FATTURE = ID_APPALTO

FATTURE e FATTURE 2 = ID_APPALTO e ID_FATTURA

Stammi bene Fabio adesso ci penso su e poi ti farò sapere sempre se ti troverò qui ... GRAZIE !
FM PRO ADVANCED 17 + FMS 17 :!:

Rispondi