diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index 61d6d8d7c..c18930eaf 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -1598,30 +1598,37 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query) if (query) { set_not_empty(msk, F_CODCAUS, ini, MOV_CODCAUS); - set_not_empty(msk, F_DATAREG, ini, MOV_DATAREG); + TString16 val = ini.get(MOV_DATAREG); + if (val.empty()) + val = TDate(TODAY).string(); + msk.set(F_DATAREG, val); } else { int i; - TSheet_field& is = ivas(); - for (i = 0; ini.set_paragraph(format("25,%d", i+1)); i++) + if (iva() != nessuna_iva) { - TToken_string& riga = is.row(i); - - iva_notify(is, i, K_SPACE); - add_not_empty(riga, 0, ini, RMI_IMPONIBILE); // Imponibile 101 - add_not_empty(riga, 1, ini, RMI_CODIVA); // IVA 102 - add_not_empty(riga, 2, ini, RMI_TIPODET); // Detrazione 103 - add_not_empty(riga, 3, ini, RMI_IMPOSTA); // Imposta 104 + TSheet_field& is = ivas(); + for (i = 0; ini.set_paragraph(format("25,%d", i+1)); i++) + { + TToken_string& riga = is.row(i); - TBill c; ini2bill(ini, c, FALSE); - if (c.gruppo() > 0) - c.add_to(riga, 4, 0x7); // Conto 105-110 - - iva_notify(is, i, K_ENTER); - } - + iva_notify(is, i, K_SPACE); + add_not_empty(riga, 0, ini, RMI_IMPONIBILE); // Imponibile 101 + add_not_empty(riga, 1, ini, RMI_CODIVA); // IVA 102 + add_not_empty(riga, 2, ini, RMI_TIPODET); // Detrazione 103 + add_not_empty(riga, 3, ini, RMI_IMPOSTA); // Imposta 104 + + TBill c; ini2bill(ini, c, FALSE); + if (c.gruppo() > 0) + c.add_to(riga, 4, 0x7); // Conto 105-110 + + iva_notify(is, i, K_ENTER); + } + calcola_imp(); // Calcola totale imponibile ed imposte + } + TSheet_field& cg = cgs(); for (i = 0; ini.set_paragraph(format("24,%d", i+1)); i++) { @@ -1649,25 +1656,26 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query) disable_cgs_cells(i, tipo); } - calcola_imp(); // Calcola totale imponibile ed imposte - - TSheet_field& pag = pags(); - const int start_items = pag.items(); - - msk.reset(FS_RECALC); // Disabilita ricalcolo automatico - for (i = 0; ini.set_paragraph(format("29,%d", i+1)); i++) + if (is_fattura()) { - TToken_string& row = pag.row(i); - if (i >= start_items) - pag_notify(pag, i, K_CTRL+K_INS); - - pag_notify(pag, i, K_SPACE); - add_not_empty(row, 0, ini, SCAD_DATASCAD); - add_not_empty(row, 1, ini, SCAD_IMPORTO); - add_not_empty(row, 2, ini, SCAD_IMPORTOVAL); - pag_notify(pag, i, K_ENTER); + TSheet_field& pag = pags(); + const int start_items = pag.items(); + + msk.reset(FS_RECALC); // Disabilita ricalcolo automatico + for (i = 0; ini.set_paragraph(format("29,%d", i+1)); i++) + { + TToken_string& row = pag.row(i); + if (i >= start_items) + pag_notify(pag, i, K_CTRL+K_INS); + + pag_notify(pag, i, K_SPACE); + add_not_empty(row, 0, ini, SCAD_DATASCAD); + add_not_empty(row, 1, ini, SCAD_IMPORTO); + add_not_empty(row, 2, ini, SCAD_IMPORTOVAL); + pag_notify(pag, i, K_ENTER); + } + pagamento().set_sheet(pag); } - pagamento().set_sheet(pag); } }