Unione dinamiche di due tabelle

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Rispondi
angeloIS
Messaggi: 22
Iscritto il: giovedì 14 gennaio 2016, 7:46
Versione FileMaker: 17
Sistema operativo: MACOS 10.13

Unione dinamiche di due tabelle

Messaggio da angeloIS » domenica 15 gennaio 2017, 11:12

Buongiorno, ho le tabelle seguenti con i campi principali
Clienti: Id, nome...
Prodotto: Id, descrizione...
Fattura:Id, data, clientFk...
Rigadettaglio: Id, fattura, prodotto, quantità...

E poi ho
Pagamenti: Id, clienteFk, data, importo...
Oltre alle necessarie tabelle join per le ralzioni molti...molti...

Vorrei un portale dove posso ottenere in modo dinamico una specie di estratto conto del cliente nel quale riesco a "fondere" sia le operazioni addebito provenienti dalle fatture, sia le operazioni a credito provenienti dalla tabella pagamenti. Al momento non mi interessa collegare il pagamento alla singola fattura, ma solo al cliente.
Non riesco in alcun modo a trovare una soluzione. Riesco solo,ad ottenere risultati separati. Con acces (e gli alti db sql) era una semplice query UNION di due SELECT
Potete aiutarmi a impostare le tabelle e le relazioni?
In realtà confesso che mi rendo conto di non avere chiaro se in filemaker esiste il concetto di query.
P.s. Avevo anche pensato come soluzione ad una tabella dettaglioMovimento da usare sia in join con Fattura sia in join con Pagamenti ma non so se sia la soluzione giusta.
FM17 OSX

Avatar utente
PaoloMar189
Messaggi: 77
Iscritto il: sabato 4 ottobre 2014, 18:31

Re: Unione dinamiche di due tabelle

Messaggio da PaoloMar189 » domenica 15 gennaio 2017, 14:44

Buon pomeriggio Angelo. Diciamo innanzitutto che ciò che in SQL è una query, in FileMaker è una semplice richiesta e che gli script vanno ad automatizzare ciò che un operatore farebbe manualemente.

In FileMaker, manualmente, la ricerca si fa
entrando NEL MODO TROVA
IMPOSTANDO I CAMPI DI RICERCA che possono essere sia quelli sulla tabella corrente, sia quelli sulle tabelle relazionate.
Quando si sono impostati tutti i criteri (singoli o multipli) allora si ESEGUE LA RICERCA

Una volta individuati i records, allora questi risultati si possono raggruppare per uno o più campi, totalizzando i risultati con i campi di tipo RIASSUNTO.

Ora, detto ciò, sintetizzo che in FileMaker una select con UNION è una semplice ricerca su campi anche relazionati. FileMaker in ogni caso, opera con concetti totalmente diversi.

Mi sfugge però, per capirci sulla struttura:
Hai fatto una tabella clienti, e va bene;
Hai fatto una tabella Prodotti, come anagrafica (spero) e va bene;
Hai fatto una tabella fattura, che presumo essere le fatture di vendita emesse a carico del cliente
Hai fatto una tabella rigadettaglio, che presumo essere le righe delle fatture di cui sopra
e hai fatto una tabella Pagamenti, che al contrario della nomenclatura data, potrebbe essere una tabella incassi. Quindi domando: costituisce gli incassi che chiudono il totale a pagare sulla fattura?

Se è così, e con questa struttura, un report che può costituire un estratto conto, potrebbe poggiare direttamente sulla tabella fatture e che mostri i riferimenti del documento unitamente al totale da pagare, unitamente al totale saldato.

Diversamente, se le necessità richiedessero di poggiare il report su Pagamenti, qua dentro andrebbe creato un record che dica anche "emessa fattura n. xxxxxx" in modo tale che anche la fattura vada a generare il credito nel momento in cui viene emessa e poi un incasso vada a generare uno storno del credito.

Le relazioni sono semplici perché la tabella che adesso si chiama "pagamenti" deve essere relazionata con un campo n_documento/anno tra le due tabelle.
Paolo Marinelli
Moderatore FMPro.it
Sviluppatore OmniaGest 5 e FileMaker 14-15

Omnia Studio

-----------------------------------------
http://www.omniagest.it

angeloIS
Messaggi: 22
Iscritto il: giovedì 14 gennaio 2016, 7:46
Versione FileMaker: 17
Sistema operativo: MACOS 10.13

Re: Unione dinamiche di due tabelle

Messaggio da angeloIS » domenica 15 gennaio 2017, 15:38

