Supporto per IVAXCASSA in fatturazione
Aggiunta dotazione iniziale oltre che odierna e temporanea in Genrazione Documenti di trasporto git-svn-id: svn://10.65.10.50/branches/R_10_00@22765 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d896fd055b
commit
6dc48175f8
@ -1,7 +1,5 @@
|
||||
#include <progind.h>
|
||||
#include <config.h>
|
||||
#include <dongle.h>
|
||||
#include <modaut.h>
|
||||
#include <progind.h>
|
||||
#include <reputils.h>
|
||||
#include <utility.h>
|
||||
|
||||
@ -10,17 +8,15 @@
|
||||
|
||||
#include "../pr/agenti.h"
|
||||
#include "../pr/percprov.h"
|
||||
#include "clifo.h"
|
||||
#include "../cg/cfban.h"
|
||||
#include "../cg/cglib03.h"
|
||||
|
||||
#include "clifo.h"
|
||||
#include "comuni.h"
|
||||
#include "cfven.h"
|
||||
#include "lvcondv.h"
|
||||
#include "lvrcondv.h"
|
||||
#include "doc.h"
|
||||
#include "rdoc.h"
|
||||
|
||||
#include "../db/dblib.h"
|
||||
#include "../mg/mglib.h"
|
||||
#include "../ve/ve6200.h"
|
||||
#include "../ve/ve6200a.h"
|
||||
|
||||
@ -183,7 +179,6 @@ bool TFatturazione_lavanderie::doc_raggruppabili(const TDocumento& doc_in, const
|
||||
if (doc_in.ha_riga_esenzione() != doc_out.ha_riga_esenzione())
|
||||
return false;
|
||||
bool ok = true;
|
||||
TString campo;
|
||||
|
||||
//scorro tutti i campi contenuti nella TToken_string
|
||||
//se sto controllando i campi CODABI e CODCAB, allora il controllo
|
||||
@ -197,7 +192,7 @@ bool TFatturazione_lavanderie::doc_raggruppabili(const TDocumento& doc_in, const
|
||||
}
|
||||
else
|
||||
{
|
||||
campo = doc_in.get(c);
|
||||
const TString& campo = doc_in.get(c);
|
||||
ok &= campo == doc_out.get(c);
|
||||
}
|
||||
}
|
||||
@ -245,24 +240,21 @@ void TFatturazione_lavanderie::pre_process_input(TLista_documenti& doc_in)
|
||||
TDocumento& doc = doc_in[id];
|
||||
const int rows = doc.physical_rows();
|
||||
|
||||
TString str_real;
|
||||
for (int i = 1; i <= rows; i++)
|
||||
{
|
||||
TRiga_documento & row = doc[i];
|
||||
TString str_real = row.get(RDOC_QTAREALE);
|
||||
|
||||
TRiga_documento& row = doc[i];
|
||||
str_real = row.get(RDOC_QTAREALE);
|
||||
if (str_real.full())
|
||||
{
|
||||
real qta_real(decode(str_real));
|
||||
|
||||
const real qta_real(decode(str_real));
|
||||
row.put(RDOC_QTA, qta_real);
|
||||
row.zero(RDOC_QTAREALE);
|
||||
}
|
||||
str_real = row.get(RDOC_QTARITREALE);
|
||||
|
||||
if (str_real.full())
|
||||
{
|
||||
real qta_real(decode(str_real));
|
||||
|
||||
const real qta_real(decode(str_real));
|
||||
row.put(RDOC_QTAGG1, qta_real);
|
||||
row.zero(RDOC_QTARITREALE);
|
||||
}
|
||||
@ -515,10 +507,11 @@ int TFatturazione_lavanderie::write_fatt_ragg(const bool solotot)
|
||||
//e/o eliminare quelle inutili e/o aggiungere quelle per il ciclaggio su 2 linee
|
||||
void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_documenti& doc_in)
|
||||
{
|
||||
bool use_indsp = ini_get_bool(CONFIG_DITTA, "mg", "MOV_INDSPED");
|
||||
//scorro tutti i documenti di output generati precedentemente
|
||||
|
||||
for (int id = 0; id < doc_out.items(); id++)
|
||||
const bool use_indsp = ini_get_bool(CONFIG_DITTA, "mg", "MOV_INDSPED");
|
||||
const bool riftest = ini_get_bool(CONFIG_DITTA, "lv", "RifTest");
|
||||
|
||||
//scorro tutti i documenti di output generati precedentemente
|
||||
for (int id = 0; id < doc_out.items(); id++)
|
||||
{
|
||||
//instanzio il documento e recupero le variabili di interesse per recuperare
|
||||
//il contratto del cliente in questione
|
||||
@ -532,22 +525,33 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
bool fixdotin = false;
|
||||
bool elcons = contr.get_bool(LVCONDV_ELCONS);
|
||||
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);
|
||||
|
||||
const int alleg = doc.clifor().get_int(CLI_ALLEG);
|
||||
const bool liqdiff = alleg == 7 && doc.clifor().vendite().get_bool(CFV_FATTSOSP);
|
||||
real consvconv;
|
||||
real impvconv;
|
||||
TAssoc_array nolo_computed;
|
||||
|
||||
doc.zero(DOC_LIQDIFF);
|
||||
doc.zero(DOC_IVAXCASSA);
|
||||
if (liqdiff)
|
||||
{
|
||||
doc.put(DOC_LIQDIFF, "X");
|
||||
}
|
||||
else
|
||||
doc.zero(DOC_LIQDIFF);
|
||||
{
|
||||
if ((alleg < 5 || alleg == 7) && doc.clifor().get(CLI_PAIV).full() &&
|
||||
gestione_IVAxCassa(doc.get_date(DOC_DATADOC)))
|
||||
{
|
||||
doc.put(DOC_IVAXCASSA, "X");
|
||||
}
|
||||
}
|
||||
if (doc.physical_rows() > 0 && doc[1].is_descrizione())
|
||||
{
|
||||
if (elcons)
|
||||
{
|
||||
TRiga_documento& rout = doc[1];
|
||||
rout.put(RDOC_DESCR, "COME DA ELENCO CONSEGNE");
|
||||
rout.put(RDOC_DESCR, TR("COME DA ELENCO CONSEGNE"));
|
||||
rout.put(RDOC_DESCLUNGA, false);
|
||||
rout.put(RDOC_DESCEST, "");
|
||||
}
|
||||
@ -1454,7 +1458,7 @@ void TFatturazione_lavanderie::campi_raggruppamento_righe(TToken_string& campi_r
|
||||
if (riga_uguale(2))
|
||||
{
|
||||
const int tipoprezzo = ini_get_int(CONFIG_DITTA, "lv", "TipoPr");
|
||||
if(tipoprezzo == 0)
|
||||
if (tipoprezzo == 0)
|
||||
campi_riga.add(RDOC_SCONTO);
|
||||
else
|
||||
campi_riga.add(RDOC_PREZZO"|"RDOC_SCONTO);
|
||||
|
@ -543,9 +543,6 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
|
||||
//gestione campi dotazione odierna e dotazione temporanea
|
||||
if(codart.left(1) == "N")
|
||||
int cazzone = 1;
|
||||
|
||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', codcf, indsped);
|
||||
//fisso l'anno esercizio
|
||||
TEsercizi_contabili& esc = esercizi();
|
||||
@ -553,19 +550,25 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
|
||||
//estraggo il record corrispondente su LF_CLIFOGIAC
|
||||
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
|
||||
real dotod = reclav.get_real(CLIFOGIAC_DOTOD);
|
||||
real dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
|
||||
if(reclav.empty())
|
||||
real dotod, dotmp, dotin;
|
||||
if (reclav.empty())
|
||||
{
|
||||
TArticolo_lavanderie& artrec1 = cached_article_laundry(codart, 'C', codcf, 0);
|
||||
const TRecmag_lavanderie& reclav1 = artrec1.find_rec(last_esc);
|
||||
dotod = reclav1.get_real(CLIFOGIAC_DOTOD);
|
||||
dotmp = reclav1.get_real(CLIFOGIAC_DOTTM);
|
||||
dotin = reclav1.get_real(CLIFOGIAC_DOTIN);
|
||||
}
|
||||
else
|
||||
{
|
||||
dotod = reclav.get_real(CLIFOGIAC_DOTOD);
|
||||
dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
dotin = reclav.get_real(CLIFOGIAC_DOTIN);
|
||||
}
|
||||
|
||||
rdoc.put("DOTOD", dotod);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
rdoc.put("DOTIN", dotin);
|
||||
|
||||
//elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
|
||||
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
||||
@ -586,7 +589,6 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
for (int i = 1; i <= righe; i++)
|
||||
{
|
||||
TRiga_documento& r = doc[i];
|
||||
|
||||
doc[i].autoload(sheet);
|
||||
sheet.check_row(i - 1, 0x3);
|
||||
}
|
||||
@ -645,7 +647,7 @@ bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k)
|
||||
real dotod = magcli.get_long(CLIFOGIAC_DOTOD); //segnalazione Tassan mail 05/04/2011 ore 17:08
|
||||
|
||||
if (ritirato > dotod && f.dirty() && dotin > 0 && dotod > 0) //accordi da Tassan in data 06/04/2011
|
||||
warning_box(TR("ATTENZIONE: stai ritirando un quantitativo maggiore della dotazione!"));
|
||||
warning_box(TR("ATTENZIONE: si sta ritirando un quantitativo maggiore della dotazione!"));
|
||||
|
||||
|
||||
TDocumento& doc = dmask.doc();
|
||||
@ -768,10 +770,13 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
|
||||
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
|
||||
|
||||
const real dotod = reclav.get_real(CLIFOGIAC_DOTOD);
|
||||
const real dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
// const real dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
const real dotin = reclav.get_real(CLIFOGIAC_DOTIN);
|
||||
|
||||
rdoc.put("DOTOD", dotod);
|
||||
msk.set(FR_JOLLY1, dotod);
|
||||
|
||||
rdoc.put("DOTIN", dotin);
|
||||
}
|
||||
|
||||
if (rdoc.get(RDOC_CODAGG1).empty())
|
||||
@ -1470,6 +1475,8 @@ int TGestione_bolle_app::read(TMask& m)
|
||||
TDocumento& d = mask.doc();
|
||||
|
||||
_giac.reset(d);
|
||||
|
||||
// A che cavolo serve?
|
||||
FOR_EACH_DOC_ROW_BACK(d, r, row)
|
||||
{
|
||||
TRiga_documento& rdoc = (TRiga_documento&)*row;
|
||||
@ -1477,6 +1484,7 @@ int TGestione_bolle_app::read(TMask& m)
|
||||
//real dotod = _giac.giac_att(rdoc, true);
|
||||
//real dotmp = _giac.giac_att(rdoc, false);
|
||||
}
|
||||
|
||||
mask.doc2mask();
|
||||
mask.reset_autoselect();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user