Sostituito anno con attuale / precedente

git-svn-id: svn://10.65.10.50/trunk@923 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-01-26 18:06:15 +00:00
parent ce15f67106
commit 6caf3d9476
2 changed files with 69 additions and 26 deletions

View File

@ -1,6 +1,7 @@
#include <relapp.h>
#include <stdtypes.h>
#include <lffiles.h>
#include <utility.h>
#include "ba4.h"
#include "ba4600.h"
@ -22,6 +23,9 @@ public:
virtual ~TSoci_application() {}
virtual void init_query_mode(TMask& m) ;
virtual void init_query_insert_mode(TMask& m) ;
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
virtual void update_ap_socio(const TMask& m);
};
void TSoci_application::init_query_mode(TMask& m)
@ -41,6 +45,45 @@ void TSoci_application::init_query_insert_mode(TMask& m)
m.set(FLD_SC1_CODANAGR_ANAGR_RAGSOC, "");
}
void TSoci_application::update_ap_socio(const TMask& m)
{
TString16 ap = m.get(FLD_SC1_ANNO);
int err = NOERR;
if (ap == "A")
ap = "P";
else
ap = "A";
if (yesno_box(format("Devo aggiornare anche il socio %s", ap == "A" ? "attuale" : "precedente")))
{
m.autosave(_rel);
_rel->lfile().put("ATTPREC", ap);
const bool was =_rel->read(_isequal, _lock) == NOERR;
m.autosave(_rel);
_rel->lfile().put("ATTPREC", ap);
if (was) err = _rel->rewrite();
else err = _rel->write();
if (err != NOERR)
message_box(format("Aggiornamento socio %s - Errore : %d", ap == "A" ? "attuale" : "precedente", err));
}
}
int TSoci_application::write(const TMask& m)
{
const int err = TRelation_application::write(m);
if (err == NOERR)
update_ap_socio(m);
return err;
}
int TSoci_application::rewrite(const TMask& m)
{
const int err = TRelation_application::rewrite(m);
if (err == NOERR)
update_ap_socio(m);
return err;
}
bool TSoci_application::user_create()
{
_msk = new TMask("ba4600a") ;

View File

@ -45,30 +45,13 @@ BEGIN
MESSAGE COPY,3@
END
NUMBER FLD_SC1_ANNO 4
LIST FLD_SC1_ANNO 12
BEGIN
PROMPT 1 3 "Anno "
FIELD LF_SOCI->ANNO
FLAGS "A"
PROMPT 1 3 "Attuale/Prec. "
FIELD LF_SOCI->ATTPREC
KEY 1
USE LF_SOCI KEY 1
JOIN LF_ANAG TO LF_SOCI KEY 1 INTO TIPOA=TIPOASOC CODANAGR=CODANAGRSO
INPUT CODDITTA FLD_SC1_CODDITTA SELECT
INPUT TIPOASOC LST_SC1_TIPOASOC
INPUT CODANAGRSO FLD_SC1_CODANAGRSO
INPUT ANNO FLD_SC1_ANNO
DISPLAY "Tipo" TIPOASOC
DISPLAY "Codice" CODANAGRSO
DISPLAY "Ragione sociale@50" LF_ANAG->RAGSOC
DISPLAY "Anno" ANNO
DISPLAY "Quote@10" PERCQUAZ
OUTPUT FLD_SC1_CODDITTA CODDITTA
OUTPUT LST_SC1_TIPOASOC TIPOASOC
OUTPUT FLD_SC1_CODANAGRSOH CODANAGRSO
OUTPUT FLD_SC1_CODANAGR_ANAGR_RAGSOC LF_ANAG->RAGSOC
OUTPUT FLD_SC1_ANNO ANNO
CHECKTYPE REQUIRED
WARNING "Socio assente"
ITEM "A|Attuale"
ITEM "P|Precedente"
MESSAGE COPY,7@
END
@ -91,7 +74,22 @@ BEGIN
FIELD LF_SOCI->CODANAGRSO
FLAGS "R"
KEY 1
COPY ALL FLD_SC1_ANNO
USE LF_SOCI KEY 1
JOIN LF_ANAG TO LF_SOCI KEY 1 INTO TIPOA=TIPOASOC CODANAGR=CODANAGRSO
INPUT CODDITTA FLD_SC1_CODDITTA SELECT
INPUT ATTPREV FLD_SC1_ANNO SELECT
INPUT TIPOASOC LST_SC1_TIPOASOC
INPUT CODANAGRSO FLD_SC1_CODANAGRSO
DISPLAY "Tipo" TIPOASOC
DISPLAY "Codice" CODANAGRSO
DISPLAY "Ragione sociale@50" LF_ANAG->RAGSOC
DISPLAY "Atuale/Precedente" ATTPREC
DISPLAY "Quote@10" PERCQUAZ
OUTPUT FLD_SC1_CODDITTA CODDITTA
OUTPUT LST_SC1_TIPOASOC TIPOASOC
OUTPUT FLD_SC1_CODANAGRSOH CODANAGRSO
OUTPUT FLD_SC1_CODANAGR_ANAGR_RAGSOC LF_ANAG->RAGSOC
OUTPUT FLD_SC1_ANNO ATTPREC
VALIDATE CHECK_FIELD FLD_SC1_CODANAGRSO
CHECKTYPE REQUIRED
MESSAGE COPY,FLD_SC1_CODANAGRSO|COPY,5@
@ -305,10 +303,12 @@ BEGIN
GROUP 4
END
NUMBER DLG_NULL 4
LIST DLG_NULL 12
BEGIN
PROMPT 1 3 "Anno "
FLAGS "AD"
PROMPT 1 3 "Attuale/Prec. "
FLAGS "D"
ITEM "A|Attuale"
ITEM "P|Precedente"
GROUP 7
END