Patch level : 2.0 542

Files correlati     : ve0.exe
Ricompilazione Demo : [ ]
Commento            :

PG200007
Presupposti: fattura accompagnatoria passiva da ordine fornitore: creato
tipo documento fattura accompagnatoria con causale di magazzino di carico
merce da ordine,utilizzo dello stesso numeratore delle fatture da d.d.t.ed
elaborazione differita di tipo "consegna ordini" che parte dall'ordine
fornitore ed arriva alla fattura (stato 1).La funzione di "elabora"  dai
documenti interattivi (ordine ) pur riscontrando che le elaborazioni sono
due non modifica la destinazione mentre per il documento interattivo
(fattura) non è presente nessun tipo di elaborazione


git-svn-id: svn://10.65.10.50/trunk@11357 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-07-30 12:54:07 +00:00
parent ff6d6fbbcb
commit 5ff1888988
3 changed files with 28 additions and 19 deletions

View File

@ -364,7 +364,6 @@ class TTipo_riga_documento : public TRectype // velib02
{
static TAssoc_array _formule_riga;
TToken_string _formule;
TString16 _name;
TString16 _imponibile;
TString16 _quant;
@ -387,8 +386,8 @@ public:
TObject* dup() const { return new TTipo_riga_documento(codice()); }
public:
const TString& profile_name() const { return _name;}
const TString& mask_name() const { return profile_name();}
const TFilename& profile_name(TFilename& name) const;
const TString& mask_name(TString& name) const;
const TString& codice() const { return get("CODTAB");}
const TString& descrizione() const { return get("S0"); }
@ -410,7 +409,6 @@ public:
TFormula_documento* first_formula() { return succ_formula(TRUE); }
TFormula_documento* succ_formula(bool restart = FALSE);
int read(const char* tiporig);
TTipo_riga_documento(const char* tiporig = NULL);

View File

@ -49,8 +49,6 @@ TTipo_riga_documento::TTipo_riga_documento(const char* tiporig)
: TRectype(LF_TABCOM)
{
settab("TRI");
_name = "verig";
_name << codice();
if (tiporig && *tiporig)
read(tiporig);
}
@ -58,8 +56,6 @@ TTipo_riga_documento::TTipo_riga_documento(const char* tiporig)
TTipo_riga_documento::TTipo_riga_documento(const TRectype& rec)
: TRectype(rec)
{
_name = "verig";
_name << codice();
read_formule();
}
@ -79,16 +75,31 @@ void TTipo_riga_documento::add_formula_if_needed(TConfig& profile, TString& vari
variable = profile.get(varname, "MAIN");
if (variable.empty())
variable = varname;
const TRectype& trr = cache().get("%TRR", variable);
if (trr.empty())
const TRectype& frr = cache().get("%FRR", variable);
if (frr.empty())
_formule_riga.add(variable, new TFormula_documento(_riga, variable, formula), TRUE);
if (_formule.find(variable) < 0)
_formule.add(variable);
}
const TString& TTipo_riga_documento::mask_name(TString& name) const
{
name = "verig";
name << codice();
return name;
}
const TFilename& TTipo_riga_documento::profile_name(TFilename& name) const
{
mask_name(name);
name.ext(".ini");
name.custom_path();
return name;
}
void TTipo_riga_documento::read_formule()
{
TFilename prof(profile_name()); prof.ext("ini");
TFilename prof; profile_name(prof);
TConfig profile(prof, "MAIN");
_formule = profile.get("CAMPICALC");

View File

@ -701,7 +701,7 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga)
{
const TRiga_documento& riga = doc()[numriga + 1];
const TTipo_riga_documento& tiporiga = riga.tipo();
const char* name = tiporiga.mask_name();
TString16 name; tiporiga.mask_name(name);
TVariable_mask* m = (TVariable_mask*)_maskriga.objptr(name);
if (m == NULL)
@ -710,13 +710,11 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga)
_maskriga.add(name, m);
TFilename proname(tiporiga.profile_name());
proname.ext("ini");
TFilename proname; tiporiga.profile_name(proname);
TConfig pro( proname, "HANDLERS" );
int numhandler = pro.get_int( "NHANDLER", "HANDLERS" );
for( int i = 1; i <= numhandler; i ++ )
const int numhandler = pro.get_int( "NHANDLER", "HANDLERS" );
for(int i = 1; i <= numhandler; i++)
{
TString8 chiave; chiave.format("%d", i );
TToken_string riga = pro.get( chiave, "HANDLERS" );
@ -1615,8 +1613,10 @@ bool TElabora_mask::on_field_event(TOperable_field& o, TField_event e, long joll
}
break;
case F_ELAB:
if (e == fe_modify)
update_ndoc_filter(TRUE);
break;
case F_ANNO_ELAB:
if (e == fe_modify)
update_ndoc_filter();
break;