Patch level : 10.0 416

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

Bugs 0001437:

allego come documentazione due articoli da ItaliaOggi, da fine settembre per omaggi l'iva deve essere calcolata su valore 'normale', nella maggior parte dei casi identificato come costo di acquisto


git-svn-id: svn://10.65.10.50/trunk@19289 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-09-15 17:47:15 +00:00
parent e68d4887aa
commit 54549a75df
2 changed files with 112 additions and 32 deletions

View File

@ -382,10 +382,71 @@ void TCond_vendita::ricerca(bool load_um_only, bool load_scagl_only)
set_provv(ZERO);
_prov.cut(0);
return;
}
}
real prezzo;
bool found_prezzo = false;
const TArticolo_giacenza & art = cached_article_balances(codriga);
static TTipo_valorizz __tipo = (TTipo_valorizz) -883;
const TTipo_riga_documento tiporiga(riga().get(FR_TIPORIGA));;
if (__tipo == -883)
{
TConfig c(CONFIG_DITTA, "ve");
__tipo = (TTipo_valorizz) (c.get_int("PriceOmaggi") - 1);
}
if (tiporiga.tipo() == RIGA_OMAGGI)
{
const int annoes = esercizi().date2esc(testa().get_date(F_DATADOC));
const TString4 codmag = riga().get(FR_CODMAG);
const TString80 livello = riga().get(MAG_LIVELLO);
found_prezzo = true;
switch (__tipo)
{
case valorizz_ultcos:
prezzo = art.ultimo_costo(annoes);
break;
case valorizz_mediacos:
prezzo = art.media_costi(annoes);
break;
case valorizz_przlist:
{
const TString catven = testa().get(F_CATVEN);
const TString codlist = testa().get(F_CODLIST);
prezzo = CENTO / (CENTO + art.get_real(ANAMAG_PERCRIC)) * art.prezzo_listino(annoes, catven, codlist);
}
break;
case valorizz_coststd:
prezzo = art.costo_standard(annoes);
break;
case valorizz_costmediopond:
prezzo = art.costo_mediopond(annoes,codmag,livello);
break;
case valorizz_costmedio:
prezzo = art.costo_medio(annoes,codmag,livello);
break;
case valorizz_LIFO:
prezzo = art.LIFO(annoes,codmag,livello, false);
break;
case valorizz_FIFO:
prezzo = art.FIFO(annoes,codmag,livello, false);
break;
case valorizz_LIFOa:
prezzo = art.LIFO_annuale(annoes,codmag,livello, false);
break;
case valorizz_FIFOa:
prezzo = art.FIFO_annuale(annoes,codmag,livello, false);
break;
default :
found_prezzo = false;
break;
}
}
const TString16 umriga(riga().get(FR_UMQTA));
if (umriga.not_empty())
if (umriga.not_empty())
{
_umart.setkey(2);
_umart.put("CODART", codriga);
@ -394,35 +455,38 @@ void TCond_vendita::ricerca(bool load_um_only, bool load_scagl_only)
_umart.zero();
}
const bool found_condv = cerca(A_CONTRATTI) || cerca(A_OFFERTE) || cerca(A_LISTINI);
const bool cv_scagl = _condv.get_bool("GESTSCAGL");
const bool cv_um = _condv.get_bool("GESTUM");
real prezzo;
bool prezzo_lordo = false;
TString16 valuta;
if (found_condv)
{
_load_mask |= load_scagl_only && cv_scagl;
_load_mask |= load_um_only && cv_um;
bool found_condv = false;
const bool cv_scagl = _condv.get_bool("GESTSCAGL");
const bool cv_um = _condv.get_bool("GESTUM");
prezzo = _rcondv.get_real("PREZZO");
valuta = _condv.get("CODVAL");
prezzo_lordo = _condv.get_bool("IMPLORDI");
_prov = _condv.get(CONDV_TIPO);
}
else
{
TString16 field_prezzo(testa().doc().tipo().field_prezzo());
if (!found_prezzo)
{
found_condv = cerca(A_CONTRATTI) || cerca(A_OFFERTE) || cerca(A_LISTINI);
if (field_prezzo.empty())
prezzo = _umart.get_real("PREZZO");
if (found_condv)
{
_load_mask |= load_scagl_only && cv_scagl;
_load_mask |= load_um_only && cv_um;
prezzo = _rcondv.get_real("PREZZO");
valuta = _condv.get("CODVAL");
prezzo_lordo = _condv.get_bool("IMPLORDI");
_prov = _condv.get(CONDV_TIPO);
}
else
prezzo = _anamag.get_real(field_prezzo);
_load_mask |= load_um_only;
_prov = "A";
}
{
TString16 field_prezzo(testa().doc().tipo().field_prezzo());
if (field_prezzo.empty())
prezzo = _umart.get_real("PREZZO");
else
prezzo = _anamag.get_real(field_prezzo);
_load_mask |= load_um_only;
_prov = "A";
}
}
if (doc_al_lordo)
{
if (!prezzo_lordo)

View File

@ -124,7 +124,7 @@ END
ENDPAGE
PAGE "Sconti " 1 1 60 14
PAGE "Sconti e Prezzi" 1 1 60 14
LIST F_GESSCO 36
BEGIN
@ -206,18 +206,34 @@ FIELD GESSCOUM
GROUP 5 6
END
ENDPAGE
LISTBOX F_PRICEOMAGGI 20
BEGIN
PROMPT 2 15 "Prezzo per gli omaggi "
FIELD PriceOmaggi
ITEM "|Prezzo di Vendita"
ITEM "1|Ultimo costo"
ITEM "2|Media ultimi costi"
ITEM "3|Prezzo di listino"
ITEM "4|Costo standard"
ITEM "6|Costo medio ponder."
ITEM "5|Costo medio"
ITEM "7|FIFO annuale"
ITEM "8|LIFO annuale"
ITEM "9|FIFO"
ITEM "10|LIFO"
END
ENDPAGE
PAGE "CONAI" 1 1 60 14
TEXT DLG_NULL
BEGIN
PROMPT 72 2 "Poliaccoppiato"
BEGIN
PROMPT 72 2 "Peso e Categoria"
END
TEXT DLG_NULL
BEGIN
PROMPT 73 3 "secondario"
PROMPT 73 3 " su documenti"
END
STRING F_CODACC 8