Paolo grazie per la tua esaustiva risposta. Hai compreso perfettamente lo scenario in cui devo muovermi, e poi sì, la tabella pagamenti in realtà riguarda gli incassi.
Ho bisogno di aprire la scheda del cliente (sono studenti che comprano libri e materiale scolastico) ed avere un portale (magari in un tab separato) dove visualizzo l'estratto conto del cliente. Dove posso replicare in linea di massima la struttura di un estratto conto bancario (accrediti e addebiti). Se potessi avere anche una running sum sarebbe un lusso enorme. In ogni momento vorrei poter visualizzare (e stampare) l'estratto conto per verificare saldi a debito.
Non ho ben chiaro come si possano eseguire ricerche su più tabelle contemporaneamente.
Ho compreso che in filemaker (a differenza di Access) non esistono le query (e tantomeno le query Unione!).
Per completezza chiarisco che un cliente può fare un pagamento a fronte di 0, 1 o più fatture (può fare degli acconti non riferibili a nessuna fattura in particolare) tra l'altro nel suo estratto conto ci vanno anche gli addebiti relativi agli scontrini degli acquisti.
Avevo anche pensato ad un tabella unica dettaglioMovimento che potesse essere alimentata sia dalla relazione fattura...dettaglioMovimento sia dalla relazione incasso...dettaglioMovimento ma non sono convinto di questa soluzione. Ho fatto varie prove ma non funzionano bene.
Su Udemy ho fatto i due corsi di Guy Stevens "Complete Invoice" e "Booking and reservation" per capire le varie tecniche di scripting e gestione relazioni portali ma non affronta l'argomento "estratto conto".
Sono bloccato. L'unica cosa che ho capito, così come mi hai suggerito, e che devo concentrarmi sul discorso "ricerca" su tabella corrente e tabella correlate ma non riesco a concretizzare una soluzione...
FM17 OSX

angeloIS
Messaggi: 22
Iscritto il: giovedì 14 gennaio 2016, 7:46
Versione FileMaker: 17
Sistema operativo: MACOS 10.13

Re: Unione dinamiche di due tabelle

Messaggio da angeloIS » domenica 22 gennaio 2017, 10:07

Buongiorno,
al momento ho risolto soltanto la parte di avere in una unica tabella addebiti e accrediti.. Non è la soluzione più elegante (e non è proprio quella che volevo) ma decisamente funziona.
Illustro come ho risolto con un esempio didattico:
oltre alle tabelle tblCLienti, tblOrdini, tblProdotto, ho creato una unica tabella tblDettaglioRiga in cui ho inserito i campi
id
data (che uso/visualizzo solo nel portale INCASSI)
ordineFK
prodottoFK (uso solo/visualizzo nel portale ORDINI)
descrizione (uso solo/v nel portale INCASSI per specificare il tipo di incasso, contanti, bonifico, eccetera. potrei usare anche un incassiFK ma per ora lascio così)
quantità (portale ordini)
Prezzo (richiama in lookup il prezzo dalla tabella prodotti. portale ordini)
c_totaleAddebiti (portale ordini. quantità*prezzo)
Incasso (u/v solo nel portale incassi. registro la somma incassata)
s_TotaleAddebiti (riassunto. somma del c_totaleAddebiti. per avere il totale dell'ordine)
s_Accrediti (riassunto. per il totale degli incassi)
c_saldo (s_accrediti-s_totaleAddebiti) per avere il saldo dell'ordine
Nella maschera ordine ho creato un controllo a schede con 3 schede/portali: dettaglio ordine/incassi/amministrazione
Il portale ordine l'ho filtrato con la condizione evuoto(descrizione) così vedo SOLO gli incassi dell'ordine
il portale incassi l'ho filtrato con la condizione evuoto(prezzo) in quanto è un campo che si valorizza in lookup solo nel dettaglio ordine
nell'intestazione dell'ordine ho messo le tre caselle s_TotaleAddebiti - s_Accrediti - c_Saldo per avere la situazione in tempo reale dell'ordine con una formattazione condizionale che mostra varie situazioni di saldo dare/avere o zero.
Diciamo che per ora è perfettamente sistemata la faccenda di avere in una unica tabella (non ridondante) addebiti e accrediti (e quindi per differenza, il saldo cliente). Ora mi resta solo da capire come sfruttare questa tabella per avere l'estratto conto (visto che per quanto riguarda gli accrediti ho il campo ordineFK ma non il campo ClienteFK.)
Ogni consiglio è ben accettato.
angelo
FM17 OSX

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

Re: Unione dinamiche di due tabelle

Messaggio da fabio.beri » domenica 22 gennaio 2017, 12:41

Buongiorno Angelo, ti suggerisco di porre domande mirate e dirette, perché se questa
Ora mi resta solo da capire come sfruttare questa tabella per avere l'estratto conto
è la tua richiesta, è alquanto difficile risponderti.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

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

Rispondi