Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Giornaliero donazioni: messaggi su non idonei + non si puo' modificare la testata sopo la registrazione + dataiscrizione e datadimissione corretti


git-svn-id: svn://10.65.10.50/trunk@7715 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1999-01-26 14:42:46 +00:00
parent 91c0dede52
commit c9e21df564
2 changed files with 88 additions and 68 deletions

View File

@ -86,7 +86,7 @@ bool TGiornalieroDC::ins_controlli_handler(TMask_field& f, KEY k)
TMask& m = f.mask(); TMask& m = f.mask();
TSheet_field& s = (TSheet_field&)m.field(F_SOGGETTI); TSheet_field& s = (TSheet_field&)m.field(F_SOGGETTI);
const bool ins_controlli = m.get_bool(F_INS_CONTROLLI); const bool ins_controlli = m.get_bool(F_INS_CONTROLLI);
s.enable_column(4,ins_controlli); s.enable_column(5,ins_controlli);
} }
return TRUE; return TRUE;
} }
@ -204,6 +204,7 @@ bool TGiornalieroDC::menu(MENU_TAG m)
msk.field(DLG_SAVEREC).enable(); msk.field(DLG_SAVEREC).enable();
msk.field(DLG_FINDREC).enable(); msk.field(DLG_FINDREC).enable();
msk.field(DLG_NEWREC).enable(); msk.field(DLG_NEWREC).enable();
msk.enable(-1);
} }
break; break;
case K_SAVE: // registra case K_SAVE: // registra
@ -280,11 +281,13 @@ int TGiornalieroDC::read(TSheet_field& s)
{ {
row.add(soggetti.get(SOG_COGNOME)); row.add(soggetti.get(SOG_COGNOME));
row.add(soggetti.get(SOG_NOME)); row.add(soggetti.get(SOG_NOME));
row.add(soggetti.get(SOG_TESSAVIS));
} }
else else
{ {
row.add(""); row.add("");
row.add(""); row.add("");
row.add("");
} }
row.add(donaz.get(DON_TIPODON)); row.add(donaz.get(DON_TIPODON));
row.add(""); row.add("");
@ -297,7 +300,6 @@ int TGiornalieroDC::read(TSheet_field& s)
row.add(soggetti.get(SOG_CODSEZ)); row.add(soggetti.get(SOG_CODSEZ));
row.add(soggetti.get(SOG_CODSOT)); row.add(soggetti.get(SOG_CODSOT));
row.add(soggetti.get(SOG_CATDON)); row.add(soggetti.get(SOG_CATDON));
row.add(soggetti.get(SOG_TESSAVIS));
row.add(soggetti.get(SOG_INTSI)); row.add(soggetti.get(SOG_INTSI));
} }
items++; items++;
@ -311,8 +313,8 @@ int TGiornalieroDC::read(TSheet_field& s)
int TGiornalieroDC::write(TSheet_field& s) int TGiornalieroDC::write(TSheet_field& s)
{ {
TMask& m = s.mask();
const TMask& m = s.mask(); m.disable(-1);
int items = s.items(); int items = s.items();
TProgind *pi; TProgind *pi;
pi = new TProgind(items,"Registrazione donazioni e controlli", FALSE, TRUE, 10); pi = new TProgind(items,"Registrazione donazioni e controlli", FALSE, TRUE, 10);
@ -332,10 +334,10 @@ int TGiornalieroDC::write(TSheet_field& s)
int err = sog.read(); int err = sog.read();
if (err == NOERR) if (err == NOERR)
{ {
TDate datadonazione = row.get(7); TDate datadonazione = row.get(8);
if (!datadonazione.ok()) if (!datadonazione.ok())
datadonazione = _datadon; datadonazione = _datadon;
TString16 tipocon = row.get(4); TString16 tipocon = row.get(5);
if (tipocon.blank()) if (tipocon.blank())
tipocon = m.get(F_TIPOCON); tipocon = m.get(F_TIPOCON);
if (tipocon.not_empty()) if (tipocon.not_empty())
@ -405,13 +407,13 @@ int TGiornalieroDC::write(TSheet_field& s)
TRectype* rec = new TRectype(LF_DONAZ); TRectype* rec = new TRectype(LF_DONAZ);
rec->put(DON_CODICE, row.get(0)); rec->put(DON_CODICE, row.get(0));
rec->put(DON_DATADON, datadonazione); rec->put(DON_DATADON, datadonazione);
TString16 tipodon = row.get(3); TString16 tipodon = row.get(4);
if (tipodon.blank()) if (tipodon.blank())
tipodon = _tipodon; tipodon = _tipodon;
rec->put(DON_TIPODON, tipodon); rec->put(DON_TIPODON, tipodon);
rec->put(DON_LUOGODON, _luogodon); rec->put(DON_LUOGODON, _luogodon);
rec->put(DON_ETICHETTA, row.get(5)); rec->put(DON_ETICHETTA, row.get(6));
rec->put(DON_PRIMADON, row.get(6)); rec->put(DON_PRIMADON, row.get(7));
rec->put(DON_CODSEZ,sog.get(SOG_CODSEZ)); rec->put(DON_CODSEZ,sog.get(SOG_CODSEZ));
rec->put(DON_CODSOT,sog.get(SOG_CODSOT)); rec->put(DON_CODSOT,sog.get(SOG_CODSOT));
@ -458,11 +460,11 @@ int TGiornalieroDC::write(TSheet_field& s)
} }
if (!exist) if (!exist)
{ {
if (insert) //if (insert)
{ //{
err = _sdonazioni->row(_sdonazioni->rows()).write(*_donaz); //err = _sdonazioni->row(_sdonazioni->rows()).write(*_donaz);
} //}
else //else
err = _sdonazioni->write(TRUE); err = _sdonazioni->write(TRUE);
// controllo se è idoneo // controllo se è idoneo
@ -703,6 +705,7 @@ int TGiornalieroDC::write(TSheet_field& s)
sog.put(SOG_CATDON,ctd.get("S6")); sog.put(SOG_CATDON,ctd.get("S6"));
if (ctd.get("S6").not_empty()) if (ctd.get("S6").not_empty())
catdon = ctd.get("S6"); catdon = ctd.get("S6");
sog.put(SOG_DATADIM,NULLDATE);
} }
if ((catdon == _catini1 || _catini1.empty()) && (totdon+1>=_numdon1) && _catfin1.not_empty()) if ((catdon == _catini1 || _catini1.empty()) && (totdon+1>=_numdon1) && _catfin1.not_empty())
sog.put(SOG_CATDON, _catfin1); sog.put(SOG_CATDON, _catfin1);
@ -710,11 +713,16 @@ int TGiornalieroDC::write(TSheet_field& s)
sog.put(SOG_CATDON, _catfin2); sog.put(SOG_CATDON, _catfin2);
} }
TDate dataisc = sog.get_date(SOG_DATAISC); TDate dataisc = sog.get_date(SOG_DATAISC);
if (dataisc.empty() && _dataisc) if (dataisc.ok() && _dataisc)
{
if (sog.get_date(SOG_DATAPRISI).ok())
sog.put(SOG_DATAISC,sog.get(SOG_DATAPRISI));
else
{ {
const TRectype& riga = _sdonazioni->row(1); const TRectype& riga = _sdonazioni->row(1);
sog.put(SOG_DATAISC,riga.get(DON_DATADON)); sog.put(SOG_DATAISC,riga.get(DON_DATADON));
} }
}
// aggiorno data e utente ultimo aggiornamento // aggiorno data e utente ultimo aggiornamento
const TDate oggi(TODAY); const TDate oggi(TODAY);
@ -791,7 +799,7 @@ bool TGiornalieroDC::soggetti_notify(TSheet_field& s, int r, KEY k)
if (!row.empty_items()) if (!row.empty_items())
app()._modified = TRUE; app()._modified = TRUE;
const long codsog = row.get_long(0); const long codsog = row.get_long(0);
const long etichetta = row.get_long(5); const long etichetta = row.get_long(6);
if (codsog != 0) if (codsog != 0)
for (int i=s.items()-1; i>=0; i--) for (int i=s.items()-1; i>=0; i--)
{ {
@ -805,7 +813,7 @@ bool TGiornalieroDC::soggetti_notify(TSheet_field& s, int r, KEY k)
// controllo sull'etichetta // controllo sull'etichetta
if (etichetta != 0) if (etichetta != 0)
{ {
if (etichetta == row.get_long(5)) if (etichetta == row.get_long(6))
return s.sheet_mask().field(F_S_ETICHETTA).error_box("Etichetta sacca gia' inserita"); return s.sheet_mask().field(F_S_ETICHETTA).error_box("Etichetta sacca gia' inserita");
} }
} }
@ -974,6 +982,12 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
if (totdon == 0) if (totdon == 0)
m.set(F_S_PRIMADON, 'X'); m.set(F_S_PRIMADON, 'X');
if (!app()._nomessage) if (!app()._nomessage)
{
TDate datadon = m.get_date(F_S_DATADON);
if (!datadon.ok())
datadon = app().get_mask().get_date(F_DATADON);
TDate dataultdon = sog.get(SOG_DATAULTDON);
if (datadon > dataultdon)
{ {
TTable ctd("CTD"); TTable ctd("CTD");
ctd.zero(); ctd.zero();
@ -998,9 +1012,6 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
TString16 tipodon = m.get(F_S_TIPODON); TString16 tipodon = m.get(F_S_TIPODON);
if (tipodon.empty()) if (tipodon.empty())
tipodon = app().get_mask().get(F_TIPODON); tipodon = app().get_mask().get(F_TIPODON);
TDate datadon = m.get_date(F_S_DATADON);
if (!datadon.ok())
datadon = app().get_mask().get_date(F_DATADON);
if (is_donaz(tipodon,IDON_SI)) if (is_donaz(tipodon,IDON_SI))
datapros = sog.get_date(SOG_DATAPROSSI); datapros = sog.get_date(SOG_DATAPROSSI);
else else
@ -1027,6 +1038,7 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
} }
} }
} }
}
else else
ok = FALSE; // codice non esistente ok = FALSE; // codice non esistente
if (messaggio.not_empty() && !app()._ricerca && !app()._nomessage) if (messaggio.not_empty() && !app()._ricerca && !app()._nomessage)

