diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index 5883e60c2..c50e05016 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -234,17 +234,19 @@ bool TPrimanota_application::read_caus(const char* cod, int year) const TipoIVA iva = ok ? causale().iva() : nessuna_iva; TMask* m = _msk[iva == nessuna_iva ? 1 : 2]; - // Se sono chiamato dai campi di query ho belle che finito - if (_mode == MODE_QUERY || m == NULL) - return true; + const TDate datareg = m ? m->get(F_DATAREG) : _rel->curr().get(MOV_DATAREG); if (ok) { - _is_saldaconto = gestione_saldaconto() && causale().saldaconto(m->get_date(F_DATAREG)); + _is_saldaconto = gestione_saldaconto() && causale().saldaconto(datareg); dob = is_fattura() || causale().data_doc(); nob = is_fattura() || causale().num_doc(); } + // Se sono chiamato dai campi di query ho belle che finito + if (_mode == MODE_QUERY || m == NULL) + return true; + const bool ins = m->insert_mode(); m->efield(F_NUMDOC).check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL); // Num. doc. obbligatorio @@ -739,7 +741,7 @@ int TPrimanota_application::read(TMask& m) const long numreg = _rel->curr().get_long(MOV_NUMREG); partite().destroy(); // Azzera tutte le partite - if (gestione_saldaconto() && causale().tipomov()) + if (gestione_saldaconto() && causale().tipomov() != 0) partite().add_numreg(numreg); // Carica le partite interessate cgs().reset(); // Azzera tutte le righe contabili diff --git a/cg/cgsaldac.cpp b/cg/cgsaldac.cpp index 91d5ce4ea..f9f5c74fd 100755 --- a/cg/cgsaldac.cpp +++ b/cg/cgsaldac.cpp @@ -2067,7 +2067,7 @@ int TPartite_array::add_numreg(long nreg) part.zero(); part.put(PART_NREG, nreg); - // Uso un cursore per evitare conflitti di lettura con l'oggetta partita + // Uso un cursore per evitare conflitti di lettura con l'oggetto partita TCursor cur(&rel, "", 2, &part, &part); cur.freeze(); for (cur = 0; cur.ok(); ++cur)