diff --git a/or/orlib01.cpp b/or/orlib01.cpp index 450d82900..71707e153 100755 --- a/or/orlib01.cpp +++ b/or/orlib01.cpp @@ -398,11 +398,11 @@ bool TOrdine_form::validate(TForm_item &cf, TToken_string &s) } else if (action == "VALORE") { - cf.set(rdoc.valore(TRUE, AUTO_DECIMALS).string()); + cf.set(rdoc.valore(true, false,AUTO_DECIMALS).string()); } else if (action == "VALRES") { - cf.set(rdoc.valore(FALSE, AUTO_DECIMALS).string()); + cf.set(rdoc.valore(true, false, AUTO_DECIMALS).string()); } else if (action == "GIACENZA") { diff --git a/ve/ve2.cpp b/ve/ve2.cpp index 15cb81438..7cfc2673e 100755 --- a/ve/ve2.cpp +++ b/ve/ve2.cpp @@ -1,3 +1,4 @@ +#include #include extern int ve2100(int argc, char* argv[]); // tabelle sconti (di riga/di documento/incondizionati) @@ -8,7 +9,7 @@ extern int ve2600(int argc, char* argv[]); // relazioni articoli livelli di gia int main( int argc, char** argv) { - const int r = argc > 1 ? argv[1][1]-'0' : -1; + const int r = (argc>1)?(atoi(&argv[1][1])):(-1); switch (r) { case 0: ve2100(argc, argv); break; @@ -18,5 +19,5 @@ int main( int argc, char** argv) case 5: ve2600(argc, argv); break; default: error_box("Sintassi: %s -[0 [R|D|I] | 1 [L|C|O] | 2 [L|C|O] | 3]", argv[0]); break; } - return 0; + exit(0); } diff --git a/ve/ve2400.cpp b/ve/ve2400.cpp index 202f22fd6..217983cc9 100755 --- a/ve/ve2400.cpp +++ b/ve/ve2400.cpp @@ -401,7 +401,10 @@ void TMask_anamag::create_user_fields() bool disable_user_page = true; TString80 prompt; - + int page = PAGE_USER; + int row = 4; + TBit_array pages; + for (int i = 1; i <= 20; i++) { if (c.get_bool("CHK_USER", "ve", i)) diff --git a/ve/velib02.cpp b/ve/velib02.cpp index 5557983a3..b05d89647 100755 --- a/ve/velib02.cpp +++ b/ve/velib02.cpp @@ -906,7 +906,7 @@ void TRiga_documento::autosave(TSheet_field& f) if (num >= 0 && num < f.items()) { - TMask& m = f.sheet_mask(); + TMask& m = f.sheet_row_mask(num); TToken_string & row = f.row(num); @@ -986,7 +986,6 @@ void TRiga_documento::autosave(TSheet_field& f) put( RDOC_CODAGG2, row.get( f.cid2index(FR_CODAGG2)) ); put( RDOC_RIDPREZZO, row.get( f.cid2index(FR_RIDPREZZO)) ); - f.select(num); // Seleziona la riga in modo da selezionare la maschera di riga giusta for (short cdcid = FR_CDC1; cdcid <= FR_CDC12; cdcid++) { const int pos = m.id2pos(cdcid); @@ -1043,14 +1042,13 @@ void TRiga_documento::autosave(TSheet_field& f) } //if(m.field(... // Salvo i campi con un FIELD manuale - const TMask& m = f.sheet_row_mask(num); for (short id = FR_JOLLY1; id <= FR_JOLLY10; id++) - { - const int pos = m.id2pos(id); + { + const int pos = m.id2pos(id); if (pos > 0) - { + { const char* val = row.get(f.cid2index(id)); if (val != NULL) @@ -1060,9 +1058,10 @@ void TRiga_documento::autosave(TSheet_field& f) if (fld != NULL) fld->write(val, *this); } - else - break; - } + else + break; + } + } } } diff --git a/ve/velib06.cpp b/ve/velib06.cpp index a5365f152..00889fb9a 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -1411,15 +1411,15 @@ bool TDocumento_mask::ss_notify( TSheet_field& ss, int r, KEY key ) case K_TAB: // ingresso nella riga if (!selecting && m.is_running()) { + const TRectype& rdoc = doc[r + 1]; + if (r < doc.physical_rows()) { - - m.update_giacenza(); - const TRectype& rdoc = doc[r + 1]; - set_curr_um(rdoc.get(RDOC_UMQTA)); - const bool on = rdoc.get(RDOC_DACODNUM).not_empty(); - ss.sheet_mask().enable(DLG_USER, on); - } + m.update_giacenza(); + set_curr_um(rdoc.get(RDOC_UMQTA)); + const bool on = rdoc.get(RDOC_DACODNUM).not_empty(); + ss.sheet_mask().enable(DLG_USER, on); + } if (rdoc.get(RDOC_CODART).empty() && rdoc.get(RDOC_DESCR).empty()) { diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index 25e52e38c..35877316c 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -377,9 +378,7 @@ void row_set_handler( TMask& m, const int field, const int index) m.set_handler( field, evasion_check_handler ); break; default: - - default: - yesnofatal_box( false, "Funzione di handler sulla riga non definita( %d ).", index ); + yesnofatal_box( false, "Funzione di handler sulla riga non definita( %d ).", index ); break; } @@ -1459,7 +1458,7 @@ bool link_row_handler(TMask_field& f, KEY key ) father_row.set_doc(&doc); r.put(RDOC_LIVELLO, livello); - r.put(RDOC_QTA, row.qtaresidua()); + r.put(RDOC_QTA, father_row.qtaresidua()); TToken_string flds = tipo.fields_to_update(); FOR_EACH_TOKEN(flds, fld) diff --git a/ve/verig.uml b/ve/verig.uml index 4c120d1cc..3dec378b9 100755 --- a/ve/verig.uml +++ b/ve/verig.uml @@ -1899,6 +1899,31 @@ BEGIN END ENDIF +IFDEF(FLD_RIDPREZZO) +CURRENCY FR_RIDPREZZO 18 +BEGIN +IFDEF(X_RIDPREZZO) + PROMPT X_RIDPREZZO Y_RIDPREZZO PR_RIDPREZZO +ELSEIF + PROMPT 42 17 "Rid.prezzo " +ENDIF +IFDEF(FL_RIDPREZZO) + FLAGS FL_RIDPREZZO +ELSEIF + FLAGS "U" +ENDIF +IFDEF(MS_RIDPREZZO) + MESSAGE MS_RIDPREZZO +ENDIF +IFDEF(NC_RIDPREZZO) + NUM_CALC NC_RIDPREZZO +ENDIF + FIELD RIDPREZZO +END +ENDIF + + + #endif #ifndef FULL_SCREEN @@ -2045,6 +2070,7 @@ IFDEF(TY_CODAGG2) TY_CODAGG2 FR_CODAGG2 20 ELSEIF STRING FR_CODAGG2 13 5 +ENDIF BEGIN IFDEF(X_CODAGG2) PROMPT X_CODAGG2 Y_CODAGG2 PR_CODAGG2