Patch level : 10.0 patch 804

Files correlati     : cg2.exe
Ricompilazione Demo : [ ]
Commento            :

Bug 0000195: Prima nota (cg2) Fattura con importo a zero

Tentando di registrare una fattura con totale a zero chiede obbligatorio l'inserimento di una rata valorizzata.
Errore: almeno una rata ha importo in lire uguale a zero


git-svn-id: svn://10.65.10.50/branches/R_10_00@20710 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-07-28 11:42:34 +00:00
parent 5b8c4b1b03
commit ebbec3c037
2 changed files with 22 additions and 19 deletions

View File

@ -230,6 +230,10 @@ bool TPrimanota_application::pag_sheet_handler(TMask_field& f, KEY key)
word err = pag.validate();
if (m.edit_mode())
err &= ~(P_RSUM | P_TOTNCLIT | P_TOTNCVAL ); // Ignora totale importi e rate
if ((err && P_ZEROLIT) && yesno_box("Almeno una rata ha importo zero in lire si desidera continuare ? "))
err &= ~P_ZEROLIT;
if ((err && P_ZEROVAL) && yesno_box("Almeno una rata ha importo in valuta zero si desidera continuare ? "))
err &= ~P_ZEROVAL;
if (err != P_OK)
{
TString s(256);
@ -943,7 +947,7 @@ void TPrimanota_application::write_scadenze(const TMask& m)
int nuova_riga = 0;
if (anno > 0 && !numpart.blank() && m.page_enabled(2))
if (anno > 0 && !numpart.blank() && m.page_enabled(2) && !m.get_real(F_TOTALE).is_zero())
{
const int tmov = causale().tipomov();
const TString& desc = m.get(F_DESCR);
@ -1018,25 +1022,24 @@ void TPrimanota_application::write_scadenze(const TMask& m)
for (i = 0; i < ps.items(); i++)
{
TToken_string& row = ps.row(i);
TRiga_scadenze& scadenza = partita.new_row();
TRiga_scadenze& scadenza = partita.new_row();
scadenza.put(SCAD_CODPAG, codpag); // Codice pagamento
scadenza.put(SCAD_CODAG, agente); // Codice agente
scadenza.put(SCAD_CODPAG, codpag); // Codice pagamento
scadenza.put(SCAD_CODAG, agente); // Codice agente
scadenza.put(SCAD_DATASCAD, row.get(0)); // 0 = Data scadenza
scadenza.put(SCAD_IMPORTO, row.get()); // 1 = Importo
scadenza.put(SCAD_IMPORTOVAL, row.get()); // 2 = Importo in valuta
row.get(); // 3 = Percentuale
scadenza.put(SCAD_TIPOPAG, row.get()); // 4 = Tipo pagamento
scadenza.put(SCAD_ULTCLASS, row.get()); // 5 = Ulteriore classificazione
row.get(); // 6 = Descrizione pagamento
scadenza.put(SCAD_CODABIPR, row.get()); // 7 = Ns ABI
scadenza.put(SCAD_CODCABPR, row.get()); // 8 = Ns CAB
scadenza.put(SCAD_CODABI, row.get()); // 9 = Vs ABI
scadenza.put(SCAD_CODCAB, row.get()); //10 = Vs CAB
scadenza.put(SCAD_DESCR, row.get()); //11 = Note
scadenza.put(SCAD_BLOCCATA, row.get()); //12 = Non pagabile
scadenza.put(SCAD_DATASCAD, row.get(0)); // 0 = Data scadenza
scadenza.put(SCAD_IMPORTO, row.get()); // 1 = Importo
scadenza.put(SCAD_IMPORTOVAL, row.get()); // 2 = Importo in valuta
row.get(); // 3 = Percentuale
scadenza.put(SCAD_TIPOPAG, row.get()); // 4 = Tipo pagamento
scadenza.put(SCAD_ULTCLASS, row.get()); // 5 = Ulteriore classificazione
row.get(); // 6 = Descrizione pagamento
scadenza.put(SCAD_CODABIPR, row.get()); // 7 = Ns ABI
scadenza.put(SCAD_CODCABPR, row.get()); // 8 = Ns CAB
scadenza.put(SCAD_CODABI, row.get()); // 9 = Vs ABI
scadenza.put(SCAD_CODCAB, row.get()); //10 = Vs CAB
scadenza.put(SCAD_DESCR, row.get()); //11 = Note
scadenza.put(SCAD_BLOCCATA, row.get()); //12 = Non pagabile
}
}

View File

@ -290,7 +290,7 @@ bool TPrimanota_application::test_prorata()
if (prorata100)
ok = !esiste_riga_iva_detraibile;
else
ok = esiste_riga_iva_detraibile;
ok = _msk[2]->get_real(F_TOTALE).is_zero() || esiste_riga_iva_detraibile;
}
return ok;