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 <execp.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
|
|
||||||
|
#include "lvcondv.h"
|
||||||
|
#include "lvrcondv.h"
|
||||||
|
|
||||||
#include "lvlib.h"
|
#include "lvlib.h"
|
||||||
#include "../cg/cglib01.h"
|
#include "../cg/cglib01.h"
|
||||||
#include "../mg/clifogiac.h"
|
#include "../mg/clifogiac.h"
|
||||||
@ -346,18 +349,6 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case S_CODART:
|
||||||
if (!o.empty()) //se il campo risulta pieno
|
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:
|
default:
|
||||||
//se sto modificando un campo con indice > 500 e diverso da F_CAUSLAVDESCRIG
|
//se sto modificando un campo con indice > 500 e diverso da F_CAUSLAVDESCRIG
|
||||||
//allora forzo l'update dello sheet sulla riga selezionata
|
//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();
|
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()
|
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
|
//eseguo la remove standard
|
||||||
bool ok = TRelation_application::remove();
|
bool ok = TRelation_application::remove();
|
||||||
|
|
||||||
@ -854,11 +852,30 @@ bool TContratti_app::remove()
|
|||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
TISAM_recordset righeset(build_query(*_msk));
|
TISAM_recordset righeset(build_query(*_msk));
|
||||||
TLocalisamfile& file=righeset.cursor()->file();
|
TLocalisamfile& rcont = righeset.cursor()->file();
|
||||||
|
|
||||||
for (bool ok = righeset.move_first(); ok; ok = righeset.move_next())
|
//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
|
//elimino i planning esistenti per quel cliente - contratto
|
||||||
elimina_planning(_msk->get_long(F_CODCONT),_msk->get_long(F_CODCF));
|
elimina_planning(_msk->get_long(F_CODCONT),_msk->get_long(F_CODCF));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user