Patch level : 10.0
Files correlati : ha0 ha3 ha3900a.msk hatbatt.msk Ricompilazione Demo : [ ] Commento : Correzioni varie su gestione attrezzature git-svn-id: svn://10.65.10.50/branches/R_10_00@22587 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									b267e999d7
								
							
						
					
					
						commit
						077cb844e9
					
				| @ -530,8 +530,8 @@ bool THardy_elab_docs::genera_nac(const TMask& mask, TArray& contratti_cliente, | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const int anno = mask.get_date(F_ADATA).year(); |     const int anno = mask.get_date(F_ADATA).year(); | ||||||
|     //solo in caso di elaborazione definitiva si scrivono NAC di tipo D; sennò di tipo P, che sono uccidibili..
 |     //solo in caso di elaborazione definitiva si scrivono NAC di tipo D; 
 | ||||||
|     //..all'inizio di ogni nuova elaborazione
 |     //sennò di tipo P, che sono uccidibili all'inizio di ogni nuova elaborazione
 | ||||||
|     char provv = 'P'; |     char provv = 'P'; | ||||||
|     if (definitivo) |     if (definitivo) | ||||||
|       provv = 'D'; |       provv = 'D'; | ||||||
|  | |||||||
| @ -152,21 +152,17 @@ void TInserimento_storico::elabora(const TMask& mask) | |||||||
|         const long doc_ndoc = rdoc_recset.get(RDOC_NDOC).as_int(); |         const long doc_ndoc = rdoc_recset.get(RDOC_NDOC).as_int(); | ||||||
|         const TString& codart = rdoc_recset.get(RDOC_CODART).as_string(); |         const TString& codart = rdoc_recset.get(RDOC_CODART).as_string(); | ||||||
|         const TString& matricola = rdoc_recset.get(RDOC_LIVELLO).as_string(); |         const TString& matricola = rdoc_recset.get(RDOC_LIVELLO).as_string(); | ||||||
|         TString80 str_s0; |  | ||||||
|         str_s0.format("%-5s%s", (const char*)codart, (const char*)matricola); |  | ||||||
| 
 |  | ||||||
|         TString80 codtab; |  | ||||||
|         TModule_table tab_att("&ATT"); |         TModule_table tab_att("&ATT"); | ||||||
|         tab_att.setkey(2); |         tab_att.put("CODTAB", matricola); | ||||||
|         tab_att.put("S0", str_s0); |  | ||||||
|         const int err = tab_att.read(); |         const int err = tab_att.read(); | ||||||
|         //se l'attrezzatura (intesa come codart+matricola) non esiste -> la deve aggiungere (sara' sicuramente la prima..
 |         //se l'attrezzatura (intesa come codart+matricola) non esiste -> la deve aggiungere (sara' sicuramente la prima)...
 | ||||||
|         //..per quanto riguarda il progressivo)
 |         //..per quanto riguarda il progressivo)
 | ||||||
|         if (err != NOERR) |         if (err != NOERR) | ||||||
|         { |         { | ||||||
|           codtab = hd_get_next_att_key(codart); |           TString msg; | ||||||
|           tab_att.put("CODTAB", codtab); |           msg << "Articolo " << codart << " senza matricola sul documento " << doc_codnum << " " << doc_anno << "/" << doc_ndoc; | ||||||
|           tab_att.put("S0", str_s0); |           log.log(1, msg);  | ||||||
|  |           continue; | ||||||
|         } |         } | ||||||
|         //comunque deve scrivere il cliente e la data perchè è un'apertura quindi la macchina è assegnata..
 |         //comunque deve scrivere il cliente e la data perchè è un'apertura quindi la macchina è assegnata..
 | ||||||
|         //..al cliente con questo documento
 |         //..al cliente con questo documento
 | ||||||
| @ -193,8 +189,7 @@ void TInserimento_storico::elabora(const TMask& mask) | |||||||
|         query_his << "\nFROM CODTAB=#CODTAB"; |         query_his << "\nFROM CODTAB=#CODTAB"; | ||||||
|         query_his << "\nTO CODTAB=#CODTAB"; |         query_his << "\nTO CODTAB=#CODTAB"; | ||||||
|         TISAM_recordset recset_his(query_his); |         TISAM_recordset recset_his(query_his); | ||||||
|         codtab = tab_att.get("CODTAB");   //il codtab va preso se per caso la macchina non fosse nuova (pressoche' impossibile, ma insomma..)
 |         recset_his.set_var("#CODTAB", matricola); | ||||||
|         recset_his.set_var("#CODTAB", codtab); |  | ||||||
| 
 | 
 | ||||||
|         const long recset_his_items = recset_his.items(); |         const long recset_his_items = recset_his.items(); | ||||||
| 
 | 
 | ||||||
| @ -239,14 +234,14 @@ void TInserimento_storico::elabora(const TMask& mask) | |||||||
|           n_line_to_update = recset_his_items + 1; |           n_line_to_update = recset_his_items + 1; | ||||||
| 
 | 
 | ||||||
|           //adesso ha il numero di riga da aggiornare e crea il nuovo record
 |           //adesso ha il numero di riga da aggiornare e crea il nuovo record
 | ||||||
|           new_codtab.format("%-12s%05d", (const char*)codtab, n_line_to_update); |           new_codtab.format("%08s%05d", (const char*)matricola, n_line_to_update); | ||||||
|           tab_his.put("CODTAB", new_codtab); |           tab_his.put("CODTAB", new_codtab); | ||||||
|           tab_his.write(); |           tab_his.write(); | ||||||
|           new_codtab.cut(0); |           new_codtab.cut(0); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         //rimette il codtab per riposizionarsi sul record corretto
 |         //rimette il codtab per riposizionarsi sul record corretto
 | ||||||
|         new_codtab.format("%-12s%05d", (const char*)codtab, n_line_to_update); |         new_codtab.format("%08s%05d", (const char*)matricola, n_line_to_update); | ||||||
|         tab_his.put("CODTAB", new_codtab); |         tab_his.put("CODTAB", new_codtab); | ||||||
|          |          | ||||||
|         //ed aggiunge tutti i campi
 |         //ed aggiunge tutti i campi
 | ||||||
| @ -282,8 +277,9 @@ void TInserimento_storico::elabora(const TMask& mask) | |||||||
|         if (written == NOERR) |         if (written == NOERR) | ||||||
|         { |         { | ||||||
|           TString msg; |           TString msg; | ||||||
|           msg.format("%4d%1s%4s%1s%7d%2s%12s%2s%-15s%2s%6d", doc_anno, "-", (const char*)doc_codnum, "-", doc_ndoc, "--",  |           msg.format("%4d-%4s/%7d--%s--%s--%6d",  | ||||||
|                                                            (const char*)codtab, "--", (const char*)matricola, "--", doc_clifo); |                      doc_anno, (const char*)doc_codnum, doc_ndoc,  | ||||||
|  |                      (const char*)new_codtab, (const char*)matricola, doc_clifo); | ||||||
|           log.log(0, msg); |           log.log(0, msg); | ||||||
|         } |         } | ||||||
|       } //if (caus==caus_open || ..
 |       } //if (caus==caus_open || ..
 | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ class TCoffee_tree : public TBidirectional_tree | |||||||
