Patch level : 12.0 464
Files correlati : tf Commento : - Aggiornata maschera: aggiunti più filtri per gli stati dei movimenti - Sistemato errore durante il salvataggio dei movimenti custom - Forzato salvataggio stato movimento per tutti gli stati - Tolta per una maggiore chiarezza la forzatura del flag di inviato per tutti i record caricati, adesso si vede lo stato presente sul database (ovviamente se i record non hanno stato sarà "Inviare" di default). ATTENZIONE!! tutti i record che hanno uno stato compreso tra "Da inviare", "Forzato" o "Inviato" verranno esportati una volta lanciata l'esportazione. - Sistemata tabella durante l'impostazione del flag di forzato, adesso agisce sulla singola riga e non su tutto il documento - Sistemato errore di moltiplicazione dei record custom se presenti in prima nota più righe con la stessa aliquota git-svn-id: svn://10.65.10.50/branches/R_10_00@24131 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
eec53aee87
commit
6253ac34a0
@ -234,8 +234,8 @@ bool saveRec(TToken_string row, bool esportato)
|
|||||||
{
|
{
|
||||||
static TLocalisamfile trasfatt(LF_TRASFATT);
|
static TLocalisamfile trasfatt(LF_TRASFATT);
|
||||||
static TLocalisamfile mov(LF_MOV);
|
static TLocalisamfile mov(LF_MOV);
|
||||||
|
static TString invio; invio.cut(0);
|
||||||
TString key = row.get(_numero); key << "|"<< row.get(_aliquota);
|
static TString key; key.cut(0) << row.get(_numero) << "|"<< row.get(_aliquota);
|
||||||
|
|
||||||
TRectype rCust = cache().get(LF_TRASFATT, key);
|
TRectype rCust = cache().get(LF_TRASFATT, key);
|
||||||
// Se la riga non esiste metto la chiave
|
// Se la riga non esiste metto la chiave
|
||||||
@ -243,11 +243,14 @@ bool saveRec(TToken_string row, bool esportato)
|
|||||||
{
|
{
|
||||||
rCust.put("NUMREG", row.get(_numero));
|
rCust.put("NUMREG", row.get(_numero));
|
||||||
// Se il record viene creato al momento svuoto per sicurezza i valori TFINVIO e TFDATA in MOV
|
// Se il record viene creato al momento svuoto per sicurezza i valori TFINVIO e TFDATA in MOV
|
||||||
|
if(row.get_int(_numero) < MOV_CUSTOM)
|
||||||
|
{
|
||||||
TRectype rOrig = cache().get(LF_MOV, row.get(_numero));
|
TRectype rOrig = cache().get(LF_MOV, row.get(_numero));
|
||||||
rOrig.put("TFINVIO", "");
|
rOrig.put("TFINVIO", "");
|
||||||
rOrig.put("TFDATA", "");
|
rOrig.put("TFDATA", "");
|
||||||
rOrig.rewrite(mov);
|
rOrig.rewrite(mov);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
rCust.put("TIPO", row.get(_tipocf));
|
rCust.put("TIPO", row.get(_tipocf));
|
||||||
rCust.put("CODCF", row.get(_codcf));
|
rCust.put("CODCF", row.get(_codcf));
|
||||||
rCust.put("OCCAS", row.get(_occas));
|
rCust.put("OCCAS", row.get(_occas));
|
||||||
@ -262,10 +265,16 @@ bool saveRec(TToken_string row, bool esportato)
|
|||||||
rCust.put("AUTOFATT", row.get(_autofatt));
|
rCust.put("AUTOFATT", row.get(_autofatt));
|
||||||
if(esportato)
|
if(esportato)
|
||||||
{
|
{
|
||||||
TString invio = esportato? "I" : row.get(_invio);
|
invio << "I";
|
||||||
rCust.put("TFINVIO", invio);
|
|
||||||
rCust.put("TFDATA", TDate(TODAY));
|
rCust.put("TFDATA", TDate(TODAY));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
invio << row.get(_invio);
|
||||||
|
}
|
||||||
|
|
||||||
|
rCust.put("TFINVIO", invio);
|
||||||
|
|
||||||
return rCust.write_rewrite(trasfatt) == NOERR;
|
return rCust.write_rewrite(trasfatt) == NOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#define B_TIPO_BOLLADOG 413
|
#define B_TIPO_BOLLADOG 413
|
||||||
#define B_TIPO_STORDOC 414
|
#define B_TIPO_STORDOC 414
|
||||||
|
|
||||||
#define END_BOOLEAN 414
|
#define END_BOOLEAN 415
|
||||||
|
|
||||||
#define END_MASK 421
|
#define END_MASK 421
|
||||||
|
|
||||||
|
@ -105,7 +105,11 @@ BEGIN
|
|||||||
PROMPT 1 6 "Fatture da visualizzare"
|
PROMPT 1 6 "Fatture da visualizzare"
|
||||||
ITEM "0|Da inviare"
|
ITEM "0|Da inviare"
|
||||||
ITEM "1|Inviate"
|
ITEM "1|Inviate"
|
||||||
ITEM "2|Disabilitate"
|
ITEM "2|Mai elaborati"
|
||||||
|
ITEM "3|Forzate"
|
||||||
|
ITEM "4|Errate"
|
||||||
|
ITEM "5|Disabilitate"
|
||||||
|
ITEM "6|Tutti"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 65 4
|
GROUPBOX DLG_NULL 65 4
|
||||||
|
@ -39,9 +39,13 @@ enum return_code
|
|||||||
// Su DB: X o ''->Da inviare, F->Forzato, I->Inviato, N->Non inviare
|
// Su DB: X o ''->Da inviare, F->Forzato, I->Inviato, N->Non inviare
|
||||||
enum filter_fatt
|
enum filter_fatt
|
||||||
{
|
{
|
||||||
toSend, // Da inviare
|
toSend, // "", "X", "F", "E"
|
||||||
sent, // Inviate
|
sent, // "I"
|
||||||
disabled // Disabilitate
|
untouched, // "", "X"
|
||||||
|
forced, // "F"
|
||||||
|
disabled, // "N"
|
||||||
|
err, // "E"
|
||||||
|
all // Nessun controllo
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SHEET_GAP 101
|
#define SHEET_GAP 101
|
||||||
@ -107,7 +111,7 @@ bool saveRec(TToken_string row, bool esportato = false);
|
|||||||
// Ritorno una data in formato ANSI
|
// Ritorno una data in formato ANSI
|
||||||
inline TDate toDate(const char * date) { return TDate(date).string(); }
|
inline TDate toDate(const char * date) { return TDate(date).string(); }
|
||||||
// Salto se la riga non è abilitata
|
// Salto se la riga non è abilitata
|
||||||
#define IF_IS_ENABLED(strarr) if(strcmp(strarr->get(_invio), FLAG_INVIO) != 0 && strcmp(strarr->get(_invio), FLAG_FORZATO) != 0) continue;
|
#define IF_IS_ENABLED(strarr) if(strcmp(strarr->get(_invio), FLAG_INVIO) != 0 && strcmp(strarr->get(_invio), FLAG_FORZATO) != 0 && strcmp(strarr->get(_invio), FLAG_INVIATO) != 0) continue;
|
||||||
// Ritorno il carattere senza accento maiuscolo
|
// Ritorno il carattere senza accento maiuscolo
|
||||||
inline const char * noSpecial(char a);
|
inline const char * noSpecial(char a);
|
||||||
// Ritorno se è ancora valida la bolla doganale senza informazioni fornitore
|
// Ritorno se è ancora valida la bolla doganale senza informazioni fornitore
|
||||||
|
@ -306,7 +306,7 @@ bool TTrFa_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString invio = o.mask().get(A_INVIO);
|
TString invio = o.mask().get(A_INVIO);
|
||||||
if(invio != FLAG_FORZATO || invio != FLAG_ERRORE)
|
if(invio != FLAG_FORZATO && invio != FLAG_ERRORE)
|
||||||
changeInvio(o.mask().get(A_TIPOCF), o.mask().get(A_CODCF), o.mask().get(A_NUMDOC), invio);
|
changeInvio(o.mask().get(A_TIPOCF), o.mask().get(A_CODCF), o.mask().get(A_NUMDOC), invio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -655,12 +655,13 @@ void TTrFa_mask::load_sheet()
|
|||||||
* basta settare i valori negli enum e lo sheet
|
* basta settare i valori negli enum e lo sheet
|
||||||
*/
|
*/
|
||||||
TRectype isCust = getTrasFatt(movimento.get("NUMREG"), iva);
|
TRectype isCust = getTrasFatt(movimento.get("NUMREG"), iva);
|
||||||
|
#ifdef DBG
|
||||||
if(isCust.full() && (err < foundcust || err > foundidcust))
|
if(isCust.full() && (err < foundcust || err > foundidcust))
|
||||||
bool tolla = true;
|
bool tolla = true;
|
||||||
|
#endif
|
||||||
row.add(movimento.get("TFINVIO") == "I" ? "X" : "", _spedita); // Spedita
|
const char * toSend = movimento.get("TFINVIO").blank() ? FLAG_INVIO : movimento.get("TFINVIO");
|
||||||
row.add("X"); // Da spedire, sempre!
|
row.add(movimento.get("TFINVIO") == FLAG_INVIATO ? "X" : "", _spedita); // Spedita
|
||||||
|
row.add(toSend); // Da spedire
|
||||||
row.add(isCust.full() ? "X" : "", _forzata); // Modificato
|
row.add(isCust.full() ? "X" : "", _forzata); // Modificato
|
||||||
row.add(movimento.get_long("NUMREG"), _numero); // Numero registrazione
|
row.add(movimento.get_long("NUMREG"), _numero); // Numero registrazione
|
||||||
row.add(movimento.get_date("DATAREG"), _datareg); // Data Registrazione
|
row.add(movimento.get_date("DATAREG"), _datareg); // Data Registrazione
|
||||||
@ -712,16 +713,27 @@ bool TTrFa_mask::checkInvio(const TString& invio)
|
|||||||
bool ok;
|
bool ok;
|
||||||
switch(get_int(F_FATTSEL))
|
switch(get_int(F_FATTSEL))
|
||||||
{
|
{
|
||||||
case 0:
|
case toSend:
|
||||||
ok = invio == "" || invio == FLAG_INVIO || invio == FLAG_FORZATO || invio == FLAG_ERRORE;
|
ok = invio == "" || invio == FLAG_INVIO || invio == FLAG_FORZATO || invio == FLAG_ERRORE;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case sent:
|
||||||
ok = invio == FLAG_INVIATO;
|
ok = invio == FLAG_INVIATO;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case untouched:
|
||||||
default:
|
ok = invio == "" || invio == FLAG_INVIO;
|
||||||
|
case forced:
|
||||||
|
ok = invio == FLAG_FORZATO;
|
||||||
|
break;
|
||||||
|
case disabled:
|
||||||
ok = invio == FLAG_NINVIO;
|
ok = invio == FLAG_NINVIO;
|
||||||
break;
|
break;
|
||||||
|
case err:
|
||||||
|
ok = invio == FLAG_ERRORE;
|
||||||
|
break;
|
||||||
|
case all:
|
||||||
|
default:
|
||||||
|
ok = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf
|
|||||||
int tipoDoc = getTipoDoc(c_rmoviva->get("23.TIPODOC").as_string());
|
int tipoDoc = getTipoDoc(c_rmoviva->get("23.TIPODOC").as_string());
|
||||||
if(!newMov || !checkRecord(c_rmoviva) || tipoDoc == -1 || !msk().get_bool(tipoDoc))
|
if(!newMov || !checkRecord(c_rmoviva) || tipoDoc == -1 || !msk().get_bool(tipoDoc))
|
||||||
{
|
{
|
||||||
TString codiva;
|
static TString codiva;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
// Se ritorna false ho finito i records
|
// Se ritorna false ho finito i records
|
||||||
@ -90,6 +90,7 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf
|
|||||||
{
|
{
|
||||||
// Controllo se ho cambiato movimento
|
// Controllo se ho cambiato movimento
|
||||||
_newMov = numMov != c_rmoviva->get("23.NUMREG").as_string();
|
_newMov = numMov != c_rmoviva->get("23.NUMREG").as_string();
|
||||||
|
codiva.cut(0) << c_rmoviva->get("25.CODIVA").as_string();
|
||||||
}
|
}
|
||||||
} // Ciclo finchè non trovo un nuovo movimento o trovo cod IVA già presi da cust
|
} // Ciclo finchè non trovo un nuovo movimento o trovo cod IVA già presi da cust
|
||||||
while(!checkRecord(c_rmoviva) || (!_newMov && _alqCust.get_pos(codiva) > -1));
|
while(!checkRecord(c_rmoviva) || (!_newMov && _alqCust.get_pos(codiva) > -1));
|
||||||
@ -105,6 +106,11 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf
|
|||||||
else
|
else
|
||||||
code = found;
|
code = found;
|
||||||
|
|
||||||
|
#ifdef DBG
|
||||||
|
if(c_rmoviva->get("23.NUMREG").as_int() == 1930131)
|
||||||
|
bool tolla = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Controllo dell'esistenza di un record custom in tasfatt
|
// Controllo dell'esistenza di un record custom in tasfatt
|
||||||
retRec = getTrasFatt(c_rmoviva->get("23.NUMREG").as_string(), c_rmoviva->get("25.CODIVA").as_string());
|
retRec = getTrasFatt(c_rmoviva->get("23.NUMREG").as_string(), c_rmoviva->get("25.CODIVA").as_string());
|
||||||
if(retRec.empty())
|
if(retRec.empty())
|
||||||
@ -169,16 +175,29 @@ int TTrFa_cursors::updateFilters(const char tipocf, const long codcf, TDate dal,
|
|||||||
switch(cod)
|
switch(cod)
|
||||||
{
|
{
|
||||||
case toSend:
|
case toSend:
|
||||||
query << "&&((23.TFINVIO=\"\")||(23.TFINVIO=\"X\")||(23.TFINVIO=\"F\")||(23.TFINVIO=\"E\"))";
|
query << "&&((23.TFINVIO=\"\")||(23.TFINVIO=\"X\")||(23.TFINVIO=\"F\"))";
|
||||||
queryCust << "&&((TFINVIO=\"\")||(TFINVIO=\"X\")||(TFINVIO=\"F\")||(TFINVIO=\"E\"))";
|
queryCust << "&&((TFINVIO=\"\")||(TFINVIO=\"X\")||(TFINVIO=\"F\"))";
|
||||||
break;
|
break;
|
||||||
case sent:
|
case sent:
|
||||||
query << "&&(23.TFINVIO=\"I\")";
|
query << "&&(23.TFINVIO=\"I\")";
|
||||||
queryCust << "&&(TFINVIO=\"I\")";
|
queryCust << "&&(TFINVIO=\"I\")";
|
||||||
break;
|
break;
|
||||||
|
case untouched:
|
||||||
|
query << "&&((23.TFINVIO=\"\")||(23.TFINVIO=\"X\")";
|
||||||
|
queryCust << "&&((TFINVIO=\"\")||(TFINVIO=\"X\")";
|
||||||
|
break;
|
||||||
|
case forced:
|
||||||
|
query << "&&(23.TFINVIO=\"F\")";
|
||||||
|
queryCust << "&&(TFINVIO=\"F\")";
|
||||||
|
break;
|
||||||
case disabled:
|
case disabled:
|
||||||
query << "&&(23.TFINVIO=\"N\")";
|
query << "&&(23.TFINVIO=\"N\")";
|
||||||
queryCust << "&&(TFINVIO=\"N\")";
|
queryCust << "&&(TFINVIO=\"N\")";
|
||||||
|
case err:
|
||||||
|
query << "&&(23.TFINVIO=\"E\")";
|
||||||
|
queryCust << "&&(TFINVIO=\"E\")";
|
||||||
|
break;
|
||||||
|
case all:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user