Patch level :10.0 868

Files correlati     :ve0.exe verig*.msk
Ricompilazione Demo : [ ]
Commento            :
1)ripristinata la gestione della indetraibilita' per le commesse esenti o similia
2) migliorato il riconoscimento dei docs vuoti da parte delle elaborazioni interattive; e' vuoto un doc che abbia solo righe generate


git-svn-id: svn://10.65.10.50/trunk@16051 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2008-01-28 15:44:05 +00:00
parent 3459429d3a
commit 1cae1f83a7
3 changed files with 49 additions and 9 deletions

View File

@ -4,6 +4,7 @@
#include "sconti.h"
#include "vepriv.h"
#include "verig.h"
#include "../ca/commesse.h"
#include "../mg/mglib.h"
#include "rdoc.h"
@ -991,9 +992,41 @@ void TRiga_documento::autosave(TSheet_field& f)
break;
fldref->write(fld.get(), *this);
}
TString codcms = get(RDOC_CODCMS); //dalla rigadoc
if (codcms.blank()) //se non la trova cerca nella maschera di testata
{
TDocumento_mask& doc_mask = (TDocumento_mask&)f.mask();
const short cms_start = doc_mask.cms_start();
const short cms_end = doc_mask.cms_end();
codcms.cut(0);
for (short j = cms_start; j <= cms_end; j++)
{
const TEdit_field& fld = doc_mask.efield(j);
TString80 str = fld.get();
str.rpad(fld.size());
codcms << str;
}
codcms.rtrim();
}
if (codcms.full())
{
const TRectype& rec_cms = cache().get(LF_COMMESSE, codcms);
const TString& regiva = rec_cms.get(COMMESSE_REGIVA);
if (regiva.full())
{
put( RDOC_TIPODET, 9 );
row.add(f.cid2index(FR_TIPODET), 9);
m.set(FR_TIPODET, 9);
}
else
put( RDOC_TIPODET, row.get( f.cid2index(FR_TIPODET)) );
}
put( RDOC_CODAGG1, row.get( f.cid2index(FR_CODAGG1)) );
put( RDOC_CODAGG2, row.get( f.cid2index(FR_CODAGG2)) );
put( RDOC_TIPODET, row.get( f.cid2index(FR_TIPODET)) );
for (short jid = FR_JOLLY1; jid <= FR_JOLLY10; jid++)
{
const int pos = m.id2pos(jid);

View File

@ -2620,7 +2620,7 @@ void TElabora_mask::update_ndoc_filter(bool is_tipo_elaborazione)
const bool elab_changed = e != _last_elab;
_last_elab = e;
const bool aggiungi_doc_att = get_bool(F_TYPE);
const bool aggiungi_doc_att = get_bool(F_TYPE);
enable(-1, aggiungi_doc_att);
if (!aggiungi_doc_att && is_tipo_elaborazione )
reset(-1);
@ -2632,7 +2632,14 @@ void TElabora_mask::update_ndoc_filter(bool is_tipo_elaborazione)
{
if (aggiungi_doc_att)
{
const bool agg_test = e->aggiorna_testata_se_vuoto() && _main->sfield(F_SHEET).items() == 0;
bool agg_test = e->aggiorna_testata_se_vuoto();
int nrighe = _main->doc().physical_rows();
for (int i = nrighe; i >= 1; i--)
if (_main->doc()[i].is_generata())
nrighe--;
agg_test &= nrighe == 0;
set(F_UPDATE_HEADER, agg_test ? "X" : "");
const TString8 num_in = e->codice_numerazione_iniziale();
if (elab_changed)

View File

@ -1303,7 +1303,7 @@ ENDIF
STRING FR_TIPODET 1
BEGIN
PROMPT 55 15 "Indetraibilita' "
PROMPT 2 16 "Indetraib. "
USE %DET
INPUT CODTAB FR_TIPODET
DISPLAY "Codice" CODTAB
@ -1322,7 +1322,7 @@ BEGIN
IFDEF(X_ADDIVA)
PROMPT X_ADDIVA Y_ADDIVA PR_ADDIVA
ELSEIF
PROMPT 2 16 "Addebito IVA"
PROMPT 2 17 "Addebito IVA"
ENDIF
FIELD ADDIVA
END
@ -1334,7 +1334,7 @@ BEGIN
IFDEF(X_ASPBENI)
PROMPT X_ASPBENI Y_ASPBENI PR_ASPBENI
ELSEIF
PROMPT 2 17 "Asp. Beni "
PROMPT 2 18 "Asp. Beni "
ENDIF
USE %ABE
INPUT CODTAB FR_ASPBENI
@ -1363,7 +1363,7 @@ BEGIN
IFDEF(X_DESASP)
PROMPT X_DESASP Y_DESASP PR_DESASP
ELSEIF
PROMPT 22 17 ""
PROMPT 22 18 ""
ENDIF
FLAGS "D"
END
@ -1376,7 +1376,7 @@ BEGIN
IFDEF(X_CAUS)
PROMPT X_CAUS Y_CAUS PR_CAUS
ELSEIF
PROMPT 2 18 "Caus.mag. "
PROMPT 2 19 "Caus.mag. "
ENDIF
USE %CAU
INPUT CODTAB FR_CAUS
@ -1405,7 +1405,7 @@ BEGIN
IFDEF(X_DESCRCAUS)
PROMPT X_DESCRCAUS Y_DESCRCAUS PR_DESCRCAUS
ELSEIF
PROMPT 22 18 ""
PROMPT 22 19 ""
ENDIF
FLAGS "D"
END