Corretto errore aga0032

git-svn-id: svn://10.65.10.50/trunk@5028 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1997-08-04 13:52:55 +00:00
parent 771a826749
commit ed66fbfe3a
12 changed files with 99 additions and 56 deletions

View File

@ -69,7 +69,7 @@ STATOFINALE=9
// CODCF = S_OBBLIGATORIO // CODCF = S_OBBLIGATORIO
// RAGSOC = S_NORMALE // RAGSOC = S_NORMALE
OCCASEDIT = S_NORMALE //100 OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100 OCFPI = S_DISABILITATO //100
COFI = S_NORMALE //100 COFI = S_NORMALE //100
STATOPAIV = S_NORMALE //100 STATOPAIV = S_NORMALE //100
PAIVA = S_NORMALE //100 PAIVA = S_NORMALE //100

View File

@ -68,7 +68,7 @@ STATOFINALE=9
// CODCF = S_OBBLIGATORIO // CODCF = S_OBBLIGATORIO
// RAGSOC = S_NORMALE // RAGSOC = S_NORMALE
OCCASEDIT = S_NORMALE //100 OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100 OCFPI = S_DISABILITATO //100
COFI = S_NORMALE //100 COFI = S_NORMALE //100
STATOPAIV = S_NORMALE //100 STATOPAIV = S_NORMALE //100
PAIVA = S_NORMALE //100 PAIVA = S_NORMALE //100

View File

@ -69,7 +69,7 @@ STATOFINALE=9
// CODCF = S_OBBLIGATORIO // CODCF = S_OBBLIGATORIO
// RAGSOC = S_NORMALE // RAGSOC = S_NORMALE
OCCASEDIT = S_NORMALE //100 OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100 OCFPI = S_DISABILITATO //100
COFI = S_NORMALE //100 COFI = S_NORMALE //100
STATOPAIV = S_NORMALE //100 STATOPAIV = S_NORMALE //100
PAIVA = S_NORMALE //100 PAIVA = S_NORMALE //100

View File

@ -65,7 +65,7 @@ STATOFINALE=9
// 1|Prompt|Help|Warning // 1|Prompt|Help|Warning
OCCASEDIT = S_NORMALE //100 OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100 OCFPI = S_DISABLITATO //100
COFI = S_NORMALE //100 COFI = S_NORMALE //100
STATOPAIV = S_NORMALE //100 STATOPAIV = S_NORMALE //100
PAIVA = S_NORMALE //100 PAIVA = S_NORMALE //100

View File

@ -310,8 +310,10 @@ bool TMotore_application::occas_handler( TMask_field& f, KEY key )
f.set(c->read(occ)); f.set(c->read(occ));
} }
if (occ_m->run() != K_ESC) if (occ_m->run() != K_ESC)
{ {
doc.put("OCFPI", occ_m->get(O_CODICE)); const TString80 ocfpi(occ_m->get(O_CODICE));
doc.put("OCFPI", ocfpi);
m.set(F_OCFPI, ocfpi);
for (int i = occ_m->fields() - 1; i >= 0; i--) for (int i = occ_m->fields() - 1; i >= 0; i--)
{ {
TMask_field & f = occ_m->fld(i); TMask_field & f = occ_m->fld(i);
@ -668,10 +670,11 @@ int TMotore_application::write( const TMask& m ) // C 90
if (err == NOERR) if (err == NOERR)
{ {
m.field(F_STATO).set( _pro->get( "STATOFINALE", "INSERIMENTO" ) ); m.field(F_STATO).set( _pro->get( "STATOFINALE", "INSERIMENTO" ) );
m.autosave(*_rel); TRelation_application::write(m);
err = _doc->write( ); // m.autosave(*_rel);
if (err == NOERR) // err = _doc->write( );
_rel->read(); // per posizionare correttamente la relazione // if (err == NOERR)
// _rel->read(); // per posizionare correttamente la relazione
} }
return err; return err;
@ -684,10 +687,7 @@ int TMotore_application::rewrite( const TMask& m ) // C 90
int err = esegui_procedura(OP_MODIFICA); int err = esegui_procedura(OP_MODIFICA);
if (err == NOERR) if (err == NOERR)
{ TRelation_application::rewrite(m);
m.autosave(*_rel);
err = _doc->rewrite( );
}
return err; return err;
} }
@ -697,7 +697,8 @@ bool TMotore_application::remove( void ) // C 80
if ( ! valida_operazione( OP_CANCELLA ) ) if ( ! valida_operazione( OP_CANCELLA ) )
return TRUE; return TRUE;
int err = esegui_procedura(OP_CANCELLA); int err = esegui_procedura(OP_CANCELLA);
return _doc->remove() == NOERR; return TRelation_application::remove();
// return _doc->remove() == NOERR;
} }
void TMotore_application::open_files(int logicnum, ...) void TMotore_application::open_files(int logicnum, ...)

