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:
parent
e68d4887aa
commit
54549a75df
118
ve/sconti.cpp
118
ve/sconti.cpp
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user