diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index f55146fb7..f8e6243dc 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -699,7 +699,11 @@ void TPrimanota_application::init_insert_mode(TMask& m) m.hide(F_ADJUST_PRORATA); // In inserimento non puo' esistere un pro-rata errato! if (causale().soloiva()) m.set(F_SOLAIVA, "X", true); // Propone movimento di sola iva - } + if (iva() == iva_acquisti && causale().intra()) + m.field(F_RITFIS).set_prompt("IVA intracomun. "); + else + m.field(F_RITFIS).set_prompt("Ritenute fiscali "); +} else { if (*causale().codice()) // @@ -787,7 +791,13 @@ void TPrimanota_application::init_modify_mode(TMask& m) } } } - + if (iva() == iva_acquisti) + { + if (causale().intra()) + m.field(F_RITFIS).set_prompt("IVA intracomun. "); + else + m.field(F_RITFIS).set_prompt("Ritenute fiscali "); + } if (_as400 && is_pagamento()) { m.set(SK_TIPORIGA, "A"); // Forza il tipo riga normale @@ -2174,4 +2184,4 @@ int cg2100 (int argc, char** argv) a->run(argc, argv, TR("Prima nota")); delete a; return 0; -} \ No newline at end of file +} diff --git a/cg/cg2100c.uml b/cg/cg2100c.uml index 04bcc714e..d9d267bc8 100755 --- a/cg/cg2100c.uml +++ b/cg/cg2100c.uml @@ -190,15 +190,15 @@ BEGIN COPY OUTPUT F_DESCAGG END -NUMBER F_PROTIVA 5 +NUMBER F_PROTIVA 6 BEGIN PROMPT 1 9 "Protocollo IVA " FIELD PROTIVA END -NUMBER F_RIEPILOGO 5 +NUMBER F_RIEPILOGO 6 BEGIN - PROMPT 25 9 "Riepilogo al n. " + PROMPT 25 9 "Riepilogo al n." FIELD UPROTIVA NUM_EXPR {(#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)} WARNING "Inserire un riepilogo non inferiore al protocollo IVA (Obbigatorio se il cliete/fornitore ha codice inserimento in allegati uguale a 3)" diff --git a/cg/cg2102.cpp b/cg/cg2102.cpp index 7bbeca48d..70cac9e9a 100755 --- a/cg/cg2102.cpp +++ b/cg/cg2102.cpp @@ -2598,7 +2598,19 @@ bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key) TPrimanota_application& a = app(); const real imp(a.ivas().row(1).get(0)); - if (imp.is_zero()) // Se il totale documento non e' stato spezzato + + if (a.iva() == iva_acquisti && a.causale().intra()) + { + const real iva(f.mask().get_real(F_RITFIS)); + if (iva.is_zero()) + { + TCodiceIVA codiva(f.get()); + const real totale = f.mask().get_real(F_TOTALE); + const real imposta = codiva.imposta(totale); + f.mask().set(F_RITFIS, imposta.string()); + } + } + if (imp.is_zero()) // Se il totale documento non e' stato spezzato { TToken_string& row = a.ivas().row(0); diff --git a/cg/f23.dir b/cg/f23.dir index 08da14f49..cd928962f 100755 --- a/cg/f23.dir +++ b/cg/f23.dir @@ -1,3 +1,3 @@ 23 0 -$mov|0|0|373|0|Movimenti di prima nota||| +$mov|0|0|375|0|Movimenti di prima nota||| diff --git a/cg/f23.trr b/cg/f23.trr index 48d8ab412..8245099b4 100755 --- a/cg/f23.trr +++ b/cg/f23.trr @@ -14,8 +14,8 @@ DESCR|1|50|0|Descrizione TIPOMOV|1|1|0|Tipo movimento ANNOIVA|2|4|0|Anno IVA REG|1|3|0|Codice registro IVA -PROTIVA|3|5|0|Numero di protocollo IVA -UPROTIVA|3|5|0|Ultimo numero di protocollo IVA se diverso da PROTIVA +PROTIVA|3|6|0|Numero di protocollo IVA +UPROTIVA|3|6|0|Ultimo numero di protocollo IVA se diverso da PROTIVA CODVAL|1|3|0|Codice valuta DATACAM|5|8|0|Data del cambio CAMBIO|4|15|6|Cambio della valuta