View File

@ -15,5 +15,6 @@
#define O_STATONAS 112 #define O_STATONAS 112
#define O_COMUNENAS 113 #define O_COMUNENAS 113
#define O_DENCOMNAS 114 #define O_DENCOMNAS 114
#define O_LOCALITA 115
#endif #endif

View File

@ -1,6 +1,6 @@
#include "ve0100O.h" #include "ve0100O.h"
PAGE "Dati cliente/fornitore occasionale" -1 -1 72 14 PAGE "Dati cliente/fornitore occasionale" -1 -1 72 16
STRING O_CODICE 16 STRING O_CODICE 16
BEGIN BEGIN
@ -32,7 +32,7 @@ BEGIN
VALIDATE NOT_EMPTY_FUNC VALIDATE NOT_EMPTY_FUNC
END END
GROUPBOX DLG_NULL 70 5 GROUPBOX DLG_NULL 70 6
BEGIN BEGIN
PROMPT 1 3 "Dati residenza" PROMPT 1 3 "Dati residenza"
END END
@ -51,9 +51,21 @@ BEGIN
FIELD CIV FIELD CIV
END END
STRING O_LOCALITA 35
BEGIN
PROMPT 2 5 "Localita "
FIELD LOCALITA
END
NUMBER O_CAP 5
BEGIN
PROMPT 55 6 "C.A.P. "
FIELD CAP
END
STRING O_STATO 3 STRING O_STATO 3
BEGIN BEGIN
PROMPT 2 5 "Stato " PROMPT 2 6 "Stato "
HELP "Stato di residenza della persona" HELP "Stato di residenza della persona"
FIELD STATO FIELD STATO
FLAGS "U" FLAGS "U"
@ -67,7 +79,7 @@ END
STRING O_COMUNE 4 STRING O_COMUNE 4
BEGIN BEGIN
PROMPT 27 5 "Comune " PROMPT 27 6 "Comune "
HELP "Codice del comune di residenza della persona" HELP "Codice del comune di residenza della persona"
FIELD COM FIELD COM
FLAGS "U" FLAGS "U"
@ -82,16 +94,9 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
NUMBER O_CAP 5
BEGIN
PROMPT 56 5 "C.A.P. "
HELP "CAP della residenza della persona"
FIELD CAP
END
STRING O_DENCOM 50 STRING O_DENCOM 50
BEGIN BEGIN
PROMPT 2 6 "Denominazione " PROMPT 2 7 " "
HELP "Nome del comune di residenza della persona" HELP "Nome del comune di residenza della persona"
USE LF_COMUNI KEY 2 USE LF_COMUNI KEY 2
INPUT DENCOM O_DENCOM INPUT DENCOM O_DENCOM
@ -101,29 +106,29 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
GROUPBOX DLG_NULL 70 4 GROUPBOX DLG_NULL 70 5
BEGIN BEGIN
PROMPT 1 8 "Dati nascita" PROMPT 1 9 "Dati nascita"
END END
LIST O_SESSO 1 12 //LIST O_SESSO 1 12
BEGIN //BEGIN
PROMPT 2 9 "Sesso " // PROMPT 60 60 "Sesso "
ITEM "M|Maschio" // ITEM "M|Maschio"
ITEM "F|Femmina" // ITEM "F|Femmina"
FLAGS "H" // FLAGS "H"
END //END
DATE O_DATANAS DATE O_DATANAS
BEGIN BEGIN
PROMPT 23 9 "Data " PROMPT 2 10 "Data "
HELP "Data di nascita della persona" HELP "Data di nascita della persona"
FIELD DNASC FIELD DNASC
END END
STRING O_STATONAS 3 STRING O_STATONAS 3
BEGIN BEGIN
PROMPT 41 9 "Stato " PROMPT 2 11 "Stato "
HELP "Codice dello stato di nascita della persona" HELP "Codice dello stato di nascita della persona"
FIELD STATONASC FIELD STATONASC
FLAGS "U" FLAGS "U"
@ -136,7 +141,7 @@ END
STRING O_COMUNENAS 4 STRING O_COMUNENAS 4
BEGIN BEGIN
PROMPT 55 9 "Comune " PROMPT 27 11 "Comune "
HELP "Codice del comune di nascita della persona" HELP "Codice del comune di nascita della persona"
FIELD COMNASC FIELD COMNASC
FLAGS "U" FLAGS "U"
@ -151,7 +156,7 @@ END
STRING O_DENCOMNAS 50 STRING O_DENCOMNAS 50
BEGIN BEGIN
PROMPT 2 10 "Denominazione " PROMPT 2 12 " "
HELP "Nome del comune di nascita della persona" HELP "Nome del comune di nascita della persona"
COPY USE O_DENCOM COPY USE O_DENCOM
INPUT DENCOM O_DENCOMNAS INPUT DENCOM O_DENCOMNAS