View File

@ -61,6 +61,7 @@ BEGIN
PROMPT 2 1 "Data donazione " PROMPT 2 1 "Data donazione "
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
HELP "Data donazione" HELP "Data donazione"
GROUP 1
END END
STRING F_TIPODON 2 STRING F_TIPODON 2
@ -77,6 +78,7 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Codice non presente" WARNING "Codice non presente"
HELP "Tipo donazione" HELP "Tipo donazione"
GROUP 1
END END
STRING F_LUOGODON 4 STRING F_LUOGODON 4
@ -92,18 +94,21 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Codice non presente" WARNING "Codice non presente"
HELP "Punto di prelievo" HELP "Punto di prelievo"
GROUP 1
END END
STRING F_DESC_TIPODON 30 STRING F_DESC_TIPODON 30
BEGIN BEGIN
PROMPT 26 2 "" PROMPT 26 2 ""
FLAGS "D" FLAGS "D"
GROUP 1
END END
STRING F_DESC_LUOGODON 50 STRING F_DESC_LUOGODON 50
BEGIN BEGIN
PROMPT 26 3 "" PROMPT 26 3 ""
FLAGS "D" FLAGS "D"
GROUP 1
END END
BOOLEAN F_INS_CONTROLLI BOOLEAN F_INS_CONTROLLI
@ -111,6 +116,7 @@ BEGIN
PROMPT 2 4 "Inserimento controlli" PROMPT 2 4 "Inserimento controlli"
MESSAGE TRUE ENABLE,F_TIPOCON MESSAGE TRUE ENABLE,F_TIPOCON
MESSAGE FALSE RESET,F_TIPOCON|DISABLE,F_TIPOCON MESSAGE FALSE RESET,F_TIPOCON|DISABLE,F_TIPOCON
GROUP 1
END END
STRING F_TIPOCON 2 STRING F_TIPOCON 2
@ -126,12 +132,14 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Codice non presente" WARNING "Codice non presente"
HELP "Tipo controllo" HELP "Tipo controllo"
GROUP 1
END END
STRING F_DESC_TIPOCON 30 STRING F_DESC_TIPOCON 30
BEGIN BEGIN
PROMPT 46 4 "" PROMPT 46 4 ""
FLAGS "D" FLAGS "D"
GROUP 1
END END
SPREADSHEET F_SOGGETTI SPREADSHEET F_SOGGETTI