Patch level : 12.0 972
Files correlati : f90.exe d181.des f181.dir/.trr f9ProspIntegr.rep masks f90104.sql Commento : - Rimosso controllo vendite in ogni caso. Incompatibilita' con diverse situazioni tra cui note di credito interne che non sono fatture elettroniche. - Rimosso flag check vendite e il suo utilizzo nel codice. - Aggiornamento stato estrazione solo dopo scrittura f9iva. - Migliorata e resa piu' sicura query per iva aggiungendo tipi diversi e controllo lunghezza colonna. - Corretti nomi campi, che venivano invertiti IVA_ANNPROT e IVA_NUMPROT. - Aggiunto controllo in apertura controllo estrazione solo se il pacchetto e' in errore diag. gest. - Spostata in una classe separata la maschera per l'apertura del pacchetto (Apri estr.). - Corretta modifica f9wa rimaneva vuoto il record in alcuni casi. - Aggiunta possibilita' di esclusione movimenti dall'Apri estr. - Aggiunto controllo esistenza categorie documentali, caricamento cat. doc. di default e controllo tipi documento duplicati. - Aggiunta colonna a F9DRT in caso mancasse (Dovuta a creazione da fp). - Aggiunta funzione provvisoria per calcolo somma imponibili e imposte da rmoviva.
This commit is contained in:
parent
a013853f6d
commit
1de19f9346
@ -269,8 +269,8 @@ bool TEstrazione::is_integr_rev(const int numreg, _Out_ TString& numreg_rev_vend
|
||||
|
||||
const TCausale& cau = cached_causale(mov.get(MOV_CODCAUS), mov.get_int(MOV_ANNOES));
|
||||
const TString4 cau_reg = cau.causale_reg_iva();
|
||||
TToken_string key(mov.get(MOV_TIPO)); key.add(mov.get_long(MOV_CODCF));
|
||||
const long codcli = cache().get(LF_CLIFO, key).get_long(CLI_CODCFASS);
|
||||
//TToken_string key(mov.get(MOV_TIPO)); key.add(mov.get_long(MOV_CODCF));
|
||||
const long numdoc = mov.get_long(MOV_NUMDOC);// cache().get(LF_CLIFO, key);
|
||||
TString query("USE ");
|
||||
|
||||
query << LF_MOV << " KEY 1 SELECT " << MOV_CODCAUS << "==\"" << cau_reg << "\"\nFROM " << MOV_NUMREG << "==" << numreg;
|
||||
@ -282,7 +282,7 @@ bool TEstrazione::is_integr_rev(const int numreg, _Out_ TString& numreg_rev_vend
|
||||
TRectype& curr = (TRectype&)mov_rs.cursor()->curr();
|
||||
const long movcoll_found = curr.get_long(MOV_MOVCOLL);
|
||||
|
||||
if ((curr.get_long(MOV_CODCF) == codcli) && ((movcoll_found == 0L) || (movcoll_found == numreg)))
|
||||
if ((curr.get_long(MOV_NUMDOC) == numdoc) && ((movcoll_found == 0L) || (movcoll_found == numreg)))
|
||||
{
|
||||
movcoll = mov_rs.get(MOV_NUMREG).as_int();
|
||||
curr.put(MOV_MOVCOLL, numreg);
|
||||
@ -306,7 +306,7 @@ bool TEstrazione::make_prosp_int_revc(const int numreg, TCategorie_doc::annesso&
|
||||
mov.put(MOV_NUMREG, numreg);
|
||||
mov.read();
|
||||
TString rev_vend = mov.get(MOV_MOVCOLL);
|
||||
if(rev_vend.full() || is_integr_rev(numreg, rev_vend))
|
||||
if((rev_vend.full() || is_integr_rev(numreg, rev_vend)) && rev_vend != "0")
|
||||
{
|
||||
TF9Prospetto_integr prosp;
|
||||
TString acq; acq << numreg;
|
||||
|
@ -541,6 +541,8 @@ class TProspetto_recset final : public TSQL_recordset
|
||||
void precarica_tabelle();
|
||||
|
||||
public:
|
||||
void get_sum_imponibile_imposta(const char* numreg_ven, real& s_imponibili, real& s_imposte);
|
||||
|
||||
TProspetto_recset(const char* numreg_acq, const char* numreg_ven);
|
||||
~TProspetto_recset();
|
||||
};
|
||||
|
@ -287,6 +287,22 @@ void TProspetto_recset::precarica_tabelle()
|
||||
}
|
||||
}
|
||||
|
||||
void TProspetto_recset::get_sum_imponibile_imposta(const char* numreg_ven, real& s_imponibili, real& s_imposte)
|
||||
{
|
||||
TRecord_array iva(LF_RMOVIVA, RMI_NUMRIG);
|
||||
TRectype* ivafilter = new TRectype(LF_RMOVIVA);
|
||||
ivafilter->put(RMI_NUMREG, numreg_ven);
|
||||
iva.read(ivafilter);
|
||||
s_imponibili = ZERO;
|
||||
s_imposte = ZERO;
|
||||
for (int i = iva.first_row(); i <= iva.rows(); ++i)
|
||||
{
|
||||
TRectype& r = iva[i];
|
||||
s_imponibili += r.get_real("IMPONIBILE");
|
||||
s_imposte += r.get_real("IMPOSTA");
|
||||
}
|
||||
}
|
||||
|
||||
TProspetto_recset::TProspetto_recset(const char* numreg_acq, const char* numreg_ven) : TSQL_recordset("")
|
||||
{
|
||||
_numreg = new TString;
|
||||
@ -383,19 +399,21 @@ TProspetto_recset::TProspetto_recset(const char* numreg_acq, const char* numreg_
|
||||
|
||||
// Calcolo dal rmoviva
|
||||
real s_imponibili, s_imposte;
|
||||
TMovimento_contabile movimento_pn;
|
||||
TBaseisamfile mov(LF_MOV);
|
||||
/*TMovimento_contabile movimento_pn;
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
mov.put(MOV_NUMREG, numreg_ven);
|
||||
mov.read();
|
||||
if (movimento_pn.read(mov) != NOERR)
|
||||
bool simo = true;
|
||||
s_imponibili = movimento_pn.imponibile("");
|
||||
s_imposte = movimento_pn.imposta("");
|
||||
s_imposte = movimento_pn.imposta("");*/
|
||||
|
||||
/*TRectype& rec = _movimento_pn->curr();
|
||||
/*TMovimentoPN _movimento_pn;
|
||||
TRectype& rec = _movimento_pn.curr();
|
||||
rec.put(MOV_NUMREG, numreg_ven);
|
||||
if (_movimento_pn->read() != NOERR)
|
||||
bool simo = true;
|
||||
_movimento_pn->get_sum_imponibile_imposta(s_imponibili, s_imposte);*/
|
||||
if (_movimento_pn.read() != NOERR)
|
||||
bool simo = true;*/
|
||||
get_sum_imponibile_imposta(numreg_ven, s_imponibili, s_imposte);
|
||||
|
||||
format_string(*_totale, TString() << s_imponibili + s_imposte);
|
||||
format_string(*_totimponibile, s_imponibili.stringa());
|
||||
|
Loading…
x
Reference in New Issue
Block a user