View File

@ -101,7 +101,7 @@ TYPE=T_STRINGA
SIZE=50 SIZE=50
USE=LF_CLIFO KE 2 USE=LF_CLIFO KE 2
INPUT=TIPOCF F_TIPOCF SELECT~RAGSOC F_RAGSOC INPUT=TIPOCF F_TIPOCF SELECT~RAGSOC F_RAGSOC
DISPLAY="Ragione sociale@50" RAGSOC~"Codice" CODCF~"Indrizzo@35" INDCF DISPLAY="Ragione sociale@50" RAGSOC~"Codice" CODCF~"Indirizzo@35" INDCF
OUTPUT=F_CODCF CODCF~F_RAGSOC RAGSOC OUTPUT=F_CODCF CODCF~F_RAGSOC RAGSOC
WARNING=Ragione sociale non trovata WARNING=Ragione sociale non trovata
HELP=Inserire la ragione sociale della ditta HELP=Inserire la ragione sociale della ditta
@ -115,6 +115,16 @@ X=2
Y=0 Y=0
MSKID=F_OCCASEDIT MSKID=F_OCCASEDIT
[OCFPI]
GROUP=100
X=30
Y=0
FIELDNAME=OCFPI
MSKID=F_OCFPI
TYPE=T_STRINGA
PROMPT="Codice "
SIZE=16
[COFI] [COFI]
// il campo e' letto nel file 20 clifo // il campo e' letto nel file 20 clifo
GROUP=100 GROUP=100

View File

@ -348,7 +348,7 @@ public:
void set_fields(TAuto_variable_rectype & rec); void set_fields(TAuto_variable_rectype & rec);
real prezzo(bool scontato, bool lordo, int ndec) const ; real prezzo(bool scontato, bool lordo, int ndec) const ;
real importo(bool scontato, bool lordo, int ndec) const ; real importo(bool scontato , bool lordo, int ndec) const ;
real iva(int ndec) const; real iva(int ndec) const;
real imponibile() const; real imponibile() const;
real imposta(bool round = TRUE) const; real imposta(bool round = TRUE) const;

View File

