Patch level : 10.0 814

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

Bug 0001703: Fatturazione Bolle (ve6)

Nella gestione dei riferimenti in testa non viene scritto il flagh descrizione lunga per cui non si vedono i riferimenti delle bolla dalla seconda in poi (seganalato da Servizi informatici (SIPAG))

Bug	0001702: Documenti interattivi (ve0)

Agguingere una elaborazione al tipodocumento in modo da poter effettuare delle operazioni all' atto della registrazione. (HABA)

Per utilizzarla correttamente chi la configura deve configurarei stati dell elaborazione perche' venga chiamata quand serve.

Modificata anche la lettura dell stato attivo per le provvigioni, da verificare ka genreazioe dell provvigioni.


git-svn-id: svn://10.65.10.50/branches/R_10_00@20959 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-10-07 00:35:55 +00:00
parent 816a3eb456
commit d8bb68b774
4 changed files with 20 additions and 29 deletions

View File

@ -402,9 +402,10 @@ void TMotore_application::do_elab( TDocumento& doc ) // C 90
default :
break;
}
TToken_string tipi;
TToken_string stati;
el->stati_validi(stati);
el->tipi_stati_iniziali(tipi, stati);
if (stati.find(doc.stato()) >= 0)
{
TDocumento newdoc(doc.get_char(DOC_PROVV), doc.get_int(DOC_ANNO), el->codice_numerazione_finale(), 0L);

View File

@ -74,8 +74,7 @@ void TFatturazione_bolle_app::process_by_cli(const TMask& m)
TElaborazione * e = elab(m.get(F_CODICE_ELAB));
TElaborazione & eld = *e;
TToken_string tipidoc(24), statidoc(10);
eld.tipi_validi(tipidoc);
eld.stati_validi(statidoc);
eld.tipi_stati_iniziali(tipidoc, statidoc);
TTipo_documento t(eld.tipo_iniziale(0));
char tipocf(t.tipocf());
@ -127,8 +126,7 @@ void TFatturazione_bolle_app::process_by_ragsoc(const TMask& m)
TElaborazione * e = elab(m.get(F_CODICE_ELAB));
TElaborazione & eld = *e;
TToken_string tipidoc(24), statidoc(10);
eld.tipi_validi(tipidoc);
eld.stati_validi(statidoc);
eld.tipi_stati_iniziali(tipidoc, statidoc);
TTipo_documento t(eld.tipo_iniziale(0));
char tipocf(t.tipocf());
@ -182,8 +180,7 @@ void TFatturazione_bolle_app::process_by_doc(const TMask& m)
TElaborazione * e = elab(m.get(F_CODICE_ELAB));
TElaborazione & eld = *e;
TToken_string tipidoc(24), statidoc(10);
eld.tipi_validi(tipidoc);
eld.stati_validi(statidoc);
eld.tipi_stati_iniziali(tipidoc, statidoc);
TTipo_documento t(eld.tipo_iniziale(0));
char tipocf(t.tipocf());
@ -240,8 +237,7 @@ void TFatturazione_bolle_app::process_by_fatt(const TMask& m)
TElaborazione* e = elab(m.get(F_CODICE_ELAB));
TElaborazione& eld = *e;
TToken_string tipidoc(24), statidoc(10);
eld.tipi_validi(tipidoc);
eld.stati_validi(statidoc);
eld.tipi_stati_iniziali(tipidoc, statidoc);
const TTipo_documento t(eld.tipo_iniziale(0));
const char tipocffatt = t.tipocf() == 'C' ? 'F' : 'C';

View File

@ -463,35 +463,30 @@ int TElaborazione::read(const char* cod)
return ok;
}
void TElaborazione::tipi_validi(TToken_string& tipi) const
void TElaborazione::tipi_stati_iniziali(TToken_string& tipi, TToken_string& stati) const
{
tipi.cut(0);
TString4 t;
for (int i = 0; i < TElaborazione::_max_tipi_doc_elab; i++)
{
t = tipo_iniziale(i);
if (t.full())
tipi.add(t);
}
CHECK(!tipi.empty_items(), "Nessun tipo documento valido");
}
void TElaborazione::stati_validi(TToken_string& stati) const
{
tipi.cut(0);
stati.cut(0);
for (int i = 0; i < TElaborazione::_max_tipi_doc_elab; i++)
{
t = tipo_iniziale(i);
const char s = stato_iniziale(i);
if (s != '\0' && s != ' ')
stati.add(s);
if (t.blank() && s == '\0')
break;
else
if (s == '\0')
break;
}
if (t.full() || s > ' ')
{
tipi.add(t);
stati.add(s);
}
}
CHECK(!tipi.empty_items(), "Nessun tipo documento valido");
CHECK(!stati.empty_items(), "Nessuno stato documento valido");
}
///////////////////////////////////////////////////////////
// TElaborazione_esterna
///////////////////////////////////////////////////////////

View File

@ -165,8 +165,7 @@ public:
const TString& descrizione() const { return get("S0"); }
const TTipo_elaborazione tipo() const { return (TTipo_elaborazione) get_int("I0"); }
virtual void tipi_validi(TToken_string& tipi) const;
virtual void stati_validi(TToken_string& stati) const;
virtual void tipi_stati_iniziali(TToken_string& tipi, TToken_string& stati) const;
bool doc_uguale(int u) const { return get("S1").mid(u, 1) == "X"; }