Patch level : 12.0 980
Files correlati : f90.exe Commento : - Aggiunto controllo per partite iva che iniziano per 8 o 9 per generare correttamente l'IDFISCALE. - Corretta esportazione acquisti senza cartaceo.
This commit is contained in:
parent
cff1fde628
commit
4848a8d1c6
@ -17,6 +17,8 @@
|
||||
#define INI_CATDOC "CATDOC"
|
||||
#define INI_ANNESSI "ANNCAT"
|
||||
|
||||
#define IS_ITALIANO(statopaiv) ((statopaiv) == "IT" || !(statopaiv).full())
|
||||
|
||||
const TDate today(TODAY);
|
||||
|
||||
struct annesso_t
|
||||
@ -339,7 +341,6 @@ class TEstrazione : public TObject
|
||||
* il nuovo stato sul db.
|
||||
*/
|
||||
bool update_drd_stato_estr() const;
|
||||
static const char* categoria_doc();
|
||||
static const char* caus_sos(const TLocalisamfile& mov, TipoIVA iva);
|
||||
static void check_annessi(movimento_t& mov_i, int numreg); // Controllo se ci sono tutti gli annessi obbligatori.
|
||||
// Controllo se esistono tutti gli annessi cartacei obbligatori e se ci sono annessi reverse charge li genero.
|
||||
|
@ -18,14 +18,9 @@
|
||||
|
||||
statistics _stats = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TEstrazione
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
const char* TEstrazione::categoria_doc()
|
||||
{
|
||||
return ""; // todo:
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const char* TEstrazione::caus_sos(const TLocalisamfile& mov, const TipoIVA iva)
|
||||
{
|
||||
@ -220,14 +215,22 @@ void TEstrazione::fill_id(TLocalisamfile& clifo, TString& statopaiv, TString& id
|
||||
statopaiv = clifo.get(CLI_STATOPAIV);
|
||||
paiv = clifo.get(CLI_PAIV);
|
||||
codfis = clifo.get(CLI_COFI);
|
||||
// Se ho un codice fiscale che inizia per 8 o 9 e' come un privato e devo considerarlo solo come codice fiscale senza partita IVA.
|
||||
if (paiv.full() && (paiv[0] == '8' || paiv[0] == '9') ||
|
||||
codfis.full() && (codfis[0] == '8' || codfis[0] == '9'))
|
||||
paiv.cut(0);
|
||||
|
||||
if (IS_ITALIANO(statopaiv))
|
||||
{
|
||||
// Se ho un codice fiscale che inizia per 8 o 9 e' come un privato e devo considerarlo solo come codice fiscale senza partita IVA.
|
||||
if (codfis.full() && codfis.len() == 11 && (codfis[0] == '8' || codfis[0] == '9'))
|
||||
paiv.cut(0);
|
||||
else if (paiv.full() && paiv.len() == 11 && (paiv[0] == '8' || paiv[0] == '9'))
|
||||
{
|
||||
codfis = paiv;
|
||||
paiv.cut(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (paiv == "0")
|
||||
paiv.cut(0);
|
||||
if (statopaiv == "IT" || statopaiv.empty())
|
||||
if (IS_ITALIANO(statopaiv))
|
||||
{
|
||||
idfisc << "IT";
|
||||
if (paiv.full()) // Se non ho la partita IVA e' privato quindi non metto niente solo cod. ISO
|
||||
@ -256,7 +259,8 @@ bool TEstrazione::is_doc_xml(const TLocalisamfile& mov)
|
||||
clifo.put(CLI_TIPOCF, tipocf);
|
||||
clifo.put(CLI_CODCF, codcf);
|
||||
clifo.read();
|
||||
return (clifo.get(CLI_STATOPAIV).empty() || clifo.get(CLI_STATOPAIV) == "IT")
|
||||
const TString& statopaiv = clifo.get(CLI_STATOPAIV);
|
||||
return (IS_ITALIANO(statopaiv))
|
||||
&& clifo.get(CLI_COMCF) != "B513"; // Campione d'Italia
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user