Patch level : 10.0 patch 878
Files correlati : lv0 Ricompilazione Demo : [ ] Commento : Implementazioni per cambio d'anno git-svn-id: svn://10.65.10.50/branches/R_10_00@21223 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
83811764fe
commit
12dc19e4fa
@ -4,6 +4,8 @@
|
||||
#include <progind.h>
|
||||
#include <relapp.h>
|
||||
|
||||
#include "../cg/cglib01.h"
|
||||
|
||||
#include "lvcondv.h"
|
||||
#include "lvrcondv.h"
|
||||
|
||||
@ -817,6 +819,13 @@ void TContratti_app::save_rows(const TMask& m)
|
||||
const long clifo = m.get_long(F_CODCF);
|
||||
const int indsp = m.get_int(F_INDSPED);
|
||||
|
||||
TEsercizi_contabili esc;
|
||||
const int last_esc = esc.last();
|
||||
const int pred_esc = esc.pred(last_esc);
|
||||
|
||||
const bool pred_esc_chiuso = esc[pred_esc].chiusura_mag().ok();
|
||||
const int esercizio = (pred_esc_chiuso ? last_esc : pred_esc);
|
||||
|
||||
//recupero la maschera di riga
|
||||
TMask& msk = righe.sheet_mask();
|
||||
|
||||
@ -848,34 +857,41 @@ void TContratti_app::save_rows(const TMask& m)
|
||||
if (ini_get_bool(CONFIG_DITTA, "lv", "Qtamodi"))
|
||||
{
|
||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
||||
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(year);
|
||||
|
||||
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(esercizio);
|
||||
TRecmag_lavanderie& reclav_prec = (TRecmag_lavanderie&)artrec.find_rec(pred_esc);
|
||||
|
||||
//gestione LF_CLIFOGIAC
|
||||
if(reclav.empty())
|
||||
{
|
||||
reclav.put(CLIFOGIAC_TIPOCF, 'C');
|
||||
reclav.put(CLIFOGIAC_CODCF, clifo);
|
||||
reclav.put(CLIFOGIAC_ANNOES, year);
|
||||
reclav.put(CLIFOGIAC_ANNOES, esercizio);
|
||||
reclav.put(CLIFOGIAC_INDSPED, indsp);
|
||||
reclav.put(CLIFOGIAC_CODART, codart);
|
||||
reclav.put(CLIFOGIAC_NRIGA, 1);
|
||||
}
|
||||
|
||||
//riscrivo la dotazione iniziale convertita nell'unità di misura principale
|
||||
const real dotin = row->get(righe.cid2index(S_DOTIN));
|
||||
real dotin = row->get(righe.cid2index(S_DOTIN));
|
||||
if(!pred_esc_chiuso)
|
||||
dotin -= reclav_prec.get_real(CLIFOGIAC_DOTIN);
|
||||
reclav.put(CLIFOGIAC_DOTIN, dotin);
|
||||
|
||||
//riscrivo la dotazione odierna convertita nell'unità di misura principale
|
||||
const real dotod = row->get(righe.cid2index(S_DOTOD));
|
||||
real dotod = row->get(righe.cid2index(S_DOTOD));
|
||||
if(!pred_esc_chiuso)
|
||||
dotod -= reclav_prec.get_real(CLIFOGIAC_DOTOD);
|
||||
reclav.put(CLIFOGIAC_DOTOD, dotod);
|
||||
|
||||
//riscrivo la dotazione temporanea convertita nell'unità di misura principale
|
||||
const real dottm = row->get(righe.cid2index(S_DOTTMP));
|
||||
real dottm = row->get(righe.cid2index(S_DOTTMP));
|
||||
if(!pred_esc_chiuso)
|
||||
dottm -= reclav_prec.get_real(CLIFOGIAC_DOTTM);
|
||||
reclav.put(CLIFOGIAC_DOTTM, dottm);
|
||||
|
||||
//riscrivo il consegnato anno convertito nell'unità di misura principale
|
||||
const real conan = row->get(righe.cid2index(S_CONSANNO));
|
||||
reclav.put(CLIFOGIAC_CONSANNO, conan);
|
||||
reclav.put(CLIFOGIAC_CONSANNO, conan);
|
||||
reclav.rewrite_write(magcli);
|
||||
}
|
||||
}
|
||||
@ -985,8 +1001,13 @@ int TContratti_app::read(TMask& m)
|
||||
//instanzio un TLcalisamfile su LF_CLIFOGIAC
|
||||
TLocalisamfile magcli(LF_CLIFOGIAC);
|
||||
//setto alcune variabili di interesse
|
||||
const TDate oggi(TODAY);
|
||||
const int year = oggi.year();
|
||||
|
||||
//la data deve essere un esercizio; è da prendere sempre l'ultimo esercizio esistente
|
||||
TEsercizi_contabili esc;
|
||||
const int last_esc = esc.last();
|
||||
|
||||
/*const TDate oggi(TODAY);
|
||||
const int year = oggi.year();*/
|
||||
const long clifo = m.get_long(F_CODCF);
|
||||
const int indsp = m.get_int(F_INDSPED);
|
||||
//recupero sheet e realtiva mashera di riga
|
||||
@ -1025,7 +1046,7 @@ int TContratti_app::read(TMask& m)
|
||||
//estraggo il record corrispondente su LF_CLIFOGIAC
|
||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
||||
artrec.find_rec(0); //svuoto la cache a forza
|
||||
const TRecmag_lavanderie& reclav = artrec.find_rec(year);
|
||||
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
|
||||
//lettura dei dati da LF_CLIFOGIAC
|
||||
//se esiste il record su LF_CLIFOGIAC, recupero l'unità di misura dalla riga dello sheet selezionata
|
||||
//e setto i campi delle dotazioni e dei consegnati ai valori corretti riportati alla giusta unità di misura
|
||||
@ -1145,6 +1166,7 @@ void TContratti_app::init_modify_mode(TMask& m)
|
||||
const int year = oggi.year();
|
||||
const long clifo = m.get_long(F_CODCF);
|
||||
const int indsp = m.get_int(F_INDSPED);
|
||||
const TEsercizi_contabili escon;
|
||||
|
||||
//instanzio un TLocaisamfile su LF_CLIFOGIAC
|
||||
TLocalisamfile magcli(LF_CLIFOGIAC);
|
||||
@ -1160,7 +1182,7 @@ void TContratti_app::init_modify_mode(TMask& m)
|
||||
// righe.disable_cell(r, righe.cid2index(S_DESCR));
|
||||
// righe.disable_cell(r, righe.cid2index(S_UM));
|
||||
|
||||
for (int y = year + oggi.month() == 12; y >= year; y--)
|
||||
for (int y = escon.last() + oggi.month() == 12; y >= year; y--)
|
||||
{
|
||||
magcli.put(CLIFOGIAC_ANNOES, y);
|
||||
magcli.put(CLIFOGIAC_TIPOCF, 'C');
|
||||
|
Loading…
x
Reference in New Issue
Block a user