Conteggio con riporto

Conteggio con riporto

0
0

Sono sempre io a rompere, con i miei mille problemi, eccomi nuovamente qui

Questa volta mi perdo in un conteggio tanto semplice quanto cervellotico

Calcolo straordinario. In pagamento 30, ore effettuate 40 quindi 10 da riportare al mese successivo

E qui nasce il problema nel senso che non riesco a far funzionare il tutto. Questo perchè può capitare che durante il mese si voglia visionare il numero delle ore effettuate e quindi si procede al calcolo provvisorio dello straordinario che imposta il campo riporto in esubero. Da ciò ne scaturisce che se si riesegue il calcolo il riporto aumenta in maniera esponenziale sommando sempre l’esubero

Ciò accade anche perchè il riporto del mese in corso successivamente diventa riporto del mese precedente e quindi i numeri crescono a dismisura

Come si può fare per evitare questa cosa?

Segnalato come spam
Pubblicata da (Domande: 51, Risposte: 161)
Domanda inviata 9 Settembre 2016 17:46
27 vis.
0
Domanda privata

?

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 16 Settembre 2016 18:55
0
Domanda privata

A parte eseguiSQl che lo implementerei in maniera del tutto copia/incolla in quanto non ci capisco nulla l’autorelazione mi sembra la strada più facilmente percorribile

Adesso sto sistemando anche altre cose ma sicuramente ti terrò aggiornato

Grazie di cuore Giulio sei un Amico ?

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 16 Settembre 2016 17:02
0
Domanda privata

in alternativa il SQL sarebbe una cosa del genere:

let([
mm= nometuatabella::nometuocampomese-1;
mm= if(mm=0; 12; mm);
aa= if(mm=12; nometuatabella::nometuocampoanno-1; nometuatabella::nometuocampoanno)];

ESEGUISQL(”SELECT nometuocamporiporto FROM nometuatabella WHERE nometuocampomese=? AND nometuocampoanno=? AND nometuocampoiddipendente=?”;””;””; mm; aa; nometuatabella::nometuocampoiddipendente)
)

tutti i campi in esegui sql sono case sensitive (ovvero Mese non è uguale a mese) e non devono contenere spazi.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 16 Settembre 2016 12:05
0
Domanda privata

mese, dovrebbe diventare il riporto dal mese precedente: come faccio a fare questa cosa?

con una autorelazione (non autoregolazione, sorry colpa del correttore). in sostanza metti in relazione la tabella mesi_straordinario_dipendenti con se stessa, creando un campo calcolato mese/anno che peschi il mese precedente, e metti in relazione i due campi, qualcosa tipo :

mesi_straordinario_dipendenti::meseannoprecedente=mesi_straordinario_dipendenti::meseanno AND
mesi_straordinario_dipendenti::tuoiddipendente=mesi_straordinario_dipendenti:: tuoiddipendente

in sintesi OGNI mese pesca il valore di esubero del mese precedente e lo utilizza er i calcoli, così fa fede il solo valore del mese attuale.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 16 Settembre 2016 12:00
0
Domanda privata

Sto facendo ”esperimenti” e qualcosa si muove ?

Non ho capito alcune cose:

  • come faccio a ”dire a filemaker” che il campo esubero mese deve considerarlo solo una volta e non deve più calcolarlo? Potrebbe anche succedere che si voglia fare una prova del calcolo dello straordinario e pertanto il suddetto campo sarebbe autoincrementato all’infinito… questo passaggio non ce l’ho chiaro ed è per questo che non riesco ad andare avanti
  • l’esubero del mese in corso, una volta arrivato il nuoveo mese, dovrebbe diventare il riporto dal mese precedente: come faccio a fare questa cosa?
  • eseguiSQL per me è arabo quindi lo scarto a priori. Cos’è una autoregolazione?

Da quello che ho capito mi stai dicendo di creare un’altra tabella ”mese_precedente” relazionarla (campo mese giusto?) con ”mesi_straordinario_dipendenti”  con un campo ”esubero_mese”

L’ho fatto e sto basando i calcoli su quello: mi manca da trasformare l’esubero in riporto dal mese precedente….

Come faccio? Fino adesso non sono riuscito in questo e mi crea come una sorta di ”loop” (esubero-riporto) nel conteggio…

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 15 Settembre 2016 13:32
0
Domanda privata

rovescia il problema: adesso che hai una struttura più adatta puoi usare un metodo più pulito.
in sostanza tu per ogni mese devi avere un campo ”esubero mese”, numerico indicizzato con inserimento calcolato (o script, come vuoi) che in sostanza prende i valori del campo esubero mese del mese precedente e li somma/sottrae con i dati del mese stesso.

