Patch level : 12.0

Files correlati     : cg2100.cpp, cg2102.cpp

Commento:
Corretti i seguenti bug in prima nota:
  -Quando si cercava di collegare un cliente dal f1 se erano stati precedentemente inseriti numero e data documento venivano cancellatti e sostituiti con il campo    blank preso da fppro_mask
  - Nel movimento collegato generato c'erano delle casistiche in cui non venivano riportati iddocsdi e datadocsdi
This commit is contained in:
smen 2022-07-08 11:58:39 +02:00
parent b9f826e6bb
commit 824843b57c
2 changed files with 17 additions and 6 deletions

View File

@ -1919,8 +1919,17 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
_automatico->_movcoll = m.get_long(F_NUMREG);
_automatico->_iva.destroy();
_automatico->_totale = ZERO;
_automatico->_idsdi = m.get(F_IDDOCSDI);
_automatico->_datasdi = m.get(F_DATADOCSDI);
if(m.get(F_IDDOCSDI).full())
_automatico->_idsdi = m.get(F_IDDOCSDI);
else if(m.get(F_NUMDOC).full())
_automatico->_idsdi = m.get(F_NUMDOC);
if(m.get(F_DATADOCSDI).full())
_automatico->_datasdi = m.get(F_DATADOCSDI);
else if (m.get(F_DATADOC).full())
_automatico->_datasdi = m.get(F_DATADOC);
for (int i = 0; i < items; i++)
{
TToken_string row = iva.row(i);

View File

@ -4079,7 +4079,9 @@ void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, TPro_msk & msk)
a.set_scad_f1(cg_msk);
}
// Li riporto anche con il collega in prima nota, e in quel caso solo se i campi non sono gia valorizzati
if (bring || cg_msk.get(F_NUMDOCEXT) != msk.get_str_numdoc())
TString temp_numdoc = msk.get_str_numdoc();
if (bring || (cg_msk.get(F_NUMDOCEXT) != temp_numdoc && !temp_numdoc.empty()))
{
cg_msk.set(F_NUMDOCEXT, msk.get_str_numdoc());
@ -4155,13 +4157,13 @@ bool TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
msk->field(F_DATESEARCH).show();
msk->set(F_DATESEARCH, datadoc);
}
msk->run();
msk->run();
// Riporto dati FPPRO su maschera Prima Nota (solo se hai F1)
// Se non hai F1 collego senza riportarti i dati (solo le chiavi db)
riporta_dati_f1(cg_msk, *msk);
cg_msk.set(F_PROKEY, msk->get_fpprokeys());
cg_msk.set(F_PROKEY, msk->get_fpprokeys());
cg_msk.set(F_COLFPPRO, cg_msk.get(F_PROKEY).full());
cg_msk.set(F_ANNORIF, cg_msk.get(F_ANNOIVA));
cg_msk.set(F_ANNORIF, cg_msk.get(F_ANNOIVA));
return true;
}