Patch level : 12.0 428

Files correlati     : tf
Commento            : 
- Passati da CARATTERI_ACCENTATI a CARATTERI_SPECIALI
- Aggiunto controllo sui flag (per i movimenti custom) prima di inviare

git-svn-id: svn://10.65.10.50/branches/R_10_00@23997 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-07-25 13:15:55 +00:00
parent 48049b2625
commit b3f1c89ef8
2 changed files with 22 additions and 18 deletions

View File

@ -295,18 +295,20 @@ bool saveRec(TToken_string row, bool esportato)
return rCust.write_rewrite(trasfatt) == NOERR; return rCust.write_rewrite(trasfatt) == NOERR;
} }
inline char noAccent(char a) inline const char * noSpecial(char a)
{ {
if(a == 'à') if(a == 'à')
return 'a'; return "a''";
else if(a == 'è' || a == 'é') else if(a == 'è' || a == 'é')
return 'e'; return "e''";
else if(a == 'ì') else if(a == 'ì')
return 'i'; return "i''";
else if(a == 'ò') else if(a == 'ò')
return 'o'; return "o''";
// 'ù' altrimenti else if(a == 'ù')
return 'u'; return "u''";
// Se non trovo nulla lo tolgo
return "";
} }
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
@ -418,16 +420,17 @@ const TString& TTrFa_record::var2str(const TString& fldname, const TVariant& var
return str; return str;
TString& tmp = get_tmp_string(); TString& tmp = get_tmp_string();
TString& tmp2 = get_tmp_string();
tmp = str; tmp = str;
TString accenti = CARATTERI_ACCENTATI; TString speciali = CARATTERI_SPECIALI;
for(int i = 0; i < accenti.len(); i++) for(int i = 0; i < speciali.len(); i++)
{ {
for (int a = str.rfind(accenti[i]); a >= 0; a--) for (int a = str.rfind(speciali[i]); a >= 0; a--)
{ {
if (tmp[a] == accenti[i]) if (tmp[a] == speciali[i])
{ {
tmp[a] = noAccent(accenti[i]); tmp2.cut(0) << tmp.left(a) << noSpecial(speciali[i]) << tmp.mid(a+1);
tmp.insert("''", a+1); tmp = tmp2;
} }
} }
} }
@ -1105,9 +1108,6 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
TRectype r_cedeprest = getCli(vtipocf.as_string(), vcodcf.as_string(), voccas.as_string()); TRectype r_cedeprest = getCli(vtipocf.as_string(), vcodcf.as_string(), voccas.as_string());
TAnagrafica cedeprest; TAnagrafica cedeprest;
if(vtipocf.as_string() == "C" && vcodcf.as_string() == "3566")
bool tolla = true;
// Con l'uscita di questo programma è stato messo un collegamento in prima nota // Con l'uscita di questo programma è stato messo un collegamento in prima nota
// per il fornitore a cui è riferita la bolla doganale // per il fornitore a cui è riferita la bolla doganale
if(strcmp(strarr->get(_codnum),"BD") == 0) if(strcmp(strarr->get(_codnum),"BD") == 0)
@ -1457,9 +1457,13 @@ void TTrFa_app::main_loop()
while (msk.run() == K_ENTER) while (msk.run() == K_ENTER)
{ {
if(msk.checkNotEmpty()) if(msk.checkNotEmpty())
{
// Sistemo tutti i flag prima di inviare
msk.theFinalCheckDown();
send(&msk); send(&msk);
//ini_set_string(CONFIG_DITTA, "tf", "LastSend", ++TDate(msk.get(F_DATAFIN))); //ini_set_string(CONFIG_DITTA, "tf", "LastSend", ++TDate(msk.get(F_DATAFIN)));
} }
}
} }
bool TTrFa_app::destroy() bool TTrFa_app::destroy()

View File

@ -57,7 +57,7 @@ enum filter_fatt
#define SPESOMETROBASE "ModuliSirio" #define SPESOMETROBASE "ModuliSirio"
#define REG_ATT 1 #define REG_ATT 1
#define REG_PAS 2 #define REG_PAS 2
#define CARATTERI_ACCENTATI "àèéìòù" #define CARATTERI_SPECIALI "àèéìòù°"
/* Così facendo basta modificare la maschera (e le dichiarazioni di conseguenza) /* Così facendo basta modificare la maschera (e le dichiarazioni di conseguenza)
* per avere l'inserimento nello sheet corretto */ * per avere l'inserimento nello sheet corretto */
@ -114,7 +114,7 @@ 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) continue;
// Ritorno il carattere senza accento maiuscolo // Ritorno il carattere senza accento maiuscolo
inline char noAccent(char a); inline const char * noSpecial(char a);
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
// TTrFa_record // TTrFa_record