Patch level : 10.0

Files correlati     : 770.exe
Ricompilazione Demo : [ ]
Commento            :
Recupera numero di registrazione in fase di modifica di una scheda collegata alla prima nota


git-svn-id: svn://10.65.10.50/branches/R_10_00@21346 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-12-21 14:45:30 +00:00
parent b12cc1166e
commit b24dae7682
2 changed files with 41 additions and 39 deletions

View File

@ -258,23 +258,23 @@ bool TSchedaPercipienti::codanagr_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
const bool variazione = app().coll_variazione();
TString16 codanagr(f.get());
TString8 codanagr(f.get());
if (codanagr.not_empty())
{
if (!app().esiste_perc(f.mask(), codanagr))
if (!app().esiste_perc(m, codanagr))
return f.warning_box("Percipiente non valido");
setta_nprog(m, variazione, codanagr);
}
// faccio a mano decodifica del percipiente
// perchè l'automatismo non funziona
long tmp_codanagr = atol(codanagr);
TString16 tmp_tipoa = f.mask().get(F_TIPOA);
TString4 tmp_tipoa = m.get(F_TIPOA);
TString80 tmp_ragsoc = app().get_ragsoc(tmp_tipoa, tmp_codanagr);
f.mask().set(F_RAGSOCPER, tmp_ragsoc);
f.mask().set(F_RAGSOCCOM, tmp_ragsoc);
m.set(F_RAGSOCPER, tmp_ragsoc);
m.set(F_RAGSOCCOM, tmp_ragsoc);
}
return TRUE;
return true;
}
void TSchedaPercipienti::calcola_riga_pag(TRectype & rec,
@ -597,35 +597,34 @@ bool TSchedaPercipienti::user_create()
_rver = new TLocalisamfile(LF_RVER);
_rpag = new TLocalisamfile(LF_RPAG);
_pags = new TNikArray_sheet(-1, -1, -4, -4, "Selezione Pagamenti",
"@1|Data@11|Compenso@16|Ritenuta@16|",
_pags = new TNikArray_sheet(-1, -1, -4, -4, TR("Selezione Pagamenti"),
HR("@1|Data@11|Compenso@16|Ritenuta@16|"),
0,NULL_WIN,5);
set_search_field(F_CODANAGRPERC);
// simulo una chiamata da contabilità
// (lo lascio per eventuali prove)
// real totdocla = 1000000;
// real spesela = ZERO;
// real compensola = 1000000;
// real impostela = ZERO;
// real ritenutela = ZERO;
// TToken_string s(80);
// s.add(pagamento);
// s.add("M");
// s.add("F");
// s.add(30010);
// s.add(1);
// s.add("1");
// s.add("01-01-1996");
// s.add(totdocla.string());
// s.add(spesela.string());
// s.add(compensola.string());
// s.add(impostela.string());
// s.add(ritenutela.string());
// const char* name = "770 -0";
// TMessage mla(name, "LINK770", s);
// mla.send();
// simulo una chiamata da contabilità (lo lascio per eventuali prove)
/* real totdocla = 1000000;
real spesela = ZERO;
real compensola = 1000000;
real impostela = ZERO;
real ritenutela = ZERO;
TToken_string s(80);
s.add(pagamento);
s.add("M");
s.add("G");
s.add(805);
s.add(15633);
s.add("7");
s.add("04-01-2010");
s.add(totdocla.string());
s.add(spesela.string());
s.add(compensola.string());
s.add(impostela.string());
s.add(ritenutela.string());
const char* name = "770 -0";
TMessage mla(name, "LINK770", s);
mla.send(); */
// Collegamento da contabilita'
TMailbox m;
@ -641,7 +640,7 @@ bool TSchedaPercipienti::user_create()
const long ditta_cg = get_firm();
if (!exist_dichiar_770(ditta_cg))
if (yesno_box("Creo la dichiarazione per la ditta %ld", ditta_cg))
if (yesno_box(FR("Creare la dichiarazione per la ditta %ld"), ditta_cg))
if (!enter_dichiar_770(ditta_cg))
{
NFCHECK("Creazione dichiarazione fallita!");
@ -651,7 +650,7 @@ bool TSchedaPercipienti::user_create()
load_mask(0);
return TRUE;
return true;
}
bool TSchedaPercipienti::user_destroy()
@ -677,7 +676,7 @@ void TSchedaPercipienti::compila_testata(TMask& m)
m.set(F_IVA, _coll._imposte.string());
m.set(F_SPESE, _coll._spese.string());
m.set(F_COMPENS, _coll._compenso.string());
m.set(F_NUMREG, _coll._numreg);
m.set(F_NUMREG, _coll._numreg);
switch (tipo_coll())
{

View File

@ -12,22 +12,25 @@ void TSchedaPercipienti::init_mask(TMask& m, bool inserimento)
{
if (inserimento)
compila_testata(m);
else
{
// Recupera solo il numero di registrazione lasciando stare il resto
if (coll_numreg() > 0 && m.field(F_NUMREG).empty())
m.set(F_NUMREG, coll_numreg());
}
switch (tipo_coll())
{
case pagamento:
case occasionale:
// Compilo riga di pagamento SOLO SE NON ce ne sono gia'..
if ( (tipo_coll() == pagamento && _rel->pag_items() == 0)
||
tipo_coll() == occasionale )
if ( (tipo_coll() == pagamento && _rel->pag_items() == 0) || tipo_coll() == occasionale )
{
const real totrit(m.get(F_TOTRIT));
const real totdoc(m.get(F_TOTDOC));
const real compenso(m.get(F_COMPENS));
const real spese(m.get(F_SPESE));
if ((tipo_coll() == pagamento && (_coll._compenso + totrit == totdoc) )
||
if ((tipo_coll() == pagamento && (_coll._compenso + totrit == totdoc) ) ||
(tipo_coll() == occasionale))
{
TSheet_field& pags = pag_sheet_enabled(m);