Patch level : 10.0 patch 290
Files correlati : lv3 Ricompilazione Demo : [ ] Commento : 0001281: trasformazione righe contratto in dotazioni temporanee Descrizione: per un cliente nuovo o generato il contratto e il planning ho inserito una bolla con causale lavanderia "dotazione iniziale" lui mi mette nel periodo temporaneo di inizio la data della bolla in quello di fine la prossima consegna dopo di che me li scrive pure sul contratto e imporvvisamente il contratto diventa temporaneo anche se incrementa la dotazione giusta (non quella temporanea) 0001286: documenti di Trasporto Descrizione: i campi data delle dotazioni temporanee devono essere vuoti quando non esiste alcuna temporaneità invece sono sempre impostati git-svn-id: svn://10.65.10.50/trunk@18779 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3469a49794
commit
559355aaed
106
lv/lv3100.cpp
106
lv/lv3100.cpp
@ -173,7 +173,6 @@ bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
|
||||
TString4 causale = rdoc.get(RDOC_CODAGG1);
|
||||
const TRectype& cau = cache().get("&CAU", causale);
|
||||
|
||||
|
||||
//movimento o meno la dotazione temporanea a seconda di cosa prevede la causale
|
||||
if (cau.get_bool("B0"))
|
||||
{
|
||||
@ -407,12 +406,12 @@ bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
||||
TDate primo = oggi;
|
||||
primo.set_day(1);
|
||||
|
||||
if (dmsk.insert_mode())
|
||||
if (dmsk.insert_mode() && !dmsk.field(F_DATADOC).focusdirty())
|
||||
dmsk.set(F_DATADOC,oggi);
|
||||
else //permette la decodifica corretta della data nel caso stia guardando una bolla vecchia
|
||||
{
|
||||
oggi = dmsk.get_date(F_DATADOC);
|
||||
TDate primo = oggi;
|
||||
primo = oggi;
|
||||
primo.set_day(1);
|
||||
}
|
||||
|
||||
@ -876,53 +875,9 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
TDate dadata = rcont.get_date(LVRCONDV_INDTTMP);
|
||||
TDate adata = rcont.get_date(LVRCONDV_FIDTTMP);
|
||||
|
||||
TLocalisamfile rcondv(LF_LVRCONDV);
|
||||
rcondv.put(LVRCONDV_CODCF,codcf);
|
||||
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
|
||||
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
|
||||
bool fdotmp = false;
|
||||
|
||||
if (rdoc.get_date("DADATATMP").empty())
|
||||
{
|
||||
if (!dadata.ok() && rcondv.read() == NOERR)
|
||||
{
|
||||
dadata = TODAY;
|
||||
rcondv.put(LVRCONDV_INDTTMP, dadata);
|
||||
rcondv.rewrite();
|
||||
}
|
||||
|
||||
rdoc.put("DADATATMP", dadata);
|
||||
msk.field(FR_JOLLY3).set(dadata);
|
||||
}
|
||||
|
||||
if (rdoc.get_date("ADATATMP").empty())
|
||||
{
|
||||
if (adata.ok() && adata <= datadoc)
|
||||
{
|
||||
rdoc.put("ADATATMP", adata);
|
||||
msk.field(FR_JOLLY4).set(adata);
|
||||
}
|
||||
else
|
||||
{
|
||||
//instanzio in TRecordset sui giri
|
||||
TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT");
|
||||
giri.set_var("#DATADOC", datadoc);
|
||||
giri.set_var("#CODCF", codcf);
|
||||
giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT));
|
||||
if (giri.move_first())
|
||||
{
|
||||
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
|
||||
if (rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
rcondv.rewrite();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//disabilito i campi di dotazione temporanea se la causel non prevede la loro movimentazione
|
||||
//disabilito i campi di dotazione temporanea se la causale non prevede la loro movimentazione
|
||||
if (sgn_rit == 0 && sgn_con == 0)
|
||||
{
|
||||
msk.field(FR_JOLLY2).disable();
|
||||
@ -934,6 +889,55 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
msk.field(FR_JOLLY2).enable();
|
||||
msk.field(FR_JOLLY3).enable();
|
||||
msk.field(FR_JOLLY4).enable();
|
||||
fdotmp = true;
|
||||
}
|
||||
|
||||
if (dadata.ok() || fdotmp)
|
||||
{
|
||||
TLocalisamfile rcondv(LF_LVRCONDV);
|
||||
rcondv.put(LVRCONDV_CODCF,codcf);
|
||||
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
|
||||
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
|
||||
|
||||
if (rdoc.get_date("DADATATMP").empty())
|
||||
{
|
||||
if (!dadata.ok() && rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_INDTTMP, datadoc);
|
||||
rcondv.rewrite();
|
||||
}
|
||||
|
||||
rdoc.put("DADATATMP", datadoc);
|
||||
msk.field(FR_JOLLY3).set(datadoc);
|
||||
}
|
||||
|
||||
if (rdoc.get_date("ADATATMP").empty())
|
||||
{
|
||||
if (adata.ok() && adata <= datadoc)
|
||||
{
|
||||
rdoc.put("ADATATMP", adata);
|
||||
msk.field(FR_JOLLY4).set(adata);
|
||||
}
|
||||
else
|
||||
{
|
||||
//instanzio in TRecordset sui giri
|
||||
TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT");
|
||||
giri.set_var("#DATADOC", datadoc);
|
||||
giri.set_var("#CODCF", codcf);
|
||||
giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT));
|
||||
if (giri.move_first())
|
||||
{
|
||||
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
|
||||
if (rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
rcondv.rewrite();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
|
||||
@ -1134,7 +1138,7 @@ int TGestione_bolle_app::write( const TMask& m )
|
||||
|
||||
TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
|
||||
|
||||
_giac.write_giac(m);
|
||||
//_giac.write_giac(m);
|
||||
return TMotore_application::write(m);
|
||||
}
|
||||
|
||||
@ -1145,7 +1149,7 @@ int TGestione_bolle_app::rewrite( const TMask& m )
|
||||
|
||||
TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
|
||||
|
||||
_giac.write_giac(m);
|
||||
//_giac.write_giac(m);
|
||||
return TMotore_application::rewrite(m);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user