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
// RAGSOC = S_NORMALE
OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100
OCFPI = S_DISABILITATO //100
COFI = S_NORMALE //100
STATOPAIV = S_NORMALE //100
PAIVA = S_NORMALE //100

View File

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

View File

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

View File

@ -65,7 +65,7 @@ STATOFINALE=9
// 1|Prompt|Help|Warning
OCCASEDIT = S_NORMALE //100
OCFPI = S_NASCOSTO //100
OCFPI = S_DISABLITATO //100
COFI = S_NORMALE //100
STATOPAIV = 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));
}
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--)
{
TMask_field & f = occ_m->fld(i);
@ -668,10 +670,11 @@ int TMotore_application::write( const TMask& m ) // C 90
if (err == NOERR)
{
m.field(F_STATO).set( _pro->get( "STATOFINALE", "INSERIMENTO" ) );
m.autosave(*_rel);
err = _doc->write( );
if (err == NOERR)
_rel->read(); // per posizionare correttamente la relazione
TRelation_application::write(m);
// m.autosave(*_rel);
// err = _doc->write( );
// if (err == NOERR)
// _rel->read(); // per posizionare correttamente la relazione
}
return err;
@ -684,10 +687,7 @@ int TMotore_application::rewrite( const TMask& m ) // C 90
int err = esegui_procedura(OP_MODIFICA);
if (err == NOERR)
{
m.autosave(*_rel);
err = _doc->rewrite( );
}
TRelation_application::rewrite(m);
return err;
}
@ -697,7 +697,8 @@ bool TMotore_application::remove( void ) // C 80
if ( ! valida_operazione( OP_CANCELLA ) )
return TRUE;
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, ...)

View File

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

View File

@ -1,6 +1,6 @@
#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
BEGIN
@ -32,7 +32,7 @@ BEGIN
VALIDATE NOT_EMPTY_FUNC
END
GROUPBOX DLG_NULL 70 5
GROUPBOX DLG_NULL 70 6
BEGIN
PROMPT 1 3 "Dati residenza"
END
@ -51,9 +51,21 @@ BEGIN
FIELD CIV
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
BEGIN
PROMPT 2 5 "Stato "
PROMPT 2 6 "Stato "
HELP "Stato di residenza della persona"
FIELD STATO
FLAGS "U"
@ -67,7 +79,7 @@ END
STRING O_COMUNE 4
BEGIN
PROMPT 27 5 "Comune "
PROMPT 27 6 "Comune "
HELP "Codice del comune di residenza della persona"
FIELD COM
FLAGS "U"
@ -82,16 +94,9 @@ BEGIN
CHECKTYPE NORMAL
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
BEGIN
PROMPT 2 6 "Denominazione "
PROMPT 2 7 " "
HELP "Nome del comune di residenza della persona"
USE LF_COMUNI KEY 2
INPUT DENCOM O_DENCOM
@ -101,29 +106,29 @@ BEGIN
CHECKTYPE NORMAL
END
GROUPBOX DLG_NULL 70 4
GROUPBOX DLG_NULL 70 5
BEGIN
PROMPT 1 8 "Dati nascita"
PROMPT 1 9 "Dati nascita"
END
LIST O_SESSO 1 12
BEGIN
PROMPT 2 9 "Sesso "
ITEM "M|Maschio"
ITEM "F|Femmina"
FLAGS "H"
END
//LIST O_SESSO 1 12
//BEGIN
// PROMPT 60 60 "Sesso "
// ITEM "M|Maschio"
// ITEM "F|Femmina"
// FLAGS "H"
//END
DATE O_DATANAS
BEGIN
PROMPT 23 9 "Data "
PROMPT 2 10 "Data "
HELP "Data di nascita della persona"
FIELD DNASC
END
STRING O_STATONAS 3
BEGIN
PROMPT 41 9 "Stato "
PROMPT 2 11 "Stato "
HELP "Codice dello stato di nascita della persona"
FIELD STATONASC
FLAGS "U"
@ -136,7 +141,7 @@ END
STRING O_COMUNENAS 4
BEGIN
PROMPT 55 9 "Comune "
PROMPT 27 11 "Comune "
HELP "Codice del comune di nascita della persona"
FIELD COMNASC
FLAGS "U"
@ -151,7 +156,7 @@ END
STRING O_DENCOMNAS 50
BEGIN
PROMPT 2 10 "Denominazione "
PROMPT 2 12 " "
HELP "Nome del comune di nascita della persona"
COPY USE O_DENCOM
INPUT DENCOM O_DENCOMNAS