|   TString8 _curr_node; |   TString8 _curr_node; | ||||||
|   long _codcf; |   long _codcf; | ||||||
|   long _progressivo; |   long _progressivo; | ||||||
|   TString8 _codart; |   TString80 _codart; | ||||||
|   TString16 _matricola, _cespite; |   TString16 _matricola, _cespite; | ||||||
|   TISAM_recordset _recset; |   TISAM_recordset _recset; | ||||||
|    |    | ||||||
| @ -51,11 +51,11 @@ public: | |||||||
| public: | public: | ||||||
|   bool set_clifo(long codcf); |   bool set_clifo(long codcf); | ||||||
|   bool select_attr(const TString& codart, const long progressivo); |   bool select_attr(const TString& codart, const long progressivo); | ||||||
|   const long get_codcf() const; |   const long get_codcf() const { return _codcf; } | ||||||
|   const TString& get_codart() const; |   const TString& get_codart() const { return _codart; } | ||||||
|   const long get_progressivo() const; |   const long get_progressivo() const { return _progressivo; } | ||||||
|   const TString& get_matricola() const; |   const TString& get_matricola() const { return _matricola; } | ||||||
|   const TString& get_cespite() const; |   const TString& get_cespite() const { return _cespite; } | ||||||
|   TCoffee_tree() : _codcf(0), _recset("USE &ATT") { set_clifo(0L); } |   TCoffee_tree() : _codcf(0), _recset("USE &ATT") { set_clifo(0L); } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @ -125,8 +125,8 @@ TFieldtypes TCoffee_tree::get_var(const TString& name, TVariant& var) const | |||||||
|   //..che risulta vuota
 |   //..che risulta vuota
 | ||||||
