diff --git a/cg/cg0200.cpp b/cg/cg0200.cpp index 3cd212efb..10f22b122 100755 --- a/cg/cg0200.cpp +++ b/cg/cg0200.cpp @@ -296,6 +296,7 @@ HIDDEN bool alleg_handler(TMask_field& f, KEY key) { m.disable(F_CODALLEG); m.reset(F_CODALLEG); + m.reset(F_RAGSOCALLEG); } m.set(F_OCCASIONALE, (tipoall == 2) ? "X" : " "); } @@ -318,33 +319,35 @@ HIDDEN bool occas_handler(TMask_field& f, KEY key) } HIDDEN bool codalleg_handler(TMask_field& f, KEY key) - { if (f.to_check(key)) { - const TString cod(f.get()); + const TString16 cod(f.get()); if (cod.not_empty()) { TMask& m = f.mask(); - - if (cod == m.get(F_TIPOCF)) - return error_box("Codice per allegato non corretto"); + if (cod == m.get(F_CODCF)) + return error_box("Il codice per allegato coincide con il codice anagrafico"); + + const char tipo = m.get(F_TIPOCF)[0]; TLocalisamfile clifo(LF_CLIFO); - const TString tipo(m.get(F_TIPOCF)); - clifo.zero() ; - clifo.setkey(1) ; clifo.put(CLI_TIPOCF, tipo); clifo.put(CLI_CODCF, cod); clifo.read() ; if (clifo.bad()) return FALSE; - TString tipoall(clifo.get(CLI_ALLEG)); - if (clifo.get(CLI_CODALLEG).not_empty() || - clifo.get(CLI_PAIV).empty() || - (tipoall.not_empty() && tipoall != "4")) - return error_box("Codice per allegato non corretto"); + + if (clifo.get(CLI_CODALLEG).not_empty()) + return error_box("Codice non utilizzabile: contiene a sua volta un codice per allegato"); + + if (clifo.get(CLI_PAIV).empty()) + return error_box("Codice non utilizzabile: privo di partita IVA"); + + const TString& tipoall = clifo.get(CLI_ALLEG); + if (tipoall.not_empty() && tipoall != "4") + return error_box("Codice non utilizzabile: codice inserimento allegato non corretto"); } } return TRUE; diff --git a/cg/cg0200.h b/cg/cg0200.h index 3164740a5..6f0379579 100755 --- a/cg/cg0200.h +++ b/cg/cg0200.h @@ -24,9 +24,12 @@ #define F_ALLEG 113 #define F_GRUPPO 114 #define F_CONTO 115 +#define F_DESCONTO 137 #define F_GRUPPORIC 116 -#define F_CONTORIC 117 +#define F_CONTORIC 117 #define F_SOTTOCRIC 118 +#define F_DESCRIC 138 + #define F_TIPOAPER 119 #define F_CODANAGPER 120 #define F_PTEL 121 @@ -38,6 +41,7 @@ #define F_DATANASC 127 #define F_STATONASC 128 #define F_COMNASC 129 +#define F_DENCOMNASC 135 #define F_CODSTAT 130 #define F_CODPAG 131 #define F_RAGSOC1 132 diff --git a/cg/cg1500a.uml b/cg/cg1500a.uml index 48a29cf5d..90f8faf7d 100755 --- a/cg/cg1500a.uml +++ b/cg/cg1500a.uml @@ -41,7 +41,7 @@ BEGIN //CHECKTYPE NORMAL //MESSAGE HIDE,98|HIDE,99|SHOW,96|SHOW,97 //MESSAGE EMPTY HIDE,96|HIDE,97|SHOW,98|SHOW,99 - FLAGS "RZ" + FLAGS "Z" END RADIOBUTTON F_BILANCIO 33 @@ -54,7 +54,7 @@ BEGIN MESSAGE HIDE,F_DATAA|RESET,F_DATAA|HIDE,F_SITUAZIONE|RESET,F_SITUAZIONE MESSAGE HIDE,F_ORDINAMENTO|RESET,F_ORDINAMENTO|HIDE,F_STAMPAC|RESET,F_STAMPAC MESSAGE HIDE,96|HIDE,97|HIDE,98|HIDE,99 - MESSAGE HIDE,F_MODULO|RESET,F_MODULO +// MESSAGE HIDE,F_MODULO|RESET,F_MODULO MESSAGE SHOW,F_STAMPA|K_SPACE,F_STAMPA ITEM "2|Bilancio di verifica" MESSAGE HIDE,F_STAMPA|RESET,F_STAMPA @@ -62,7 +62,7 @@ BEGIN MESSAGE HIDE,F_CODICI|RESET,F_CODICI|HIDE,F_SALDO|RESET,F_SALDO MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV MESSAGE SHOW,F_VERIFICA|K_SPACE,F_VERIFICA|SHOW,F_STAMPA1|K_SPACE,F_STAMPA1 - MESSAGE SHOW,F_MODULO|K_SPACE,F_MODULO +// MESSAGE SHOW,F_MODULO|K_SPACE,F_MODULO MESSAGE SHOW,96|SHOW,97|SHOW,98|SHOW,99 END @@ -150,6 +150,14 @@ BEGIN HELP "Indicare se stampare i movimenti provvisori" END +LIST F_MODULO 10 +BEGIN + PROMPT 2 12 "Stampa su modulo stretto " + HELP "Indicare il numero di caratteri del foglio (larghezza)" + ITEM "1|132 crt." + ITEM "2|198 crt." +END + BUTTON DLG_OK 9 2 BEGIN PROMPT -12 -1 "" @@ -190,14 +198,6 @@ BEGIN ITEM "3|Tutti i conti" END -LIST F_MODULO 10 -BEGIN - PROMPT 2 8 "Stampa su modulo stretto " - HELP "Indicare il numero di caratteri del foglio (larghezza)" - ITEM "1|132 crt." - ITEM "2|198 crt." -END - LIST F_SITUAZIONE 11 BEGIN PROMPT 2 10 "Tipo situazione " diff --git a/cg/cg2102.cpp b/cg/cg2102.cpp index 0dab3dac4..e63c4236b 100755 --- a/cg/cg2102.cpp +++ b/cg/cg2102.cpp @@ -704,6 +704,9 @@ bool TPrimanota_application::imponibile_handler(TMask_field& f, KEY key) bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key) { + if (!suspended_handler(f, key)) + return FALSE; + if (key == K_TAB && f.dirty()) { TMask& m = f.mask(); @@ -906,7 +909,7 @@ bool TPrimanota_application::iva_notify(int r, KEY k) if (delimp >= 0) app().reset_cgs_row(delimp); // Cancella vecchia riga const TImporto val(app().real2imp(imponibile, 'I')); - if (!val.is_zero()) // Se c'e' imponibile ... + if (conto.ok() && !val.is_zero()) // Se c'e' imponibile ... { // crea una nuova riga contabile const TString80 d(cau.desc_agg(2)); app().set_cgs_row(-1, val, conto, d, 'I'); @@ -1155,7 +1158,7 @@ bool TPrimanota_application::datareg_handler(TMask_field& f, KEY key) { bool ok = TRUE; - if ((key == K_TAB || key == K_ENTER) && f.dirty()) + if (key == K_TAB || key == K_ENTER) { const TDate dr(f.get()); // Data dell'operazione if (dr > TDate(TODAY)) @@ -1467,6 +1470,9 @@ bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key) { if (key == K_TAB && f.get().not_empty()) { + if (!suspended_handler(f, key)) + return FALSE; + const real imp(app().ivas().row(1).get(0)); // Se il totale non e' stato spezzato if (imp.is_zero()) { diff --git a/cg/cg5000a.h b/cg/cg5000a.h index 9a5eceedd..12a5019fe 100755 --- a/cg/cg5000a.h +++ b/cg/cg5000a.h @@ -16,4 +16,4 @@ #define CHK_GSACMI 116 #define CHK_21SAVENEW 117 #define CHK_02SAVENEW 118 - +#define FLD_DESAGV 119 diff --git a/cg/cg5000a.uml b/cg/cg5000a.uml index ef262932f..114ad9c89 100755 --- a/cg/cg5000a.uml +++ b/cg/cg5000a.uml @@ -25,7 +25,7 @@ END NUMBER FLD_CODABI 5 BEGIN PROMPT 3 2 "Banca di appoggio per deleghe IVA ABI " - HELP "Codice ABI banca di appoggio per deleghe IVA" + HELP "Codice ABI banca di appoggio per deleghe IVA" USE %BAN INPUT CODTAB[1,5] FLD_CODABI DISPLAY "ABI@5" CODTAB[1,5] @@ -63,7 +63,7 @@ BEGIN FIELD Sind11 END -GROUPBOX DLG_NULL 74 5 +GROUPBOX DLG_NULL 74 6 BEGIN PROMPT 1 6 "Liquidazione IVA" END @@ -76,7 +76,7 @@ END NUMBER FLD_INTR0 5 2 BEGIN PROMPT 3 8 "I " - HELP "Indicare il tasso del primo trimestre da applicare per gli interessi su versamenti IVA" + HELP "Tasso del primo trimestre da applicare per gli interessi su versamenti IVA" FLAGS "R" FIELD InTr(0) END @@ -84,7 +84,7 @@ END NUMBER FLD_INTR1 5 2 BEGIN PROMPT 20 8 "II " - HELP "Indicare tasso del secondo trimestre da applicare per gli interessi su versamenti IVA" + HELP "Tasso del secondo trimestre da applicare per gli interessi su versamenti IVA" FLAGS "R" FIELD InTr(1) END @@ -92,7 +92,7 @@ END NUMBER FLD_INTR2 5 2 BEGIN PROMPT 40 8 "III " - HELP "Indicare tasso del terzo trimestre da applicare per gli interessi su versamenti IVA" + HELP "Tasso del terzo trimestre da applicare per gli interessi su versamenti IVA" FLAGS "R" FIELD InTr(2) END @@ -100,7 +100,7 @@ END NUMBER FLD_INTR3 5 2 BEGIN PROMPT 60 8 "IV " - HELP "Indicare tasso del quarto trimestre da applicare per gli interessi su versamenti IVA" + HELP "Tasso del quarto trimestre da applicare per gli interessi su versamenti IVA" FLAGS "R" FIELD InTr(3) END @@ -108,33 +108,53 @@ END STRING FLD_CODAGV 4 BEGIN PROMPT 3 9 "Codice IVA per ricavi misti agenzie di viaggio " - HELP "Codice IVA per scorporo operazioni con l'esetero per agenzie di viaggio" + HELP "Codice IVA per scorporo operazioni con l'esetero per agenzie di viaggio" USE %IVA FLAGS "U" INPUT CODTAB FLD_CODAGV - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@50" S0 + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + DISPLAY "Tipo" S1 + DISPLAY "%@5" R0 + DISPLAY "Vent." S6 + DISPLAY "Sospeso" B2 OUTPUT FLD_CODAGV CODTAB + OUTPUT FLD_DESAGV S0 CHECKTYPE NORMAL FIELD CodAgv - VALIDATE ZEROFILL_FUNC 2 + VALIDATE ZEROFILL_FUNC 2 +END + +STRING FLD_DESAGV 50 +BEGIN + PROMPT 3 10 "Descrizione " + USE %IVA KEY 2 + INPUT S0 FLD_DESAGV + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice" CODTAB + DISPLAY "Tipo" S1 + DISPLAY "%@5" R0 + DISPLAY "Vent." S6 + DISPLAY "Sospeso" B2 + COPY OUTPUT FLD_CODAGV + CHECKTYPE NORMAL END GROUPBOX DLG_NULL 74 4 BEGIN - PROMPT 1 11 "Stampa registri" + PROMPT 1 13 "Stampa registri" END BOOLEAN CHK_STIREG BEGIN - PROMPT 3 12 "Stampare l'intestazione sui registri bollati" + PROMPT 3 14 "Stampare l'intestazione sui registri bollati" HELP "Indicare se stampare l'intestazione della ditta sui registri" FIELD StiReg END BOOLEAN CHK_NODTRG BEGIN - PROMPT 3 13 "Non stampare la data di operazione sui registri IVA" + PROMPT 3 15 "Non stampare la data di operazione sui registri IVA" HELP "Indicare se non stampoare la data dell'operazione sui registri IVA" FIELD NoDtRg END