diff --git a/ps/indice_programmi.txt b/ps/indice_programmi.txt index df16e0f3a..ea5dc1645 100755 --- a/ps/indice_programmi.txt +++ b/ps/indice_programmi.txt @@ -134,7 +134,7 @@ Importazione CLIFO e ANAMAG per Acquacontrol PS1001 CRPA/DINAMICA -0 generazione movimento analitico da file .csv contenente le righe (usato in genere per budget) -1 importazione di N movimenti di budget analitici in formato .csv --2 variatore dei movimenti di budget giā esistenti +-2 gestore dei movimenti di budget per commessa PS1100 Importazione listini dei gommari (prassiroma, ex ve7500) diff --git a/ps/ps1001300.cpp b/ps/ps1001300.cpp index fd40f7df6..6709c297f 100755 --- a/ps/ps1001300.cpp +++ b/ps/ps1001300.cpp @@ -520,7 +520,7 @@ int TVariazione_budget_mask::modifica_movana(const long numreg, TSheet_field& sf const bool r_autofcomp = *sf_righe.cell(i, _pos_autofcomp) > ' '; const TDate r_datacomp = sf_righe.cell(i, _pos_datacomp); TDate r_datafcomp = sf_righe.cell(i, _pos_datafcomp); - if (r_datafcomp < r_datacomp) + if (!r_datafcomp.ok() && !r_autofcomp) r_datafcomp = r_datacomp; //importo riga: se nullo la riga verrā eliminata in quanto inutile all'umanitā @@ -586,7 +586,7 @@ int TVariazione_budget_mask::crea_movana(TSheet_field& sf_righe, const int n) const bool r_autofcomp = *sf_righe.cell(n, _pos_autofcomp) > ' '; const TDate r_datacomp = sf_righe.cell(n, _pos_datacomp); TDate r_datafcomp = sf_righe.cell(n, _pos_datafcomp); - if (r_datafcomp < r_datacomp) + if (!r_datafcomp.ok() && !r_autofcomp) r_datafcomp = r_datacomp; //riempie la testata del movana @@ -793,20 +793,17 @@ int TVariazione_budget_mask::load() const TDate datacomp = rmovana.get("MOVANA."MOVANA_DATACOMP).as_date(); TDate datafcomp = rmovana.get("MOVANA."MOVANA_DATAFCOMP).as_date(); const bool autofcomp = rmovana.get("MOVANA."MOVANA_AUTOFCOMP).as_bool(); - //caso cazzuto della scadenza con la fine della commessa (come nella stampa bilancio commessa) - if (autofcomp) - { - const TRectype& rec_commesse = cache().get(LF_COMMESSE, cms); - //data del cazzo che serve per non rovinare datacomp, che č la data sulla riga, non quella iniziale di cms - TDate datainicms; - ca_durata_commessa(rec_commesse, datainicms, datafcomp); - } - if (!datafcomp.ok()) + if (!datafcomp.ok() && !autofcomp) datafcomp = datacomp; row.add(datacomp, _pos_datacomp); row.add(autofcomp ? "X" : "", _pos_autofcomp); - row.add(datafcomp, _pos_datafcomp); + //se c'č l'auto fine competenza la cella con la data fine competenza va svuotata.. + //..e disabilitata senno' ci va messa e basta + if (!autofcomp) + row.add(datafcomp, _pos_datafcomp); + else + sf_righe.disable_cell(sf_righe.items() - 1, _pos_datafcomp); //costo o ricavo? all'indbil l'ardua sentenza! TAnal_bill bill(conto, cdc, cms, fase); @@ -902,6 +899,6 @@ void TVariazione_budget::main_loop() int ps1001300 (int argc, char* argv[]) { TVariazione_budget main_app; - main_app.run(argc, argv, TR("Variazione budget")); + main_app.run(argc, argv, TR("Gestione budget per commessa")); return true; } \ No newline at end of file diff --git a/ps/ps1001300a.h b/ps/ps1001300a.h index 0a4501ea9..a55448b63 100755 --- a/ps/ps1001300a.h +++ b/ps/ps1001300a.h @@ -16,6 +16,7 @@ #define DLG_TODATAINI 251 #define DLG_TODATAFIN 252 #define DLG_TOMATURATO 253 +#define DLG_RESET 254 //campi dello sheet #define S_CHECK 101 diff --git a/ps/ps1001300a.uml b/ps/ps1001300a.uml index d8b8708d8..6986cfb40 100755 --- a/ps/ps1001300a.uml +++ b/ps/ps1001300a.uml @@ -54,7 +54,7 @@ END ENDPAGE -PAGE "Variazione Budget" 0 2 0 0 +PAGE "Gestione Budget" 0 2 0 0 GROUPBOX DLG_NULL 78 4 BEGIN @@ -173,6 +173,62 @@ BEGIN END ENDPAGE + + +PAGE "Istruzioni " 0 2 0 0 + +TEXT -1 +BEGIN + PROMPT 1 1 "_ Le date della commessa possono essere modificate." +END + +TEXT -1 +BEGIN + PROMPT 1 2 "_ I pulsanti All.Ini, All.Fin, All.Mat hanno effetto solo sulle righe il cui primo campo č spuntato" +END + +TEXT -1 +BEGIN + PROMPT 1 3 "_ All.Ini (Allinea all'Inizio) allinea le date di competenza alla data inizio commessa" +END + +TEXT -1 +BEGIN + PROMPT 1 4 "_ All.Fin (Allinea alla Fine) allinea le date di fine competenza alla data fine commessa" +END + +TEXT -1 +BEGIN + PROMPT 1 5 "_ All.Mat (Allinea al Maturato) modifica gli importi in modo da portare il Preventivo al valore del Maturato" +END + +TEXT -1 +BEGIN + PROMPT 1 6 "_ E' possibile modificare manualmente gli importi sulle righe, il Preventivo viene ricalcolato di conseguenza" +END + +TEXT -1 +BEGIN + PROMPT 1 7 "_ In fase di registrazione vengono eliminate le righe ad importo nullo (azzerare quindi l'importo se si" +END + +TEXT -1 +BEGIN + PROMPT 1 8 " desidera rimuovere una riga)." +END + +TEXT -1 +BEGIN + PROMPT 1 9 "_ In fase di registrazione le nuove righe vengono assegnate a nuovi movimenti analitici preventivi" +END + +TEXT -1 +BEGIN + PROMPT 1 10 "_ Il pulsante Tutti spunta le righe, una per ogni chiave Sede/Fase/Conto" +END + +ENDPAGE + ENDMASK @@ -300,6 +356,8 @@ END BOOLEAN S_AUTOFCOMP BEGIN PROMPT 34 6 "Automatica" + MESSAGE FALSE ENABLE,S_DATAFCOMP + MESSAGE TRUE CLEAR,S_DATAFCOMP END DATE S_DATAFCOMP @@ -371,19 +429,21 @@ ENDPAGE TOOLBAR "bottombar" 0 0 0 2 -BUTTON DLG_OK 10 2 +BUTTON DLG_OK 2 2 BEGIN - PROMPT -13 -1 "" + PROMPT 1 1 "" END -BUTTON DLG_DELREC 10 2 +BUTTON DLG_RESET 2 2 BEGIN - PROMPT -23 -1 "" + PROMPT 2 1 "~Azzera" + PICTURE TOOL_RESET + MESSAGE RESET,S_IMPORTO END -BUTTON DLG_CANCEL 10 2 +BUTTON DLG_CANCEL 2 2 BEGIN - PROMPT -33 -1 "" + PROMPT 3 1 "" END ENDPAGE