View File

@ -101,7 +101,7 @@ TYPE=T_STRINGA
SIZE=50
USE=LF_CLIFO KE 2
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
WARNING=Ragione sociale non trovata
HELP=Inserire la ragione sociale della ditta
@ -115,6 +115,16 @@ X=2
Y=0
MSKID=F_OCCASEDIT
[OCFPI]
GROUP=100
X=30
Y=0
FIELDNAME=OCFPI
MSKID=F_OCFPI
TYPE=T_STRINGA
PROMPT="Codice "
SIZE=16
[COFI]
// il campo e' letto nel file 20 clifo
GROUP=100

View File

@ -348,7 +348,7 @@ public:
void set_fields(TAuto_variable_rectype & rec);
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 imponibile() 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 ++ )
{
TString chiave;
TString16 chiave;
chiave.format( "%d", i );
TToken_string riga = pro.get( chiave, "HANDLERS" );
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
{
const TString16 field(tipo().imponibile());
const TString & field = tipo().imponibile();
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)
{
TString v(val);
const TString v(val);
if (strcmp(fieldname, "TIPORIGA") == 0 && TRectype::get("TIPORIGA") != 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);
}
int err = NOERR;
const TString80 occ_code(occas().get(OCC_CFPI));
((TDocumento *)this)->put("OCFPI", occ_code);
long num = get_long("MOVMAG");
const int rows = physical_rows();
@ -852,12 +850,17 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
err = _rows.write(re);
}
if (err == NOERR && clifor().occasionale() && occ_code.not_empty())
if (err == NOERR && clifor().occasionale())
{
TLocalisamfile o(LF_OCCAS);
err = _occas.write(o);
if (err == _isreinsert)
err = _occas.rewrite(o);
if (get("OCFPI").not_empty())
{
TLocalisamfile o(LF_OCCAS);
TOccasionale & occ = occas();
err = occ.write(o);
if (err == _isreinsert)
err = occ.rewrite(o);
}
}
return err;
}
@ -866,7 +869,25 @@ int TDocumento::remove(TBaseisamfile& f) const
{
int err = _rows.remove();
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);
}
return err;
}

View File

@ -77,7 +77,6 @@ void TDocumento_mask::occ2mask(TOccasionale & o)
{
reset(F_COFI);
reset(F_PAIVA);
reset(F_LOCALITACF);
set(F_OCFPI, o.get(OCC_CFPI));
const TString & ragsoc = o.get(OCC_RAGSOC);
set(F_RAGSOC, ragsoc);
@ -97,9 +96,12 @@ void TDocumento_mask::occ2mask(TOccasionale & o)
const TString & stato = o.get(OCC_STATO);
set(F_STATOCF, stato);
set( F_STATOSP, stato);
reset(F_CODINDSP);
if (id2pos(F_CODINDSP) >= 0)
reset(F_CODINDSP);
// 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_STATOSP);
}
@ -114,6 +116,9 @@ void TDocumento_mask::cli2mask( TCli_for & c, TOccasionale & o, TConfig & ditta)
const bool occas = c.occasionale();
show(F_OCCASEDIT, occas);
if (!occas)
reset(F_OCFPI);
show(F_OCFPI, occas);
// In forse per l'Occasionale, sicuri per il Normale
show(F_COFI, !occas);
show(F_STATOPAIVA, !occas);