Patch level : 10.0 742
Files correlati : lv2.exe Ricompilazione Demo : [ ] Commento Se richiedo i riferimenti in testata ora viene aggiunto il contenuto del campo note della prima bolla del mese se compilato Modificato il calcolo del valore convenzionale per articolo nella fatturazione, ora fa una sola riga di conguaglio per tutti gli articoli che hanno questo forfait git-svn-id: svn://10.65.10.50/trunk@20452 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e39e03a360
commit
b9a6166637
@ -496,6 +496,8 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
bool rifbol = contr.get_bool(LVCONDV_RIFBOL);
|
||||
bool riftest = ini_get_bool(CONFIG_DITTA, "lv", "RifTest");
|
||||
bool liqdiff = doc.clifor().get_int(CLI_ALLEG) == 7 && doc.clifor().vendite().get_bool(CFV_FATTSOSP);
|
||||
real consvconv;
|
||||
real impvconv;
|
||||
TAssoc_array nolo_computed;
|
||||
|
||||
if (liqdiff)
|
||||
@ -532,6 +534,11 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
pos = descr.find(" - n. ", pos + 1);
|
||||
}
|
||||
descr.strip_double_spaces();
|
||||
|
||||
const TString original_notes = doc.get(DOC_NOTE);
|
||||
|
||||
if (original_notes.full())
|
||||
descr << '\n' << original_notes;
|
||||
doc.put(DOC_NOTE, descr);
|
||||
doc.destroy_row(1, true);
|
||||
}
|
||||
@ -879,32 +886,9 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
const real qta = rout.get_real(RDOC_QTA);
|
||||
const real consumo = qta * rout.get_real(RDOC_PREZZO);
|
||||
const real impconv = dot * rcont.get_real(LVRCONDV_VALCONV) * rcont.get_real(LVRCONDV_FORFPERCL) / 100;
|
||||
|
||||
//se il consumo è minore del ciclaggio, allora
|
||||
if (consumo < impconv)
|
||||
{
|
||||
const bool cicl2rig = contr.get_bool(LVCONDV_CICLAGGIO);
|
||||
|
||||
//se il ciclaggio è su due linee, allora aggiungo una riga merce, che contiene
|
||||
//il conguaglio al valore convenzionale, che ha come quantità la costante UNO
|
||||
//e come prezzo la differenza tra l'importo convenzionale e il consumo;
|
||||
//altimenti correggo quantità e prezzo direttamente sulla riga documento che sto analizzando
|
||||
if (cicl2rig)
|
||||
{
|
||||
TRiga_documento& congrow = doc.insert_row(++i, "01");
|
||||
doc.copy_data(congrow, rout);
|
||||
|
||||
congrow.put(RDOC_DESCR, "Conguaglio valore convenzionale");
|
||||
congrow.put(RDOC_QTA, UNO);
|
||||
congrow.put(RDOC_PREZZO, impconv - consumo);
|
||||
}
|
||||
else
|
||||
{
|
||||
rout.put(RDOC_DESCR, "Conguaglio valore convenzionale");
|
||||
rout.put(RDOC_QTA, UNO);
|
||||
rout.put(RDOC_PREZZO, impconv);
|
||||
}
|
||||
}
|
||||
impvconv += impconv;
|
||||
consvconv += consumo;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -984,6 +968,7 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
rout.put(RDOC_DESCR, "Valore convenzionale");
|
||||
rout.put(RDOC_QTA, UNO);
|
||||
rout.put(RDOC_PREZZO, impconvtot);
|
||||
|
||||
for (int k = doc.physical_rows(); k > i; k--)
|
||||
{
|
||||
TRiga_documento& delrow = doc[k];
|
||||
@ -1028,6 +1013,51 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
//se il consumo è minore del ciclaggio, allora
|
||||
if (impvconv - consvconv > ZERO)
|
||||
{
|
||||
const bool cicl2rig = contr.get_bool(LVCONDV_CICLAGGIO);
|
||||
const int rows = doc.physical_rows();
|
||||
|
||||
//se il ciclaggio è su due linee, allora aggiungo una riga merce, che contiene
|
||||
//il conguaglio al valore convenzionale, che ha come quantità la costante UNO
|
||||
//e come prezzo la differenza tra l'importo convenzionale e il consumo;
|
||||
//altimenti correggo quantità e prezzo direttamente sulla riga documento che sto analizzando
|
||||
TRiga_documento& congrow = doc.new_row("01");
|
||||
const TString80 codartcon = ini_get_string(CONFIG_DITTA, "lv", "Codartcofix");
|
||||
|
||||
congrow.put(RDOC_CODART, codartcon);
|
||||
congrow.put(RDOC_CHECKED, "X");
|
||||
congrow.put(RDOC_CODARTMAG, codartcon);
|
||||
congrow.put(RDOC_DESCR, "Conguaglio valore convenzionale");
|
||||
congrow.put(RDOC_QTA, UNO);
|
||||
|
||||
TString8 codiva = doc.clifor().vendite().get(CFV_ASSFIS);
|
||||
|
||||
if (codiva.blank())
|
||||
codiva = cache().get(LF_ANAMAG, codartcon, ANAMAG_CODIVA);
|
||||
|
||||
congrow.put(RDOC_CODIVA, codiva);
|
||||
|
||||
if (cicl2rig)
|
||||
congrow.put(RDOC_PREZZO, impvconv - consvconv);
|
||||
else
|
||||
{
|
||||
congrow.put(RDOC_PREZZO, impvconv);
|
||||
for (int k = rows - 1; k >= 1; k--)
|
||||
{
|
||||
TRiga_documento& delrow = doc[k];
|
||||
const TString80 codart = delrow.get(RDOC_CODART);
|
||||
const TRectype& rcont = contr.row(codart);
|
||||
const int tipoforf = rcont.get_int(LVRCONDV_TIPOFORF);
|
||||
char lavtype = delrow.get_char("LVTYPE");
|
||||
if (tipoforf == 4 && lavtype != 'D')
|
||||
doc.destroy_row(k, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (redditivita > ZERO && fatt_02() && !ragart && tipocan != 1)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user