Patch level : 10.0 patch 356
Files correlati : lv0 Ricompilazione Demo : [ ] Commento : 0001389: Clifogiac non pulito annullando il contratto Descrizione Annullando il contratto non mi ha cancellato i campi del clifogiac Da accordi telefonici cancello solo se qta modificabili git-svn-id: svn://10.65.10.50/trunk@19074 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5e4df878a9
commit
f8697c90e2
@ -3,6 +3,9 @@
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
|
||||
#include "lvcondv.h"
|
||||
#include "lvrcondv.h"
|
||||
|
||||
#include "lvlib.h"
|
||||
#include "../cg/cglib01.h"
|
||||
#include "../mg/clifogiac.h"
|
||||
@ -346,18 +349,6 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
||||
}
|
||||
}
|
||||
break;
|
||||
/*
|
||||
case F_CALCCONS:
|
||||
//Abilito/disabilito il conguaglio sulle righe nel caso opportuno
|
||||
if (e == fe_modify || e == fe_init)
|
||||
{
|
||||
TSheet_field& ss = sfield(F_RIGHE);
|
||||
const bool on = atoi(o.get()) == 1;
|
||||
ss.enable_cell(ss.selected(), ss.cid2index(S_CONG), on);
|
||||
ss.force_update(ss.selected());
|
||||
}
|
||||
break;
|
||||
*/
|
||||
case S_CODART:
|
||||
if (!o.empty()) //se il campo risulta pieno
|
||||
{
|
||||
@ -501,7 +492,7 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
//se sto modificando un campo con indice > 500 e diverso da F_CAUSLAVDESCRIG
|
||||
//allora forzo l'update dello sheet sulla riga selezionata
|
||||
@ -844,9 +835,16 @@ bool TContratti_app::protected_record(TRectype & rec)
|
||||
return !cont.can_be_deleted();
|
||||
}
|
||||
|
||||
//REMOVE: ridefinizione del metodo remove() delle TRelartion_application
|
||||
//REMOVE: ridefinizione del metodo remove() delle TRelation_application
|
||||
bool TContratti_app::remove()
|
||||
{
|
||||
//recupero i dati dalla testata del contratto prima di cancellarla
|
||||
const TRectype& tcont = get_relation()->curr();
|
||||
const int daanno = tcont.get_date(LVCONDV_DATAIN).year();
|
||||
const int aanno = TDate(TODAY).year();
|
||||
const long clifo = tcont.get_long(LVCONDV_CODCF);
|
||||
const long indsp = tcont.get_long(LVCONDV_CODINDSP);
|
||||
|
||||
//eseguo la remove standard
|
||||
bool ok = TRelation_application::remove();
|
||||
|
||||
@ -854,11 +852,30 @@ bool TContratti_app::remove()
|
||||
if(ok)
|
||||
{
|
||||
TISAM_recordset righeset(build_query(*_msk));
|
||||
TLocalisamfile& file=righeset.cursor()->file();
|
||||
|
||||
for (bool ok = righeset.move_first(); ok; ok = righeset.move_next())
|
||||
TLocalisamfile& rcont = righeset.cursor()->file();
|
||||
|
||||
//elimino le giacenze per cliente SOLO se le quantità sono modificabili
|
||||
if (ini_get_bool(CONFIG_DITTA, "lv", "Qtamodi"))
|
||||
{
|
||||
file.remove();
|
||||
TLocalisamfile magcli(LF_CLIFOGIAC);
|
||||
|
||||
for (bool ok = righeset.move_first(); ok; ok = righeset.move_next())
|
||||
{
|
||||
//con questo ciclo elimino tutte le giacenze per cliente dall'anno di inizio validità
|
||||
//del contratto all'anno attuale (essendo nel ciclo che scorre le righe contratto
|
||||
//elimino tutti gli articoli presenti per quel contratto)
|
||||
for (int y = daanno; y <= aanno; y++)
|
||||
{
|
||||
magcli.put(CLIFOGIAC_ANNOES, y);
|
||||
magcli.put(CLIFOGIAC_TIPOCF, 'C');
|
||||
magcli.put(CLIFOGIAC_CODCF, clifo);
|
||||
magcli.put(CLIFOGIAC_INDSPED, indsp);
|
||||
magcli.put(CLIFOGIAC_CODART, righeset.get(LVRCONDV_CODART).as_string());
|
||||
magcli.put(CLIFOGIAC_NRIGA, 1);
|
||||
magcli.remove();
|
||||
}
|
||||
}
|
||||
rcont.remove();
|
||||
}
|
||||
//elimino i planning esistenti per quel cliente - contratto
|
||||
elimina_planning(_msk->get_long(F_CODCONT),_msk->get_long(F_CODCF));
|
||||
|
Loading…
x
Reference in New Issue
Block a user