|   if (name == "S10") |   if (name == "S10") | ||||||
|   { |   { | ||||||
|     TString8 codart = _recset.get("CODTAB[1,5]").as_string(); |     TString80 codart = _recset.get("S0").as_string(); | ||||||
|     codart.trim(); |     codart.cut(20); | ||||||
|     var = cache().get(LF_ANAMAG, codart, ANAMAG_DESCR); |     var = cache().get(LF_ANAMAG, codart, ANAMAG_DESCR); | ||||||
|   } |   } | ||||||
|   else |   else | ||||||
| @ -135,35 +135,11 @@ TFieldtypes TCoffee_tree::get_var(const TString& name, TVariant& var) const | |||||||
|   return var.type(); |   return var.type(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const TString& TCoffee_tree::get_codart() const |  | ||||||
| { |  | ||||||
|   return _codart; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const long TCoffee_tree::get_progressivo() const |  | ||||||
| { |  | ||||||
|   return _progressivo; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const TString& TCoffee_tree::get_matricola() const |  | ||||||
| { |  | ||||||
|   return _matricola; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const TString& TCoffee_tree::get_cespite() const |  | ||||||
| { |  | ||||||
|   return _cespite; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const long TCoffee_tree::get_codcf() const |  | ||||||
| { |  | ||||||
|   return _codcf; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| bool TCoffee_tree::set_clifo(long codcf) | bool TCoffee_tree::set_clifo(long codcf) | ||||||
| { | { | ||||||
|  |   TWait_cursor hourglass; | ||||||
|   _codcf = codcf; |   _codcf = codcf; | ||||||
|   TString query; |   TString80 query; | ||||||
|   query << "USE &ATT\nSELECT I0=" << codcf;  |   query << "USE &ATT\nSELECT I0=" << codcf;  | ||||||
|   _recset.set(query); |   _recset.set(query); | ||||||
|   return goto_root(); |   return goto_root(); | ||||||
| @ -174,18 +150,18 @@ bool TCoffee_tree::select_attr(const TString& codart, const long progressivo) | |||||||
|   bool found = false; |   bool found = false; | ||||||
|   for (bool ok = _recset.move_first(); ok; ok = _recset.move_next()) |   for (bool ok = _recset.move_first(); ok; ok = _recset.move_next()) | ||||||
|   { |   { | ||||||
|     TString8 curr_codart = _recset.get("CODTAB[1,5]").as_string(); |     TString80 curr_codart = _recset.get("S0[1,20]").as_string(); | ||||||
|     curr_codart.trim(); |     curr_codart.trim(); | ||||||
|     if (curr_codart == codart) |     if (curr_codart == codart) | ||||||
|     { |     { | ||||||
|       _codart = codart; |       _codart = codart; | ||||||
|       const long curr_progressivo = _recset.get("CODTAB[6,12]").as_int(); |       const long curr_progressivo = _recset.get("CODTAB").as_int(); | ||||||
|       if (curr_progressivo == progressivo) |       if (curr_progressivo == progressivo) | ||||||
|       { |       { | ||||||
|         _curr_node.format("%ld", _recset.current_row()); |         _curr_node.format("%ld", _recset.current_row()); | ||||||
|         found = true; |         found = true; | ||||||
|         _progressivo = progressivo; |         _progressivo = progressivo; | ||||||
|         _matricola = _recset.get("S0[6,20]").as_string(); |         _matricola = _recset.get("S0[21,35]").as_string(); | ||||||
|         _cespite = _recset.get("S1").as_string(); |         _cespite = _recset.get("S1").as_string(); | ||||||
|         break; |         break; | ||||||
|       } |       } | ||||||
| @ -240,6 +216,8 @@ public: | |||||||
| //metodo che riempie il primo sheet delle attrezzature in base ai filtri su cliente/attrezztura
 | //metodo che riempie il primo sheet delle attrezzature in base ai filtri su cliente/attrezztura
 | ||||||
| void TGestione_attrezzature_mask::fill_sheet_storico(const TString& codattr) | void TGestione_attrezzature_mask::fill_sheet_storico(const TString& codattr) | ||||||
| { | { | ||||||
|  |   TWait_cursor hourglass; | ||||||
|  | 
 | ||||||
|   //riempie lo sheet dello storico in base all'attrezzatura scelta nell'albero
 |   //riempie lo sheet dello storico in base all'attrezzatura scelta nell'albero
 | ||||||
|   TString query; |   TString query; | ||||||
|   query << "USE &HIS"; |   query << "USE &HIS"; | ||||||
| @ -289,7 +267,6 @@ void TGestione_attrezzature_mask::fill_sheet_storico(const TString& codattr) | |||||||
|   sf_righe.sort(sort_by_data); |   sf_righe.sort(sort_by_data); | ||||||
|   sf_righe.show(); |   sf_righe.show(); | ||||||
|   sf_righe.force_update(); |   sf_righe.force_update(); | ||||||
| 
 |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -301,7 +278,7 @@ bool TGestione_attrezzature_mask::write() | |||||||
|   if (ct == NULL) |   if (ct == NULL) | ||||||
|     return false; |     return false; | ||||||
| 
 | 
 | ||||||
|   const TString& codart = ct->get_codart(); | //  const TString& codart = ct->get_codart();
 | ||||||
|   const long progressivo = ct->get_progressivo(); |   const long progressivo = ct->get_progressivo(); | ||||||
| 
 | 
 | ||||||
|   TSheet_field& sf_righe = sfield(F_STORICO); |   TSheet_field& sf_righe = sfield(F_STORICO); | ||||||
| @ -310,9 +287,6 @@ bool TGestione_attrezzature_mask::write() | |||||||
|   //tabella di modulo con lo storico interventi
 |   //tabella di modulo con lo storico interventi
 | ||||||
|   TModule_table his("&HIS"); |   TModule_table his("&HIS"); | ||||||
|   TRectype& rec_his = his.curr(); |   TRectype& rec_his = his.curr(); | ||||||
|   //codice articolo + progressivo (prima parte del CODTAB del record di tabmod)
 |  | ||||||
|   TString80 codtab; |  | ||||||
|   codtab.format("%-5s%07d", (const char*)codart, progressivo); |  | ||||||
| 
 | 
 | ||||||
|   //contatore delle righe che vengono salvate
 |   //contatore delle righe che vengono salvate
 | ||||||
|   int righe_tot = 0; |   int righe_tot = 0; | ||||||
| @ -325,8 +299,8 @@ bool TGestione_attrezzature_mask::write() | |||||||
|     //per prima cosa mette la chiave del record che è così fatta:
 |     //per prima cosa mette la chiave del record che è così fatta:
 | ||||||
|     // codart=codtab[1,5] - progressivo=codtab[6,12] - nriga=codtab[31,35]
 |     // codart=codtab[1,5] - progressivo=codtab[6,12] - nriga=codtab[31,35]
 | ||||||
|     TString80 curr_codtab; |     TString80 curr_codtab; | ||||||
|     curr_codtab.format("%05d", sf_righe.items() - r); |     curr_codtab.format("%08ld%05d", progressivo, sf_righe.items() - r); | ||||||
|     curr_codtab.insert(codtab); |      | ||||||
|     //azzera il record senno' nei campi vuoti ci metterebbe quelli del record precedente
 |     //azzera il record senno' nei campi vuoti ci metterebbe quelli del record precedente
 | ||||||
|     //deve azzerare la tabella, senno' perde il codice modulo HA ed il codice tabella HIS
 |     //deve azzerare la tabella, senno' perde il codice modulo HA ed il codice tabella HIS
 | ||||||
|     his.zero(); |     his.zero(); | ||||||
| @ -354,8 +328,8 @@ bool TGestione_attrezzature_mask::write() | |||||||
|   query << "\nTO CODTAB=#AATTR"; |   query << "\nTO CODTAB=#AATTR"; | ||||||
|   TISAM_recordset recset(query); |   TISAM_recordset recset(query); | ||||||
|   TString80 daattr, aattr; |   TString80 daattr, aattr; | ||||||
|   daattr.format("%s%05d", (const char*)codtab, righe_tot + 1); |   daattr.format("%08ld%05d", progressivo, righe_tot + 1); | ||||||
|   aattr.format("%s%05d", (const char*)codtab, 99999); |   aattr.format("%08ld%05d", progressivo, 99999); | ||||||
|   recset.set_var("#DAATTR", daattr);  |   recset.set_var("#DAATTR", daattr);  | ||||||
|   recset.set_var("#AATTR", aattr); |   recset.set_var("#AATTR", aattr); | ||||||
|   //accoppa tutte le righe in esubero dalla tabella &HIS
 |   //accoppa tutte le righe in esubero dalla tabella &HIS
 | ||||||
| @ -422,12 +396,12 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|       TCoffee_tree* ct = (TCoffee_tree*)tf.tree(); |       TCoffee_tree* ct = (TCoffee_tree*)tf.tree(); | ||||||
|       if (ct != NULL) |       if (ct != NULL) | ||||||
|       { |       { | ||||||
|         TString80 codattr; |  | ||||||
|         ct->get_description(codattr); |  | ||||||
| 
 |  | ||||||
|         //riempie i campi di intestazione maschera
 |         //riempie i campi di intestazione maschera
 | ||||||
|         set(F_CODART, codattr.left(5)); |         TVariant str;  | ||||||
|         set(F_PROGRESSIVO, codattr.mid(5,7)); |         ct->get_var("S0", str); | ||||||
|  |         set(F_CODART, str.as_string().left(20)); | ||||||
|  |         ct->get_var("CODTAB", str); | ||||||
|  |         set(F_PROGRESSIVO, str.as_string()); | ||||||
|         check_field(F_CODART); |         check_field(F_CODART); | ||||||
|         //chiede di salvare le modifiche al cambio attrezzatura
 |         //chiede di salvare le modifiche al cambio attrezzatura
 | ||||||
|         save_if_dirty(); |         save_if_dirty(); | ||||||
| @ -437,7 +411,7 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|         set(F_MATRICOLA, ct->get_matricola()); |         set(F_MATRICOLA, ct->get_matricola()); | ||||||
|         set(F_CESPITE, ct->get_cespite()); |         set(F_CESPITE, ct->get_cespite()); | ||||||
|         //riempie lo sheet
 |         //riempie lo sheet
 | ||||||
|         fill_sheet_storico(codattr); |         fill_sheet_storico(str.as_string()); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     break; |     break; | ||||||
| @ -468,17 +442,14 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|       if (get(F_CODART).empty() || get(F_PROGRESSIVO) <= 0L) |       if (get(F_CODART).empty() || get(F_PROGRESSIVO) <= 0L) | ||||||
|         return warning_box(TR("E' necessario compilare articolo e progressivo per aggiungere una nuova attrezzatura!")); |         return warning_box(TR("E' necessario compilare articolo e progressivo per aggiungere una nuova attrezzatura!")); | ||||||
|      |      | ||||||
|       TString80 codtab; |       const TString& codtab = get(F_PROGRESSIVO); | ||||||
|       const TString& codart = get(F_CODART); |  | ||||||
|       const long progressivo = get_long(F_PROGRESSIVO); |  | ||||||
|       codtab.format("%-5s%07d", (const char*)codart, progressivo); |  | ||||||
|       //2) controllo effettiva "nuovezza" dell'attrezzatura..
 |       //2) controllo effettiva "nuovezza" dell'attrezzatura..
 | ||||||
|       //...se l'utonto tentasse di inserire come nuova un'attrezzatura già esistente va cazziato!
 |       //...se l'utonto tentasse di inserire come nuova un'attrezzatura già esistente va cazziato!
 | ||||||
|       TModule_table tab_att("&ATT"); |       TModule_table tab_att("&ATT"); | ||||||
|       tab_att.put("CODTAB", codtab); |       tab_att.put("CODTAB", codtab); | ||||||
|       const int err = tab_att.read(); |       const int err = tab_att.read(); | ||||||
|       if (err == NOERR) |       if (err == NOERR) | ||||||
|         return warning_box(TR("L'attrezzatura con questi articolo e progressivo esiste gia'!")); |         return warning_box(TR("L'attrezzatura esiste già!")); | ||||||
| 
 | 
 | ||||||
|       //3) invio dati al gestore della tabella &ATT delle attrezzature tramite .ini
 |       //3) invio dati al gestore della tabella &ATT delle attrezzature tramite .ini
 | ||||||
|       TFilename trans_ini; |       TFilename trans_ini; | ||||||
| @ -494,8 +465,8 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|         ini.set("CODTAB", codtab); |         ini.set("CODTAB", codtab); | ||||||
|         ini.set("I0", get(F_CODCF)); |         ini.set("I0", get(F_CODCF)); | ||||||
|         ini.set("D0", TDate(TODAY)); |         ini.set("D0", TDate(TODAY)); | ||||||
|         TString matricola; |         TString80 matricola; | ||||||
|         matricola.format("%-5s%-15s", (const char*)get(F_CODART), (const char*)get(F_MATRICOLA)); |         matricola.format("%-20s%-15s", (const char*)get(F_CODART), (const char*)get(F_MATRICOLA)); | ||||||
|         ini.set("S0", matricola); |         ini.set("S0", matricola); | ||||||
|         ini.set("S1", get(F_CESPITE)); |         ini.set("S1", get(F_CESPITE)); | ||||||
|       } |       } | ||||||
| @ -518,7 +489,7 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|           const TDate data_storico = ini.get("D0"); |           const TDate data_storico = ini.get("D0"); | ||||||
|           const TString& cespite = ini.get("S1"); |           const TString& cespite = ini.get("S1"); | ||||||
|           const TString& full_matricola = ini.get("S0"); |           const TString& full_matricola = ini.get("S0"); | ||||||
|           const TString16 matricola = full_matricola.mid(5,15);  |           const TString16 matricola = full_matricola.mid(20);  | ||||||
| 
 | 
 | ||||||
|           //4b) da file ini crea un record nuovo sulla tabella &HIS; se non lo facesse l'albero con le attrezzature non..
 |           //4b) da file ini crea un record nuovo sulla tabella &HIS; se non lo facesse l'albero con le attrezzature non..
 | ||||||
|           //....potrebbe mai vedere la nuova attrezzatura aggiunta; sara' poi l'albero stesso ad occuparsi dello sheet
 |           //....potrebbe mai vedere la nuova attrezzatura aggiunta; sara' poi l'albero stesso ad occuparsi dello sheet
 | ||||||
| @ -536,8 +507,8 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even | |||||||
|             return warning_box(TR("Impossibile aggiungere l'attrezzatura! Risulta gia' presente.")); |             return warning_box(TR("Impossibile aggiungere l'attrezzatura! Risulta gia' presente.")); | ||||||
|            |            | ||||||
|           set(F_CODCF, codcf, true); |           set(F_CODCF, codcf, true); | ||||||
|           set(F_CODART, codtab.left(5), true); |           set(F_CODART, full_matricola.left(20), true); | ||||||
|           set(F_PROGRESSIVO, codtab.mid(5,7), true); |           set(F_PROGRESSIVO, codtab, true); | ||||||
|           set(F_MATRICOLA, matricola); |           set(F_MATRICOLA, matricola); | ||||||
|           set(F_CESPITE, cespite); |           set(F_CESPITE, cespite); | ||||||
|         } |         } | ||||||
|  | |||||||
							
								
								
									
										28
									
								
								ha/ha3900a.h
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								ha/ha3900a.h
									
									
									
									
									
								
							| @ -27,15 +27,37 @@ | |||||||
| #define S_BOL_OPEN_CODNUM  109 | #define S_BOL_OPEN_CODNUM  109 | ||||||
| #define S_BOL_OPEN_NDOC    110 | #define S_BOL_OPEN_NDOC    110 | ||||||
| 
 | 
 | ||||||
| #define S_BOL_CLOSE_ANNO    111 | #define S_BOL_CLOSE_ANNO   111 | ||||||
| #define S_BOL_CLOSE_CODNUM  112 | #define S_BOL_CLOSE_CODNUM 112 | ||||||
| #define S_BOL_CLOSE_NDOC    113 | #define S_BOL_CLOSE_NDOC   113 | ||||||
| 
 | 
 | ||||||
| #define S_CODCF         114 | #define S_CODCF         114 | ||||||
| #define S_INDSPED       115 | #define S_INDSPED       115 | ||||||
| #define S_CODMAG        116 | #define S_CODMAG        116 | ||||||
| #define S_CLOSED        117 | #define S_CLOSED        117 | ||||||
| 
 | 
 | ||||||
|  | #define S_FLAG01        118 | ||||||
|  | #define S_FLAG02        119 | ||||||
|  | #define S_FLAG03        120 | ||||||
|  | #define S_FLAG04        121 | ||||||
|  | #define S_FLAG05        122 | ||||||
|  | #define S_FLAG06        123 | ||||||
|  | #define S_FLAG07        124 | ||||||
|  | #define S_FLAG08        125 | ||||||
|  | #define S_FLAG09        126 | ||||||
|  | #define S_FLAG10        127 | ||||||
|  | #define S_FLAG11        128 | ||||||
|  | #define S_FLAG12        129 | ||||||
|  | #define S_FLAG13        130 | ||||||
|  | #define S_FLAG14        131 | ||||||
|  | #define S_FLAG15        132 | ||||||
|  | #define S_FLAG16        133 | ||||||
|  | #define S_FLAG17        134 | ||||||
|  | #define S_FLAG18        135 | ||||||
|  | #define S_FLAG19        136 | ||||||
|  | #define S_FLAG20        137 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| #define S_DESART        144 | #define S_DESART        144 | ||||||
| #define S_DESCF         154 | #define S_DESCF         154 | ||||||
| #define S_DESCINDSPED   155 | #define S_DESCINDSPED   155 | ||||||
|  | |||||||
							
								
								
									
										249
									
								
								ha/ha3900a.uml
									
									
									
									
									
								
							
							
						
						
									
										249
									
								
								ha/ha3900a.uml
									
									
									
									
									
								
							| @ -14,7 +14,7 @@ ENDPAGE | |||||||
| 
 | 
 | ||||||
| PAGE "Gestione attrezzature" 0 2 0 0 | PAGE "Gestione attrezzature" 0 2 0 0 | ||||||
| 
 | 
 | ||||||
| GROUPBOX DLG_NULL 79 5 | GROUPBOX DLG_NULL 79 6 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 0 "@bParametri" |   PROMPT 1 0 "@bParametri" | ||||||
| END | END | ||||||
| @ -22,7 +22,6 @@ END | |||||||
| NUMBER F_CODCF 6 | NUMBER F_CODCF 6 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 2 1 "Cliente  " |   PROMPT 2 1 "Cliente  " | ||||||
|   FLAGS "R" |  | ||||||
|   USE LF_CLIFO |   USE LF_CLIFO | ||||||
|   INPUT TIPOCF "C" |   INPUT TIPOCF "C" | ||||||
|   INPUT CODCF F_CODCF |   INPUT CODCF F_CODCF | ||||||
| @ -49,9 +48,29 @@ BEGIN | |||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING F_CODART 5 | NUMBER F_PROGRESSIVO 8 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 2 2 "Articolo "  |   PROMPT 2 2 "Matricola Hardy      " | ||||||
|  |   FLAGS "UZ" | ||||||
|  |   USE &ATT | ||||||
|  |   JOIN LF_ANAMAG INTO CODART=S0[1,20] | ||||||
|  |   INPUT CODTAB F_PROGRESSIVO | ||||||
|  |   DISPLAY "Matr. Hardy" CODTAB | ||||||
|  |   DISPLAY "Articolo@20" S0[1,20] | ||||||
|  |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|  |   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR | ||||||
|  |   DISPLAY "Cespite@10" S1[1,10] | ||||||
|  |   OUTPUT F_CODART S0[1,20] | ||||||
|  |   OUTPUT F_PROGRESSIVO CODTAB | ||||||
|  |   OUTPUT F_MATRICOLA S0[21,35] | ||||||
|  |   OUTPUT F_CESPITE S1[1,10] | ||||||
|  |   OUTPUT F_CODCF I0 | ||||||
|  |   CHECKTYPE SEARCH | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING F_CODART 20 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 44 2 "Articolo "  | ||||||
|   FLAGS "U"   |   FLAGS "U"   | ||||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") |   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||||
|   INPUT CODART F_CODART |   INPUT CODART F_CODART | ||||||
| @ -65,7 +84,7 @@ END | |||||||
| 
 | 
 | ||||||
| STRING F_DESART 50 | STRING F_DESART 50 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 23 2 "" |   PROMPT 2 3 "Descrizione          " | ||||||
|   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") |   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||||
|   INPUT DESCR F_DESART |   INPUT DESCR F_DESART | ||||||
|   DISPLAY "Descrizione@50" DESCR |   DISPLAY "Descrizione@50" DESCR | ||||||
| @ -74,38 +93,17 @@ BEGIN | |||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| NUMBER F_PROGRESSIVO 7 |  | ||||||
| BEGIN |  | ||||||
|   PROMPT 2 3 "Progres. " |  | ||||||
|   FLAGS "UZ" |  | ||||||
|   USE &ATT |  | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |  | ||||||
|   INPUT CODTAB[1,5] F_CODART |  | ||||||
|   INPUT CODTAB[6,12] F_PROGRESSIVO |  | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |  | ||||||
|   DISPLAY "Articolo" CODTAB[1,5] |  | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |  | ||||||
|   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR |  | ||||||
|   DISPLAY "Cespite@10" S1[1,10] |  | ||||||
|   OUTPUT F_CODART CODTAB[1,5] |  | ||||||
|   OUTPUT F_PROGRESSIVO CODTAB[6,12] |  | ||||||
|   OUTPUT F_MATRICOLA S0[6,20] |  | ||||||
|   OUTPUT F_CESPITE S1[1,10] |  | ||||||
|   OUTPUT F_CODCF I0 |  | ||||||
|   CHECKTYPE SEARCH |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| STRING F_MATRICOLA 15 | STRING F_MATRICOLA 15 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 24 3 "Matricola " |   PROMPT 2 4 "Matricola Fornitore  " | ||||||
|   FLAGS "U" |   FLAGS "U" | ||||||
|   USE &ATT KEY 2 |   USE &ATT KEY 2 | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |   JOIN LF_ANAMAG INTO CODART=CODTAB[1,20] | ||||||
|   INPUT S0[1,5] F_CODART |   INPUT S0[1,5] F_CODART | ||||||
|   INPUT S0[6,20] F_MATRICOLA |   INPUT S0[6,20] F_MATRICOLA | ||||||
|   DISPLAY "Codice@5" S0[1,5] |   DISPLAY "Codice@20" S0[1,20] | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |   DISPLAY "Matr. Hardy" CODTAB | ||||||
|   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR |   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR | ||||||
|   DISPLAY "Cespite@10" S1[1,10] |   DISPLAY "Cespite@10" S1[1,10] | ||||||
|   DISPLAY "Cliente" I0 |   DISPLAY "Cliente" I0 | ||||||
| @ -115,16 +113,16 @@ END | |||||||
| 
 | 
 | ||||||
| STRING F_CESPITE 10 | STRING F_CESPITE 10 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 55 3 "Cespite " |   PROMPT 55 4 "Cespite " | ||||||
|   FLAGS "UZ" |   FLAGS "UZ" | ||||||
|   USE &ATT |   USE &ATT | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |   JOIN LF_ANAMAG INTO CODART=CODTAB[1,20] | ||||||
|   INPUT CODTAB[1,5] F_CODART |   INPUT CODTAB[1,5] F_CODART | ||||||
|   INPUT CODTAB[6,12] F_PROGRESSIVO |   INPUT CODTAB[6,12] F_PROGRESSIVO | ||||||
|   DISPLAY "Cespite@10" S1[1,10] |   DISPLAY "Cespite@10" S1[1,10] | ||||||
|   DISPLAY "Articolo" CODTAB[1,5] |   DISPLAY "Articolo@20" S0[1,20] | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |   DISPLAY "Matr.Hardy" CODTAB | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR |   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR | ||||||
|   DISPLAY "Cliente" I0 |   DISPLAY "Cliente" I0 | ||||||
|   COPY OUTPUT F_PROGRESSIVO |   COPY OUTPUT F_PROGRESSIVO | ||||||
| @ -134,21 +132,22 @@ END | |||||||
| 
 | 
 | ||||||
| BUTTON DLG_ADD_NEW 20 1 | BUTTON DLG_ADD_NEW 20 1 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 53 5 "Nuova attrezzatura" |   PROMPT 53 6 "Nuova attrezzatura" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| TEXT DLG_NULL | TEXT DLG_NULL | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 5 "@bAttrezzature" |   PROMPT 1 6 "@bAttrezzature" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| TLIST F_ATTREZZATURE 0 6 | TLIST F_ATTREZZATURE -3 6 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 0 6 "Attrezzatura" |   PROMPT 0 7 "Attrezzatura" | ||||||
|   DISPLAY "Codice@20" CODTAB |   DISPLAY "Matr.Hardy@10" CODTAB | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Articolo@20" S0[1,20] | ||||||
|   DISPLAY "Descrizione@35" S10 |   DISPLAY "Descrizione@35" S10 | ||||||
|  |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   DISPLAY "Cespite@10" S1[1,10] |   DISPLAY "Cespite@10" S1[1,10] | ||||||
|   DISPLAY "Cliente" I0 |   DISPLAY "Cliente" I0 | ||||||
|   DISPLAY "Assegnamento" D0 |   DISPLAY "Assegnamento" D0 | ||||||
| @ -156,16 +155,16 @@ END | |||||||
| 
 | 
 | ||||||
| TEXT DLG_NULL | TEXT DLG_NULL | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 12 "@bStorico interventi" |   PROMPT 1 14 "@bStorico interventi" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| SPREADSHEET F_STORICO 0 0 | SPREADSHEET F_STORICO | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 0 13 "Storico interventi" |   PROMPT 0 15 "Storico interventi" | ||||||
|   ITEM "Tipo\nIntervento@16" |   ITEM "Tipo\nIntervento@16" | ||||||
|   ITEM "Data@10" |   ITEM "Data@10" | ||||||
|   ITEM "Note@15" |   ITEM "Note@15" | ||||||
|   ITEM "Articolo" |   ITEM "Articolo@20" | ||||||
|   ITEM "UM" |   ITEM "UM" | ||||||
|   ITEM "Quantità" |   ITEM "Quantità" | ||||||
|   ITEM "Importo@10" |   ITEM "Importo@10" | ||||||
| @ -179,6 +178,26 @@ BEGIN | |||||||
|   ITEM "Sede" |   ITEM "Sede" | ||||||
|   ITEM "Mag" |   ITEM "Mag" | ||||||
|   ITEM "Chiusa" |   ITEM "Chiusa" | ||||||
|  |   ITEM "N1@1" | ||||||
|  |   ITEM "N2@1" | ||||||
|  |   ITEM "N3@1" | ||||||
|  |   ITEM "N4@1" | ||||||
|  |   ITEM "N5@1" | ||||||
|  |   ITEM "N6@1" | ||||||
|  |   ITEM "N7@1" | ||||||
|  |   ITEM "N8@1" | ||||||
|  |   ITEM "N9@1" | ||||||
|  |   ITEM "N10@1" | ||||||
|  |   ITEM "N11@1" | ||||||
|  |   ITEM "N12@1" | ||||||
|  |   ITEM "N13@1" | ||||||
|  |   ITEM "N14@1" | ||||||
|  |   ITEM "N15@1" | ||||||
|  |   ITEM "N16@1" | ||||||
|  |   ITEM "N17@1" | ||||||
|  |   ITEM "N18@1" | ||||||
|  |   ITEM "N19@1" | ||||||
|  |   ITEM "N20@1" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| ENDPAGE | ENDPAGE | ||||||
| @ -215,12 +234,12 @@ BEGIN | |||||||
|   FIELD D0 |   FIELD D0 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING S_CODART 5 | STRING S_CODART 20 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 2 "Art. collegato " |   PROMPT 1 2 "Art." | ||||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") |   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||||
|   INPUT CODART S_CODART |   INPUT CODART S_CODART | ||||||
|   DISPLAY "Codice" CODART |   DISPLAY "Codice@20" CODART | ||||||
|   DISPLAY "Descrizione@50" DESCR |   DISPLAY "Descrizione@50" DESCR | ||||||
|   OUTPUT S_CODART CODART |   OUTPUT S_CODART CODART | ||||||
|   OUTPUT S_DESART DESCR |   OUTPUT S_DESART DESCR | ||||||
| @ -231,13 +250,13 @@ BEGIN | |||||||
|   FIELD S3 |   FIELD S3 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING S_DESART 50 | STRING S_DESART 50 45 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 25 2 "" |   PROMPT 28 2 "" | ||||||
|   USE ANAMAG KEY 2 SELECT GRMERC="50" |   USE ANAMAG KEY 2 SELECT GRMERC="50" | ||||||
|   INPUT DESCR S_DESART |   INPUT DESCR S_DESART | ||||||
|   DISPLAY "Descrizione@50" DESCR |   DISPLAY "Descrizione@50" DESCR | ||||||
|   DISPLAY "Codice" CODART |   DISPLAY "Codice@20" CODART | ||||||
|   COPY OUTPUT S_CODART |   COPY OUTPUT S_CODART | ||||||
|   GROUP 1 |   GROUP 1 | ||||||
| END | END | ||||||
| @ -435,12 +454,136 @@ BEGIN | |||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
|  | ENDPAGE | ||||||
|  | 
 | ||||||
|  | PAGE "Note" -1 -1 78 15 | ||||||
|  | 
 | ||||||
| STRING S_NOTE 70 | STRING S_NOTE 70 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 13 "Note " |   PROMPT 1 1 "Note " | ||||||
|   FIELD S0 |   FIELD S0 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
|  | BOOLEAN S_FLAG01 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 3 "Nota 1" | ||||||
|  |   FIELD S1[1,1] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG02 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 4 "Nota 2" | ||||||
|  |   FIELD S1[2,2] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG03 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 5 "Nota 3" | ||||||
|  |   FIELD S1[3,3] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG04 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 6 "Nota 4" | ||||||
|  |   FIELD S1[4,4] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG05 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 7 "Nota 5" | ||||||
|  |   FIELD S1[5,5] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG06 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 8 "Nota 6" | ||||||
|  |   FIELD S1[6,6] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG07 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 9 "Nota 7" | ||||||
|  |   FIELD S1[7,7] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG08 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 10 "Nota 8" | ||||||
|  |   FIELD S1[8,8] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG09 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 11 "Nota 9" | ||||||
|  |   FIELD S1[9,9] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG10 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 12 "Nota 10" | ||||||
|  |   FIELD S1[10,10] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG11 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 3 "Nota 11" | ||||||
|  |   FIELD S1[11,11] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG12 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 4 "Nota 12" | ||||||
|  |     FIELD S1[12,12] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG13 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 5 "Nota 13" | ||||||
|  |   FIELD S1[13,13] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG14 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 6 "Nota 14" | ||||||
|  |   FIELD S1[14,14] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG15 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 7 "Nota 15" | ||||||
|  |   FIELD S1[15,15] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG16 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 8 "Nota 16" | ||||||
|  |   FIELD S1[16,16] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG17 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 9 "Nota 17" | ||||||
|  |   FIELD S1[17,17] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG18 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 10 "Nota 18" | ||||||
|  |   FIELD S1[18,18] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG19 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 11 "Nota 19" | ||||||
|  |   FIELD S1[19,19] | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN S_FLAG20 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 31 12 "Nota 20" | ||||||
|  |   FIELD S1[20,20] | ||||||
|  | END | ||||||
|  | 
 | ||||||
| ENDPAGE | ENDPAGE | ||||||
| 
 | 
 | ||||||
| TOOLBAR "bottombar" 0 0 0 2 | TOOLBAR "bottombar" 0 0 0 2 | ||||||
|  | |||||||
| @ -2,7 +2,6 @@ | |||||||
| #define F_DESCRART        202 | #define F_DESCRART        202 | ||||||
| 
 | 
 | ||||||
| #define F_PROGRESSIVO     205 | #define F_PROGRESSIVO     205 | ||||||
| #define F_CODART_X_MATR   206 |  | ||||||
| #define F_MATRICOLA       207 | #define F_MATRICOLA       207 | ||||||
| #define F_DATA_FABBR      208 | #define F_DATA_FABBR      208 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										105
									
								
								ha/hatbatt.uml
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								ha/hatbatt.uml
									
									
									
									
									
								
							| @ -11,85 +11,73 @@ BEGIN | |||||||
|   PROMPT 1 0 "@bAttrezzatura" |   PROMPT 1 0 "@bAttrezzatura" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING F_CODART 5 | NUMBER F_PROGRESSIVO 8 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 2 1 "Articolo  "  |   PROMPT 2 1 "Matricola Hardy " | ||||||
|  |   FLAGS "UZ" | ||||||
|  |   USE &ATT | ||||||
|  |   JOIN LF_ANAMAG INTO CODART=S0[1,20] | ||||||
|  |   JOIN LF_CESPI INTO IDCESPITE=S1 | ||||||
|  |   INPUT CODTAB F_PROGRESSIVO | ||||||
|  |   DISPLAY "Matr.Hardy" CODTAB | ||||||
|  |   DISPLAY "Articolo@20" S0[1,20] | ||||||
|  |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|  |   DISPLAY "Cespite@10" S1 | ||||||
|  |   DISPLAY "Descrizione cespite@35" LF_CESPI->DESC | ||||||
|  |   DISPLAY "Note@35" S3 | ||||||
|  |   DISPLAY "Descrizione articolo@50" LF_ANAMAG->DESCR | ||||||
|  |   OUTPUT F_PROGRESSIVO CODTAB | ||||||
|  |   FIELD CODTAB | ||||||
|  |   CHECKTYPE REQUIRED | ||||||
|  |   KEY 1 | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING F_CODART 20 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 38 1 "Articolo  "  | ||||||
|   FLAGS "U"   |   FLAGS "U"   | ||||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") |   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||||
|   INPUT CODART F_CODART |   INPUT CODART F_CODART | ||||||
|   DISPLAY "Codice" CODART |   DISPLAY "Codice@20" CODART | ||||||
|   DISPLAY "Descrizione@50" DESCR |   DISPLAY "Descrizione@50" DESCR | ||||||
|   OUPUT F_CODART CODART |   OUPUT F_CODART CODART | ||||||
|   OUPUT F_DESCRART DESCR |   OUPUT F_DESCRART DESCR | ||||||
|   FIELD CODTAB[1,5] |   FIELD S0[1,20] | ||||||
|   CHECKTYPE FORCED |   CHECKTYPE FORCED | ||||||
|   MESSAGE COPY,F_CODART_X_MATR |  | ||||||
|   KEY 1 |  | ||||||
|   ADD RUN ve2 -3 |   ADD RUN ve2 -3 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING F_DESCRART 50 | STRING F_DESCRART 50 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 22 1 "" |   PROMPT 2 2 "Descrizione     " | ||||||
|   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") |   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||||
|   INPUT DESCR F_DESCRART |   INPUT DESCR F_DESCRART | ||||||
|   DISPLAY "Descrizione@50" DESCR |   DISPLAY "Descrizione@50" DESCR | ||||||
|   DISPLAY "Codice" CODART |   DISPLAY "Codice@20" CODART | ||||||
|   COPY OUTPUT F_CODART |   COPY OUTPUT F_CODART | ||||||
|   CHECKTYPE REQUIRED |   CHECKTYPE REQUIRED | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| NUMBER F_PROGRESSIVO 7 |  | ||||||
| BEGIN |  | ||||||
|   PROMPT 2 2 "Progress. " |  | ||||||
|   FLAGS "UZ" |  | ||||||
|   USE &ATT |  | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |  | ||||||
|   JOIN LF_CESPI INTO IDCESPITE=S1 |  | ||||||
|   INPUT CODTAB[1,5] F_CODART |  | ||||||
|   INPUT CODTAB[6,12] F_PROGRESSIVO |  | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |  | ||||||
|   DISPLAY "Articolo" CODTAB[1,5] |  | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |  | ||||||
|   DISPLAY "Cespite@10" S1 |  | ||||||
|   DISPLAY "Descrizione cespite@35" LF_CESPI->DESC |  | ||||||
|   DISPLAY "Note@35" S3 |  | ||||||
|   DISPLAY "Descrizione articolo@50" LF_ANAMAG->DESCR |  | ||||||
|   OUTPUT F_CODART CODTAB[1,5] |  | ||||||
|   OUTPUT F_PROGRESSIVO CODTAB[6,12] |  | ||||||
|   FIELD CODTAB[6,12] |  | ||||||
|   CHECKTYPE REQUIRED |  | ||||||
|   KEY 1 |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| //questo campo serve per poter avere le display della matricola gia' puntate sul corretto articolo |  | ||||||
| STRING F_CODART_X_MATR 5 |  | ||||||
| BEGIN |  | ||||||
|   PROMPT 40 3 "Atricolo x matricola" |  | ||||||
|   FIELD S0[1,5] |  | ||||||
|   FLAGS "H" |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| STRING F_MATRICOLA 15 | STRING F_MATRICOLA 15 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 2 3 "Matricola " |   PROMPT 2 3 "Matricola " | ||||||
|   FLAGS "U" |   FLAGS "U" | ||||||
|   USE &ATT KEY 2 |   USE &ATT KEY 2 | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |   JOIN LF_ANAMAG INTO CODART=S0[1,20] | ||||||
|   JOIN LF_CESPI INTO IDCESPITE=S1 |   JOIN LF_CESPI INTO IDCESPITE=S1 | ||||||
|   INPUT S0[1,5] F_CODART |   INPUT S0[1,20] F_CODART | ||||||
|   INPUT S0[6,20] F_MATRICOLA |   INPUT S0[21,35] F_MATRICOLA | ||||||
|   DISPLAY "Articolo@5" S0[1,5] |   DISPLAY "Articolo@20" S0[1,20] | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |   DISPLAY "Matr.Hardy" CODTAB | ||||||
|   DISPLAY "Cespite@10" S1 |   DISPLAY "Cespite@10" S1 | ||||||
|   DISPLAY "Descrizione cespite@35" LF_CESPI->DESC |   DISPLAY "Descrizione cespite@35" LF_CESPI->DESC | ||||||
|   DISPLAY "Note@35" S3 |   DISPLAY "Note@35" S3 | ||||||
|   DISPLAY "Descrizione articolo@50" LF_ANAMAG->DESCR |   DISPLAY "Descrizione articolo@50" LF_ANAMAG->DESCR | ||||||
|   COPY OUTPUT F_PROGRESSIVO |   COPY OUTPUT F_PROGRESSIVO | ||||||
|   OUTPUT F_MATRICOLA S0[6,20] |   OUTPUT F_MATRICOLA S0[21,35] | ||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
|   FIELD S0[6,20] |   FIELD S0[21,35] | ||||||
|   KEY 2 |   KEY 2 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| @ -128,14 +116,14 @@ BEGIN | |||||||
|   FLAGS "UZ" |   FLAGS "UZ" | ||||||
|   USE &ATT |   USE &ATT | ||||||
|   JOIN LF_CESPI INTO IDCESPITE=S1 |   JOIN LF_CESPI INTO IDCESPITE=S1 | ||||||
|   JOIN LF_ANAMAG INTO CODART=CODTAB[1,5] |   JOIN LF_ANAMAG INTO CODART=S0[1,20] | ||||||
|   INPUT S1[1,10] F_CESPITE_SEARCH |   INPUT S1[1,10] F_CESPITE_SEARCH | ||||||
|   DISPLAY "Cespite@10" S1 |   DISPLAY "Cespite@10" S1 | ||||||
|   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC |   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC | ||||||
|   DISPLAY "Note@35" S3 |   DISPLAY "Note@35" S3 | ||||||
|   DISPLAY "Articolo" CODTAB[1,5] |   DISPLAY "Articolo" S0[1,20] | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |   DISPLAY "Matr.Hardy" CODTAB | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   COPY OUTPUT F_PROGRESSIVO |   COPY OUTPUT F_PROGRESSIVO | ||||||
|   OUTPUT F_CESPITE_SEARCH S1 |   OUTPUT F_CESPITE_SEARCH S1 | ||||||
|   OUTPUT F_DESC_CES_SEARCH LF_CESPI->DESC |   OUTPUT F_DESC_CES_SEARCH LF_CESPI->DESC | ||||||
| @ -155,9 +143,9 @@ BEGIN | |||||||
|   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC |   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC | ||||||
|   DISPLAY "Cespite@10" S1 |   DISPLAY "Cespite@10" S1 | ||||||
|   DISPLAY "Note@35" S3 |   DISPLAY "Note@35" S3 | ||||||
|   DISPLAY "Articolo" CODTAB[1,5] |   DISPLAY "Articolo" S0[1,20] | ||||||
|   DISPLAY "Progressivo" CODTAB[6,12] |   DISPLAY "Matr.Hardy" CODTAB | ||||||
|   DISPLAY "Matricola@15" S0[6,20] |   DISPLAY "Matricola@15" S0[21,35] | ||||||
|   COPY OUTPUT F_CESPITE_SEARCH*/ |   COPY OUTPUT F_CESPITE_SEARCH*/ | ||||||
|   GROUP 2 |   GROUP 2 | ||||||
| END | END | ||||||
| @ -260,11 +248,10 @@ ENDMASK | |||||||
| /* | /* | ||||||
| Mappa campi sul file TABMOD (tabella &ATT): | Mappa campi sul file TABMOD (tabella &ATT): | ||||||
| ------------------------------------------- | ------------------------------------------- | ||||||
| CODTAB[1,5]   = codart (A) | CODTAB = Matricola Hardy (N8 z) | ||||||
| CODTAB[6,12]  = progressivo (N z) | S0[1,20]  = codart per matricola (A20) | ||||||
| S0[1,5]  = codart per matricola (A) | S0[21,35] = matricola fornitore (A15) | ||||||
| S0[6,20] = matricola (A) | S1[1,10] = codice cespite (A10) | ||||||
| S1[1,10] = codice cespite (A) |  | ||||||
| S3 = descrizione aggiuntiva cespite (da importazione iniziale dati Hardy) | S3 = descrizione aggiuntiva cespite (da importazione iniziale dati Hardy) | ||||||
| I0 = codice cliente | I0 = codice cliente | ||||||
| I1 = codice indirizzo spedizione | I1 = codice indirizzo spedizione | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user