quindi in sostanza PER OGNI MESE il calcolo sara soltanto mese_precedente::esubero_mese +/- oredeltuomesecalcolatecometipare.
avendo una tabella a parte puoi tranquillamente prenderti i valori dell’esubero del mese precedente mediante una autoregolazione o un semplice eseguiSQL. Questo approccio fa si che tu ha UN unico campo per gli esuberi che sarà quello del mese corrente, perché i calcoli vengono gestiti man mano mese per mese. in sintesi UN calcolo e UNA relazione (che puoi pure evitare se usi un eseguiSQL). ?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 15 Settembre 2016 11:33
0
Domanda privata

ho fatto dei progressi. ?

Ho spostato tutto nella tabella mesi_straordinatio_dipendenti

I conteggi vengono tutti effettuati regolarmente tranne 2 riporti . Faccio un esempio

Se a settembre il campo con il riporto dello straordinario in esubero dal mese precedente (agosto) è ”0” a fine mese se il dipendente avrà ancora ulteriori ore da ”accatastare” il suddetto campo sarà la somma ”0+settembre”. Qui vado in tilt perchè se ricalcolo lo straordinario di settembre il riporto da agosto non sarà più ”0” bensì ”0+settembre” andando quindi a crescere a dismisura per tutte le volte che verrà ricalcolato lo straordinario. Dov’è l’errore? Cos’è che non riesco a vedere/capire?

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 13 Settembre 2016 20:17
0
Domanda privata

non è che esistano i ”contesti anagrafica” corretti o scorretti, esistono dei contesti che non sono i migliori su cui basare certi calcoli, e questo dipende dalla struttura di ciascuna soluzione. Ciò detto, contino a suggerire di  basare i calcoli sul contesto della tabella mesi_dipendenti.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 11 Settembre 2016 13:07
0
Domanda privata

Quindi devo rassegnarmi a non avere soluzione? Oppure ci potrebbe essere qualche modo che potrei tentare di realizzare…

come si fa ad ottenere un contesto anagrafica corretto? 

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 10 Settembre 2016 21:51
0
Domanda privata

a prescindere dall’impostazione dei calcoli (che dipende dalla modellazione dati) l’errore esce perché il contesto anagrafica non è quello corretto, quindi il calcolo è difficile da gestire.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 10 Settembre 2016 21:38
0
Domanda privata

aaaaaaaaaaaaaaa ?

questo non l’avevo capito che avrei potuto sfruttarlo anche per questo caso

però il problema rimane, ovvero se io calcolo lo straordinario impostandolo per come spiegato appena sopra e poi lo ricalcolo appena dopo i numeri crescono ugualmente, non riesco a capacitarmi dove sbaglio o come dovrei implementare questa cosa

perdonami Giulio ma almeno il mio modo di impostare i vari campi è corretto? se si, perchè ottengo questo errore?

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 10 Settembre 2016 20:34
0
Domanda privata

mah, non sono tanto criptiche. Ti avevo suggerito in un altro post di utilizzare una tabella di raccordo mesi_dipendenti e di basare tutti i calcoli relativi ai mesi li…

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 10 Settembre 2016 19:44
0
Domanda privata

Mi piacciono le tue risposte criptiche ?

ovvero devo spostare tutto in una tabella ”straordinario”?

è sufficiente solo questo?

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 10 Settembre 2016 19:38
0
Domanda privata

vale quanto detto prima: ti manca almeno una tabella per gestirla bene ?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 10 Settembre 2016 17:02
0
Domanda privata

Si, sono in anagrafica

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 10 Settembre 2016 14:09
0
Domanda privata

e ok, ma questi campi in che tabella sono? com’è la struttura generale?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 10 Settembre 2016 13:27
0
Domanda privata

in pratica imposto tutti i campi (numero) tramite script

In questo modo

Campo A (Eventuale riporto dal mese precedente) all’inizio sarà 0

Campo B (straordinario effettuato nel mese)

Campo C (eventuale esubero straordinario effettuato nel mese in corso)

Campo D (Eventuale riporto per il mese successivo) = Campo C + Campo A

Campo E (straordinario a pagamento) = Campo A + Campo B

Purtroppo impostando così lo script il campo A e il campo D continuano a crescere a dismisura

Vi prego aiutatemi ? ?

Segnalata come spam
Pubblicata da (Domande: 51, Risposte: 161)
Risposta inviata 10 Settembre 2016 12:05
0
Domanda privata

di solito non dovrebbe capitare, infatti ?

che tipo di calcolo usi?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 9 Settembre 2016 21:43