@ -123,7 +123,7 @@ TVariable_mask * TTipo_riga_documento::mask()
for( int i = 1; i <= numhandler; i ++ ) for( int i = 1; i <= numhandler; i ++ )
{ {
TString chiave; TString16 chiave;
chiave.format( "%d", i ); chiave.format( "%d", i );
TToken_string riga = pro.get( chiave, "HANDLERS" ); TToken_string riga = pro.get( chiave, "HANDLERS" );
row_set_handler( *_mask, riga.get_int( 0 ), riga.get_int( 1 ) ); row_set_handler( *_mask, riga.get_int( 0 ), riga.get_int( 1 ) );
@ -454,7 +454,7 @@ real TRiga_documento::iva(int ndec) const
real TRiga_documento::imponibile() const real TRiga_documento::imponibile() const
{ {
const TString16 field(tipo().imponibile()); const TString & field = tipo().imponibile();
if (field.not_empty()) if (field.not_empty())
{ {
@ -506,7 +506,7 @@ bool TRiga_documento::doc_dependent() const
void TRiga_documento::put_str(const char* fieldname, const char* val) void TRiga_documento::put_str(const char* fieldname, const char* val)
{ {
TString v(val); const TString v(val);
if (strcmp(fieldname, "TIPORIGA") == 0 && TRectype::get("TIPORIGA") != v) if (strcmp(fieldname, "TIPORIGA") == 0 && TRectype::get("TIPORIGA") != v)
{ {
TAuto_variable_rectype::put_str(fieldname, v); TAuto_variable_rectype::put_str(fieldname, v);

View File

@ -682,10 +682,8 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
} }
((TDocumento *)this)->update_spese_aut(spese); ((TDocumento *)this)->update_spese_aut(spese);
} }
int err = NOERR; int err = NOERR;
const TString80 occ_code(occas().get(OCC_CFPI));
((TDocumento *)this)->put("OCFPI", occ_code);
long num = get_long("MOVMAG"); long num = get_long("MOVMAG");
const int rows = physical_rows(); const int rows = physical_rows();
@ -852,12 +850,17 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
err = _rows.write(re); err = _rows.write(re);
} }
if (err == NOERR && clifor().occasionale() && occ_code.not_empty()) if (err == NOERR && clifor().occasionale())
{ {
TLocalisamfile o(LF_OCCAS); if (get("OCFPI").not_empty())
err = _occas.write(o); {
if (err == _isreinsert) TLocalisamfile o(LF_OCCAS);
err = _occas.rewrite(o); TOccasionale & occ = occas();
err = occ.write(o);
if (err == _isreinsert)
err = occ.rewrite(o);
}
} }
return err; return err;
} }
@ -866,7 +869,25 @@ int TDocumento::remove(TBaseisamfile& f) const
{ {
int err = _rows.remove(); int err = _rows.remove();
if (err == NOERR) if (err == NOERR)
{
const bool check_movmag = main_app().has_module(MGAUT, CHK_DONGLE) && tipo().mov_mag();
if (check_movmag)
{
const long num = get_long("MOVMAG");
if (num > 0)
{
TMov_mag_doc mov(this);
TLocalisamfile m(LF_MOVMAG);
mov.put(MOVMAG_NUMREG, num);
while (mov.read(m, _isequal, _testandlock) == _islocked)
message_box("Movimento di magazzino in uso da parte di un'altro utente");
mov.remove(m);
}
}
err = TRectype::remove(f); err = TRectype::remove(f);
}
return err; return err;
} }

View File

@ -77,7 +77,6 @@ void TDocumento_mask::occ2mask(TOccasionale & o)
{ {
reset(F_COFI); reset(F_COFI);
reset(F_PAIVA); reset(F_PAIVA);
reset(F_LOCALITACF);
set(F_OCFPI, o.get(OCC_CFPI)); set(F_OCFPI, o.get(OCC_CFPI));
const TString & ragsoc = o.get(OCC_RAGSOC); const TString & ragsoc = o.get(OCC_RAGSOC);
set(F_RAGSOC, ragsoc); set(F_RAGSOC, ragsoc);
@ -97,9 +96,12 @@ void TDocumento_mask::occ2mask(TOccasionale & o)
const TString & stato = o.get(OCC_STATO); const TString & stato = o.get(OCC_STATO);
set(F_STATOCF, stato); set(F_STATOCF, stato);
set( F_STATOSP, stato); set( F_STATOSP, stato);
reset(F_CODINDSP); if (id2pos(F_CODINDSP) >= 0)
reset(F_CODINDSP);
// Sugli occasionali non c'è la località // Sugli occasionali non c'è la località
reset(F_LOCALITASP); const TString & localita = o.get(OCC_LOCALITA);
set(F_LOCALITACF, localita);
set(F_LOCALITASP, localita);
check_field(F_COMSP); check_field(F_COMSP);
check_field(F_STATOSP); check_field(F_STATOSP);
} }
@ -114,6 +116,9 @@ void TDocumento_mask::cli2mask( TCli_for & c, TOccasionale & o, TConfig & ditta)
const bool occas = c.occasionale(); const bool occas = c.occasionale();
show(F_OCCASEDIT, occas); show(F_OCCASEDIT, occas);
if (!occas)
reset(F_OCFPI);
show(F_OCFPI, occas);
// In forse per l'Occasionale, sicuri per il Normale // In forse per l'Occasionale, sicuri per il Normale
show(F_COFI, !occas); show(F_COFI, !occas);
show(F_STATOPAIVA, !occas); show(F_STATOPAIVA, !occas);