Patch level : 2.2
Files correlati : Ricompilazione Demo : [ ] Commento : Corretta ricerca conto di costo/ricavo delle righe documento git-svn-id: svn://10.65.10.50/trunk@13247 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
385b30da97
commit
729c0ceada
@ -466,12 +466,12 @@ public:
|
||||
virtual ~TConsuntivazione_produzione() { }
|
||||
};
|
||||
|
||||
class TContabilizzazione_analitica : public TElaborazione // velib04b
|
||||
class TContabilizzazione_analitica : public TElaborazione // velib04f
|
||||
{
|
||||
error_type _error; // Errore rilevato durante l'elaborazione
|
||||
|
||||
protected:
|
||||
error_type search_costo_ricavo(const TRiga_documento& riga, TBill& conto);
|
||||
bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto);
|
||||
bool find_conti(const TRiga_documento& riga, TString_array& conti);
|
||||
|
||||
const TCausale& doc2caus(const TDocumento& doc);
|
||||
|
@ -66,7 +66,7 @@ const TCausale& TContabilizzazione_analitica::rdoc2caus(const TRiga_documento& r
|
||||
}
|
||||
|
||||
// Copiata dalla contabilizzazione ed eliminati riferimenti a tutte le variabili globali del cazzo
|
||||
error_type TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, TBill& conto)
|
||||
bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, TBill& conto)
|
||||
{
|
||||
if (_search_seq.blank())
|
||||
{
|
||||
@ -98,7 +98,7 @@ error_type TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documen
|
||||
|
||||
TString16 tok;
|
||||
// Scorre la stringa di ricerca
|
||||
for (int i=0; _error == no_error && i<items;i++)
|
||||
for (int i=0; i < items;i++)
|
||||
{
|
||||
_search_seq.get(i, tok);
|
||||
if (tok == "CF")
|
||||
@ -213,7 +213,7 @@ error_type TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documen
|
||||
{
|
||||
TString16 tok;
|
||||
// Scorre la stringa di ricerca ma solo per causale o CLI/FO
|
||||
for (int i=0; _error == no_error && i<items;i++)
|
||||
for (int i=0; i<items;i++)
|
||||
{
|
||||
_search_seq.get(i, tok);
|
||||
if (tok == "CF")
|
||||
@ -243,22 +243,12 @@ error_type TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documen
|
||||
default :
|
||||
break;
|
||||
} // end of switch
|
||||
if (_error == no_error)
|
||||
{
|
||||
if (!conto.ok() || !conto.find())
|
||||
_error = conto_error;
|
||||
}
|
||||
return _error;
|
||||
|
||||
return conto.ok() && conto.find();
|
||||
}
|
||||
|
||||
bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TString_array& conti)
|
||||
{
|
||||
TBill bill; // Cerco il conto contabile
|
||||
if (search_costo_ricavo(riga, bill) != no_error)
|
||||
return true;
|
||||
if (!bill.is_analitico())
|
||||
return true;
|
||||
|
||||
bool bArcticleFound = false;
|
||||
|
||||
const char tipocf = riga.doc().get_char(DOC_TIPOCF);
|
||||
@ -287,10 +277,15 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
|
||||
contanal = spp.get(tipocf == 'F' ? "S2" : "S1");
|
||||
}
|
||||
}
|
||||
|
||||
if (!bArcticleFound) // Se l'anagrtafica non esiste va bene cosi'
|
||||
return true;
|
||||
|
||||
TBill bill; // Cerco il conto contabile
|
||||
if (!search_costo_ricavo(riga, bill))
|
||||
return true;
|
||||
if (!bill.is_analitico())
|
||||
return true;
|
||||
|
||||
const TString80 riga_cos = riga.codice_costo();
|
||||
const TString80 riga_cms = riga.codice_commessa();
|
||||
const TString16 riga_fsc = riga.fase_commessa();
|
||||
@ -430,6 +425,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
||||
msg.format(FR("*** Riga %d: Manca il conto analitico dell'articolo '%s'"), i, (const char*)riga.get(RDOC_CODART));
|
||||
viswin->add_line(msg);
|
||||
}
|
||||
_error = conto_error;
|
||||
can_write = false;
|
||||
continue;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user