Patch level : 12.0 838
Files correlati : cg2.exe cg2FPPRO.msk Commento : - Corretto importo totale con ritenuta - Aggiunto bottone in maschera fppro per solo collegamento senza riporto dati
This commit is contained in:
parent
fbca7b8365
commit
9b57cbc648
@ -3009,7 +3009,7 @@ bool TPrimanota_application::clifo_handler(TMask_field& f, KEY key)
|
|||||||
const bool ic = ixc->active() && (alleg < 5 || alleg == 7) && paiv.full() && !m.get_bool(F_LIQDIFF);
|
const bool ic = ixc->active() && (alleg < 5 || alleg == 7) && paiv.full() && !m.get_bool(F_LIQDIFF);
|
||||||
ixc->set(ic ? "X" : "");
|
ixc->set(ic ? "X" : "");
|
||||||
}
|
}
|
||||||
if(m.get(F_PROKEY).empty())
|
if(m.get(F_PROKEY).empty() && app().has_module(F1AUT))
|
||||||
fppro_mask(f, key);
|
fppro_mask(f, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3911,10 +3911,10 @@ void TPrimanota_application::set_totale(TMask& cg_msk, const shared_ptr<TPro_msk
|
|||||||
const real rit = msk->get_ritenute();
|
const real rit = msk->get_ritenute();
|
||||||
if(rit != ZERO)
|
if(rit != ZERO)
|
||||||
{
|
{
|
||||||
cg_msk.set(F_TOTALE, totale - rit);
|
totale -= rit;
|
||||||
cg_msk.set(F_RITFIS, rit);
|
cg_msk.set(F_RITFIS, rit);
|
||||||
}
|
}
|
||||||
cg_msk.set(F_TOTALE, abs(totale));
|
cg_msk.set(F_TOTALE, totale);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
|
void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
|
||||||
@ -3922,7 +3922,7 @@ void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, const shared_ptr<TPr
|
|||||||
cg_msk.set(F_NUMDOCEXT, msk->get_numdoc());
|
cg_msk.set(F_NUMDOCEXT, msk->get_numdoc());
|
||||||
cg_msk.set(F_NUMDOC, msk->get_numdoc().right(7));
|
cg_msk.set(F_NUMDOC, msk->get_numdoc().right(7));
|
||||||
cg_msk.set(F_DATADOC, msk->get_datadoc());
|
cg_msk.set(F_DATADOC, msk->get_datadoc());
|
||||||
if (!cg_msk.get(F_CODCLIFOR).full())
|
if (!cg_msk.get(F_CODCLIFOR).full() && msk->get_numdoc().full())
|
||||||
set_clifo(cg_msk, msk);
|
set_clifo(cg_msk, msk);
|
||||||
set_righe_iva_f1(cg_msk, msk);
|
set_righe_iva_f1(cg_msk, msk);
|
||||||
set_totale(cg_msk, msk);
|
set_totale(cg_msk, msk);
|
||||||
@ -3949,7 +3949,7 @@ bool TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
|
|||||||
msk->run();
|
msk->run();
|
||||||
// Riporto dati FPPRO su maschera Prima Nota (solo se hai F1)
|
// Riporto dati FPPRO su maschera Prima Nota (solo se hai F1)
|
||||||
// Se non hai F1 collego senza riportarti i dati (solo le chiavi db)
|
// Se non hai F1 collego senza riportarti i dati (solo le chiavi db)
|
||||||
if(app().has_f1_db(&cg_msk))
|
if(msk->should_bring_back())
|
||||||
riporta_dati_f1(cg_msk, msk);
|
riporta_dati_f1(cg_msk, msk);
|
||||||
cg_msk.set(F_PROKEY, msk->get_fpprokeys());
|
cg_msk.set(F_PROKEY, msk->get_fpprokeys());
|
||||||
is_collegato(cg_msk.field(F_COLFPPRO));
|
is_collegato(cg_msk.field(F_COLFPPRO));
|
||||||
@ -4040,7 +4040,7 @@ bool TPro_msk::fppro_handler(TMask_field& f, KEY k)
|
|||||||
return load;
|
return load;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TPro_msk::fppro_ok_handler(TMask_field& f, KEY k)
|
bool TPro_msk::riporta_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
if (k != 32)
|
if (k != 32)
|
||||||
return true;
|
return true;
|
||||||
@ -4049,17 +4049,19 @@ bool TPro_msk::fppro_ok_handler(TMask_field& f, KEY k)
|
|||||||
//return true;
|
//return true;
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
TSheet_field& sf = msk.sfield(F_SHEETFPPROS);
|
TSheet_field& sf = msk.sfield(F_SHEETFPPROS);
|
||||||
bool loaded = false;
|
|
||||||
|
|
||||||
FOR_EACH_SHEET_ROW(sf, nr, row)
|
FOR_EACH_SHEET_ROW(sf, nr, row)
|
||||||
{
|
{
|
||||||
if(!loaded && *row->get(0) == 'X')
|
if(*row->get(0) == 'X')
|
||||||
{
|
{
|
||||||
//TProtocollo protocollo(TDate(row->get(2)).year(), row->get(9), row->get(10));
|
//TProtocollo protocollo(TDate(row->get(2)).year(), row->get(9), row->get(10));
|
||||||
app()._pro_mask->set_doc(row->get(cid2index(F_NUMEROS)), row->get(cid2index(F_DATAS)),
|
app()._pro_mask->set_doc(row->get(cid2index(F_NUMEROS)), row->get(cid2index(F_DATAS)),
|
||||||
row->get(cid2index(F_IMPTOTDOCS)), row->get(cid2index(F_RITENUTE)), "", row->get(cid2index(F_KEYFPPROS)),
|
row->get(cid2index(F_IMPTOTDOCS)), row->get(cid2index(F_RITENUTE)), "", row->get(cid2index(F_KEYFPPROS)),
|
||||||
row->get(cid2index(F_FISCIVACODS)));
|
row->get(cid2index(F_FISCIVACODS)));
|
||||||
loaded = true;
|
if (f.dlg() == DLG_OK)
|
||||||
|
app()._pro_mask->_riporta = true;
|
||||||
|
else
|
||||||
|
app()._pro_mask->_riporta = false;
|
||||||
ok = true;
|
ok = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -4073,13 +4075,18 @@ bool TPro_msk::fppro_ok_handler(TMask_field& f, KEY k)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TPro_msk::collega_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
return riporta_handler(f, k);
|
||||||
|
}
|
||||||
|
|
||||||
bool TPro_msk::piva_handler(TMask_field& f, KEY k)
|
bool TPro_msk::piva_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
TMask& msk = f.mask();
|
TMask& msk = f.mask();
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
if(k == K_TAB && f.active() && f.focusdirty())
|
if(k == K_TAB && f.active() && f.focusdirty())
|
||||||
{
|
{
|
||||||
ok = load_fppro_mask(&msk, 32);
|
ok = load_fppro_mask(&msk, K_SPACE);
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -4090,7 +4097,7 @@ bool TPro_msk::date_handler(TMask_field& f, KEY k)
|
|||||||
bool ok = true;
|
bool ok = true;
|
||||||
if (k == K_TAB && f.active() && f.focusdirty())
|
if (k == K_TAB && f.active() && f.focusdirty())
|
||||||
{
|
{
|
||||||
ok = load_fppro_mask(&msk, 32);
|
ok = load_fppro_mask(&msk, K_SPACE);
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -4119,7 +4126,7 @@ bool TPro_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
break;
|
break;
|
||||||
case F_SHOWALL:
|
case F_SHOWALL:
|
||||||
if (e == fe_modify)
|
if (e == fe_modify)
|
||||||
load_fppro_mask(this, 32);
|
load_fppro_mask(this, K_SPACE);
|
||||||
break;
|
break;
|
||||||
case F_ENABSEARCH:
|
case F_ENABSEARCH:
|
||||||
if (e == fe_modify)
|
if (e == fe_modify)
|
||||||
@ -4174,7 +4181,7 @@ void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totd
|
|||||||
{
|
{
|
||||||
_numero = numero;
|
_numero = numero;
|
||||||
_datadoc = datadoc;
|
_datadoc = datadoc;
|
||||||
_totdoc = totdoc;
|
_totdoc = abs(totdoc);
|
||||||
_ritenute = ritenute;
|
_ritenute = ritenute;
|
||||||
_protfppro.sset(protfppro);
|
_protfppro.sset(protfppro);
|
||||||
_fpprokeys = fpprokeys;
|
_fpprokeys = fpprokeys;
|
||||||
@ -4283,10 +4290,13 @@ void TPro_msk::abilita_piva(TMask* msk)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2fppro")
|
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2fppro"), _riporta(false)
|
||||||
{
|
{
|
||||||
TMask::set_handler(DLG_CONFIG, fppro_handler);
|
TMask::set_handler(DLG_CONFIG, fppro_handler);
|
||||||
TMask::set_handler(DLG_LINK, fppro_ok_handler);
|
TMask::set_handler(DLG_OK, riporta_handler);
|
||||||
|
if (!app().has_module(F1AUT))
|
||||||
|
field(DLG_OK).disable();
|
||||||
|
TMask::set_handler(DLG_LINK, collega_handler);
|
||||||
TMask::set_handler(F_PIVAS, piva_handler);
|
TMask::set_handler(F_PIVAS, piva_handler);
|
||||||
TMask::set_handler(F_DATESEARCH, date_handler);
|
TMask::set_handler(F_DATESEARCH, date_handler);
|
||||||
TMask::set(F_CODCLIFORS, cg_msk.get(F_CODCLIFOR));
|
TMask::set(F_CODCLIFORS, cg_msk.get(F_CODCLIFOR));
|
||||||
|
@ -414,12 +414,14 @@ class TPro_msk : public TAutomask
|
|||||||
TString _piva;
|
TString _piva;
|
||||||
vector<riga_iva_s> _righe_iva;
|
vector<riga_iva_s> _righe_iva;
|
||||||
vector<scadenza_s> _scadenze;
|
vector<scadenza_s> _scadenze;
|
||||||
|
bool _riporta;
|
||||||
|
|
||||||
// Handlers per aggancio FPPRO
|
// Handlers per aggancio FPPRO
|
||||||
// Bottone carica documenti in maschera FPPRO
|
// Bottone carica documenti in maschera FPPRO
|
||||||
static bool fppro_handler(TMask_field& f, KEY k);
|
static bool fppro_handler(TMask_field& f, KEY k);
|
||||||
// Bottone riporta doc FPPRO in testata Prima Nota
|
// Bottone riporta doc FPPRO in testata Prima Nota
|
||||||
static bool fppro_ok_handler(TMask_field& f, KEY k);
|
static bool riporta_handler(TMask_field& f, KEY k);
|
||||||
|
static bool collega_handler(TMask_field& f, KEY k);
|
||||||
static bool piva_handler(TMask_field& f, KEY k);
|
static bool piva_handler(TMask_field& f, KEY k);
|
||||||
static bool date_handler(TMask_field& f, KEY k);
|
static bool date_handler(TMask_field& f, KEY k);
|
||||||
// Non permette la selezione multipla
|
// Non permette la selezione multipla
|
||||||
@ -455,6 +457,7 @@ public:
|
|||||||
vector<scadenza_s>& get_scadenze() { return _scadenze; }
|
vector<scadenza_s>& get_scadenze() { return _scadenze; }
|
||||||
void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura);
|
void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura);
|
||||||
void add_scad(const TDate& date, const real& importo);
|
void add_scad(const TDate& date, const real& importo);
|
||||||
|
bool should_bring_back() const { return _riporta; }
|
||||||
|
|
||||||
|
|
||||||
static TString& query_fppro(const TString& keyprginvio, const TString& keyheaderfatt, const TString& keybodyfatt, const TString& where_str);
|
static TString& query_fppro(const TString& keyprginvio, const TString& keyheaderfatt, const TString& keybodyfatt, const TString& where_str);
|
||||||
|
@ -8,6 +8,12 @@ BEGIN
|
|||||||
PICTURE TOOL_ELABORA
|
PICTURE TOOL_ELABORA
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 2 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "Riporta Documento"
|
||||||
|
MODULE F1
|
||||||
|
END
|
||||||
|
|
||||||
BUTTON DLG_LINK 2 2
|
BUTTON DLG_LINK 2 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 1 "Collega Documento"
|
PROMPT 3 1 "Collega Documento"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user