Patch level : 12.0 456
Files correlati : tf Commento : Ottimizzata gestione bolle doganali git-svn-id: svn://10.65.10.50/branches/R_10_00@24110 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
49c150e489
commit
30069e6b4d
@ -1117,17 +1117,19 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
|
||||
static TString checkClifo; checkClifo.cut(0);
|
||||
|
||||
// Per le bolle doganali devo fare sempre questo giro
|
||||
bool foundBolla = false;
|
||||
if(strcmp(strarr->get(_codnum),"BD") == 0)
|
||||
bool foundBolla = strcmp(strarr->get(_codnum),"BD") == 0, foundBollaCli = false;
|
||||
static TString cfbolladog;
|
||||
if(foundBolla)
|
||||
{
|
||||
TString cfbolladog = cache().get(LF_MOV, strarr->get_long(_numero), "CFBOLLADOG");
|
||||
// Attenzione! Se è una riga inserita a mano dall'utente prendo lo stesso il fornitore della riga!
|
||||
cfbolladog = strarr->get_int(_numero) < MOV_CUSTOM ? cache().get(LF_MOV, strarr->get_long(_numero), "CFBOLLADOG") : strarr->get(_codcf);
|
||||
if(!cfbolladog.blank())
|
||||
{
|
||||
foundBolla = true;
|
||||
foundBollaCli = true;
|
||||
checkClifo << "F" << cfbolladog;
|
||||
}
|
||||
}
|
||||
if(!foundBolla)
|
||||
if(!foundBollaCli)
|
||||
{
|
||||
static TString tempOcfpi; tempOcfpi.cut(0) << strarr->get(_occas);
|
||||
if(tempOcfpi.blank())
|
||||
@ -1154,16 +1156,9 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
|
||||
|
||||
// Con l'uscita di questo programma è stato messo un collegamento in prima nota
|
||||
// per il fornitore a cui è riferita la bolla doganale
|
||||
if(strcmp(strarr->get(_codnum),"BD") == 0)
|
||||
if(foundBollaCli)
|
||||
{
|
||||
TString codcf;
|
||||
// Attenzione! Se è una riga inserita a mano dall'utente prendo lo stesso il fornitore della riga!
|
||||
int movimento = strarr->get_int(_numero);
|
||||
if(movimento >= MOV_CUSTOM)
|
||||
codcf << strarr->get(_codcf);
|
||||
else
|
||||
codcf = cache().get(LF_MOV, movimento, "CFBOLLADOG");
|
||||
r_cedeprest = getCli("F", codcf, "");
|
||||
r_cedeprest = getCli("F", cfbolladog, "");
|
||||
cedeprest.init(r_cedeprest);
|
||||
}
|
||||
else
|
||||
@ -1182,35 +1177,32 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
|
||||
tff0400f.set("P4_FISCIVACOD", _ditta.partita_IVA());
|
||||
tff0400f.set("P4_CODFISC", _ditta.codice_fiscale());
|
||||
}
|
||||
else // Fattura normale
|
||||
else // Fattura normale, lascio più volte la funzione con il nome del campo per leggibilità
|
||||
{
|
||||
if (cedeprest.stato_partita_IVA().full() && cedeprest.partita_IVA().full())
|
||||
// Ovviamente tutte le bolle doganali fatte prima del rilascio
|
||||
// non avranno questo campo compilato e quindi dovrò passare la partita IVA "OO99999999999"
|
||||
// Controllo anche di essere in una data entro il 31/12/2017, dopo tale data sto ragionamento non è valido
|
||||
if(foundBolla && !foundBollaCli && bd2017())
|
||||
{
|
||||
tff0400f.set("P4_FISCIVAPAESE", "OO");
|
||||
tff0400f.set("P4_FISCIVACOD", "99999999999");
|
||||
}
|
||||
else if (cedeprest.stato_partita_IVA().full() && cedeprest.partita_IVA().full())
|
||||
{
|
||||
tff0400f.set("P4_FISCIVAPAESE", cedeprest.stato_partita_IVA());
|
||||
tff0400f.set("P4_FISCIVACOD", cedeprest.partita_IVA());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Ovviamente tutte le bolle doganali fatte prima del rilascio
|
||||
// non avranno questo campo compilato e quindi dovrò passare la partita IVA "OO99999999999"
|
||||
// Controllo anche di essere in una data entro il 31/12/2017, dopo tale data sto ragionamento non è valido
|
||||
if(strcmp(strarr->get(_codnum),"BD") == 0 && bd2017())
|
||||
// Se è un estero non CEE prendo nella partita IVA metto l'identificativo fiscale
|
||||
if(cedeprest.estero_non_CEE())
|
||||
{
|
||||
tff0400f.set("P4_FISCIVAPAESE", "OO");
|
||||
tff0400f.set("P4_FISCIVACOD", "99999999999");
|
||||
tff0400f.set("P4_FISCIVAPAESE", cedeprest.stato_partita_IVA());
|
||||
tff0400f.set("P4_FISCIVACOD", cedeprest.codice_fiscale());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Se è un estero non CEE prendo nella partita IVA metto l'identificativo fiscale
|
||||
if(cedeprest.estero_non_CEE())
|
||||
{
|
||||
tff0400f.set("P4_FISCIVAPAESE", cedeprest.stato_partita_IVA());
|
||||
tff0400f.set("P4_FISCIVACOD", cedeprest.codice_fiscale());
|
||||
}
|
||||
else
|
||||
{
|
||||
tff0400f.set("P4_CODFISC", cedeprest.codice_fiscale());
|
||||
}
|
||||
tff0400f.set("P4_CODFISC", cedeprest.codice_fiscale());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1220,8 +1212,12 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
|
||||
char tipo = r_cedeprest.get_char(CLI_ALLEG);
|
||||
bool rsoc = cedeprest.giuridica() || (tipo == '3' || tipo == '7' || tipo == '8' || tipo == '\0');
|
||||
bool privato = tipo == '6';
|
||||
|
||||
if (!rsoc)
|
||||
|
||||
if(foundBolla && !foundBollaCli)
|
||||
{
|
||||
tff0400f.set("P4_ANADENOM", "Dato Assente");
|
||||
}
|
||||
else if (!rsoc)
|
||||
{
|
||||
// Bisogna fare un ragionamento più complesso, esistono ancora record salvati con Nome e Cognome nella prima parte
|
||||
// e non divisi come si fa adesso quindi farò così:
|
||||
@ -1277,7 +1273,10 @@ bool TTrFa_app::tff0400(TSheet_field& sheet)
|
||||
}
|
||||
|
||||
// Ricontrollo!!!! rsoc potrebbe essere cambiato sopra
|
||||
if(rsoc)
|
||||
// Devo trovare rsoc e:
|
||||
// 1 - Non trovo la bolla
|
||||
// 2 - Trovo il cliente
|
||||
if(rsoc && (!foundBolla || foundBollaCli))
|
||||
{
|
||||
tff0400f.set("P4_ANADENOM", cedeprest.ragione_sociale());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user