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(); | ||||
|     //solo in caso di elaborazione definitiva si scrivono NAC di tipo D; sennò di tipo P, che sono uccidibili..
 | ||||
|     //..all'inizio di ogni nuova elaborazione
 | ||||
|     //solo in caso di elaborazione definitiva si scrivono NAC di tipo D; 
 | ||||
|     //sennò di tipo P, che sono uccidibili all'inizio di ogni nuova elaborazione
 | ||||
|     char provv = 'P'; | ||||
|     if (definitivo) | ||||
|       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 TString& codart = rdoc_recset.get(RDOC_CODART).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"); | ||||
|         tab_att.setkey(2); | ||||
|         tab_att.put("S0", str_s0); | ||||
|         tab_att.put("CODTAB", matricola); | ||||
|         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)
 | ||||
|         if (err != NOERR) | ||||
|         { | ||||
|           codtab = hd_get_next_att_key(codart); | ||||
|           tab_att.put("CODTAB", codtab); | ||||
|           tab_att.put("S0", str_s0); | ||||
|           TString msg; | ||||
|           msg << "Articolo " << codart << " senza matricola sul documento " << doc_codnum << " " << doc_anno << "/" << doc_ndoc; | ||||
|           log.log(1, msg);  | ||||
|           continue; | ||||
|         } | ||||
|         //comunque deve scrivere il cliente e la data perchè è un'apertura quindi la macchina è assegnata..
 | ||||
|         //..al cliente con questo documento
 | ||||
| @ -193,8 +189,7 @@ void TInserimento_storico::elabora(const TMask& mask) | ||||
|         query_his << "\nFROM CODTAB=#CODTAB"; | ||||
|         query_his << "\nTO CODTAB=#CODTAB"; | ||||
|         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", codtab); | ||||
|         recset_his.set_var("#CODTAB", matricola); | ||||
| 
 | ||||
|         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; | ||||
| 
 | ||||
|           //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.write(); | ||||
|           new_codtab.cut(0); | ||||
|         } | ||||
| 
 | ||||
|         //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); | ||||
|          | ||||
|         //ed aggiunge tutti i campi
 | ||||
| @ -282,8 +277,9 @@ void TInserimento_storico::elabora(const TMask& mask) | ||||
|         if (written == NOERR) | ||||
|         { | ||||
|           TString msg; | ||||
|           msg.format("%4d%1s%4s%1s%7d%2s%12s%2s%-15s%2s%6d", doc_anno, "-", (const char*)doc_codnum, "-", doc_ndoc, "--",  | ||||
|                                                            (const char*)codtab, "--", (const char*)matricola, "--", doc_clifo); | ||||
|           msg.format("%4d-%4s/%7d--%s--%s--%6d",  | ||||
|                      doc_anno, (const char*)doc_codnum, doc_ndoc,  | ||||
|                      (const char*)new_codtab, (const char*)matricola, doc_clifo); | ||||
|           log.log(0, msg); | ||||
|         } | ||||
|       } //if (caus==caus_open || ..
 | ||||
|  | ||||
| @ -24,7 +24,7 @@ class TCoffee_tree : public TBidirectional_tree | ||||
|   TString8 _curr_node; | ||||
|   long _codcf; | ||||
|   long _progressivo; | ||||
|   TString8 _codart; | ||||
|   TString80 _codart; | ||||
|   TString16 _matricola, _cespite; | ||||
|   TISAM_recordset _recset; | ||||
|    | ||||
| @ -51,11 +51,11 @@ public: | ||||
| public: | ||||
|   bool set_clifo(long codcf); | ||||
|   bool select_attr(const TString& codart, const long progressivo); | ||||
|   const long get_codcf() const; | ||||
|   const TString& get_codart() const; | ||||
|   const long get_progressivo() const; | ||||
|   const TString& get_matricola() const; | ||||
|   const TString& get_cespite() const; | ||||
|   const long get_codcf() const { return _codcf; } | ||||
|   const TString& get_codart() const { return _codart; } | ||||
|   const long get_progressivo() const { return _progressivo; } | ||||
|   const TString& get_matricola() const { return _matricola; } | ||||
|   const TString& get_cespite() const { return _cespite; } | ||||
|   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
 | ||||
|   if (name == "S10") | ||||
|   { | ||||
|     TString8 codart = _recset.get("CODTAB[1,5]").as_string(); | ||||
|     codart.trim(); | ||||
|     TString80 codart = _recset.get("S0").as_string(); | ||||
|     codart.cut(20); | ||||
|     var = cache().get(LF_ANAMAG, codart, ANAMAG_DESCR); | ||||
|   } | ||||
|   else | ||||
| @ -135,35 +135,11 @@ TFieldtypes TCoffee_tree::get_var(const TString& name, TVariant& var) const | ||||
|   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) | ||||
| { | ||||
|   TWait_cursor hourglass; | ||||
|   _codcf = codcf; | ||||
|   TString query; | ||||
|   TString80 query; | ||||
|   query << "USE &ATT\nSELECT I0=" << codcf;  | ||||
|   _recset.set(query); | ||||
|   return goto_root(); | ||||
| @ -174,18 +150,18 @@ bool TCoffee_tree::select_attr(const TString& codart, const long progressivo) | ||||
|   bool found = false; | ||||
|   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(); | ||||
|     if (curr_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) | ||||
|       { | ||||
|         _curr_node.format("%ld", _recset.current_row()); | ||||
|         found = true; | ||||
|         _progressivo = progressivo; | ||||
|         _matricola = _recset.get("S0[6,20]").as_string(); | ||||
|         _matricola = _recset.get("S0[21,35]").as_string(); | ||||
|         _cespite = _recset.get("S1").as_string(); | ||||
|         break; | ||||
|       } | ||||
| @ -240,6 +216,8 @@ public: | ||||
| //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) | ||||
| { | ||||
|   TWait_cursor hourglass; | ||||
| 
 | ||||
|   //riempie lo sheet dello storico in base all'attrezzatura scelta nell'albero
 | ||||
|   TString query; | ||||
|   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.show(); | ||||
|   sf_righe.force_update(); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -301,7 +278,7 @@ bool TGestione_attrezzature_mask::write() | ||||
|   if (ct == NULL) | ||||
|     return false; | ||||
| 
 | ||||
|   const TString& codart = ct->get_codart(); | ||||
| //  const TString& codart = ct->get_codart();
 | ||||
|   const long progressivo = ct->get_progressivo(); | ||||
| 
 | ||||
|   TSheet_field& sf_righe = sfield(F_STORICO); | ||||
| @ -310,9 +287,6 @@ bool TGestione_attrezzature_mask::write() | ||||
|   //tabella di modulo con lo storico interventi
 | ||||
|   TModule_table his("&HIS"); | ||||
|   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
 | ||||
|   int righe_tot = 0; | ||||
| @ -325,8 +299,8 @@ bool TGestione_attrezzature_mask::write() | ||||
|     //per prima cosa mette la chiave del record che è così fatta:
 | ||||
|     // codart=codtab[1,5] - progressivo=codtab[6,12] - nriga=codtab[31,35]
 | ||||
|     TString80 curr_codtab; | ||||
|     curr_codtab.format("%05d", sf_righe.items() - r); | ||||
|     curr_codtab.insert(codtab); | ||||
|     curr_codtab.format("%08ld%05d", progressivo, sf_righe.items() - r); | ||||
|      | ||||
|     //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
 | ||||
|     his.zero(); | ||||
| @ -354,8 +328,8 @@ bool TGestione_attrezzature_mask::write() | ||||
|   query << "\nTO CODTAB=#AATTR"; | ||||
|   TISAM_recordset recset(query); | ||||
|   TString80 daattr, aattr; | ||||
|   daattr.format("%s%05d", (const char*)codtab, righe_tot + 1); | ||||
|   aattr.format("%s%05d", (const char*)codtab, 99999); | ||||
|   daattr.format("%08ld%05d", progressivo, righe_tot + 1); | ||||
|   aattr.format("%08ld%05d", progressivo, 99999); | ||||
|   recset.set_var("#DAATTR", daattr);  | ||||
|   recset.set_var("#AATTR", aattr); | ||||
|   //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(); | ||||
|       if (ct != NULL) | ||||
|       { | ||||
|         TString80 codattr; | ||||
|         ct->get_description(codattr); | ||||
| 
 | ||||
|         //riempie i campi di intestazione maschera
 | ||||
|         set(F_CODART, codattr.left(5)); | ||||
|         set(F_PROGRESSIVO, codattr.mid(5,7)); | ||||
|         TVariant str;  | ||||
|         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); | ||||
|         //chiede di salvare le modifiche al cambio attrezzatura
 | ||||
|         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_CESPITE, ct->get_cespite()); | ||||
|         //riempie lo sheet
 | ||||
|         fill_sheet_storico(codattr); | ||||
|         fill_sheet_storico(str.as_string()); | ||||
|       } | ||||
|     } | ||||
|     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) | ||||
|         return warning_box(TR("E' necessario compilare articolo e progressivo per aggiungere una nuova attrezzatura!")); | ||||
|      | ||||
|       TString80 codtab; | ||||
|       const TString& codart = get(F_CODART); | ||||
|       const long progressivo = get_long(F_PROGRESSIVO); | ||||
|       codtab.format("%-5s%07d", (const char*)codart, progressivo); | ||||
|       const TString& codtab = get(F_PROGRESSIVO); | ||||
|       //2) controllo effettiva "nuovezza" dell'attrezzatura..
 | ||||
|       //...se l'utonto tentasse di inserire come nuova un'attrezzatura già esistente va cazziato!
 | ||||
|       TModule_table tab_att("&ATT"); | ||||
|       tab_att.put("CODTAB", codtab); | ||||
|       const int err = tab_att.read(); | ||||
|       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
 | ||||
|       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("I0", get(F_CODCF)); | ||||
|         ini.set("D0", TDate(TODAY)); | ||||
|         TString matricola; | ||||
|         matricola.format("%-5s%-15s", (const char*)get(F_CODART), (const char*)get(F_MATRICOLA)); | ||||
|         TString80 matricola; | ||||
|         matricola.format("%-20s%-15s", (const char*)get(F_CODART), (const char*)get(F_MATRICOLA)); | ||||
|         ini.set("S0", matricola); | ||||
|         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 TString& cespite = ini.get("S1"); | ||||
|           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..
 | ||||
|           //....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.")); | ||||
|            | ||||
|           set(F_CODCF, codcf, true); | ||||
|           set(F_CODART, codtab.left(5), true); | ||||
|           set(F_PROGRESSIVO, codtab.mid(5,7), true); | ||||
|           set(F_CODART, full_matricola.left(20), true); | ||||
|           set(F_PROGRESSIVO, codtab, true); | ||||
|           set(F_MATRICOLA, matricola); | ||||
|           set(F_CESPITE, cespite); | ||||
|         } | ||||
|  | ||||
							
								
								
									
										22
									
								
								ha/ha3900a.h
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								ha/ha3900a.h
									
									
									
									
									
								
							| @ -36,6 +36,28 @@ | ||||
| #define S_CODMAG        116 | ||||
| #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_DESCF         154 | ||||
| #define S_DESCINDSPED   155 | ||||
|  | ||||
							
								
								
									
										249
									
								
								ha/ha3900a.uml
									
									
									
									
									
								
							
							
						
						
									
										249
									
								
								ha/ha3900a.uml
									
									
									
									
									
								
							| @ -14,7 +14,7 @@ ENDPAGE | ||||
| 
 | ||||
| PAGE "Gestione attrezzature" 0 2 0 0 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 79 5 | ||||
| GROUPBOX DLG_NULL 79 6 | ||||
| BEGIN | ||||
|   PROMPT 1 0 "@bParametri" | ||||
| END | ||||
| @ -22,7 +22,6 @@ END | ||||
| NUMBER F_CODCF 6 | ||||
| BEGIN | ||||
|   PROMPT 2 1 "Cliente  " | ||||
|   FLAGS "R" | ||||
|   USE LF_CLIFO | ||||
|   INPUT TIPOCF "C" | ||||
|   INPUT CODCF F_CODCF | ||||
| @ -49,9 +48,29 @@ BEGIN | ||||
|   CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| STRING F_CODART 5 | ||||
| NUMBER F_PROGRESSIVO 8 | ||||
| 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"   | ||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||
|   INPUT CODART F_CODART | ||||
| @ -65,7 +84,7 @@ END | ||||
| 
 | ||||
| STRING F_DESART 50 | ||||
| BEGIN | ||||
|   PROMPT 23 2 "" | ||||
|   PROMPT 2 3 "Descrizione          " | ||||
|   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||
|   INPUT DESCR F_DESART | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
| @ -74,38 +93,17 @@ BEGIN | ||||
|   CHECKTYPE NORMAL | ||||
| 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 | ||||
| BEGIN | ||||
|   PROMPT 24 3 "Matricola " | ||||
|   PROMPT 2 4 "Matricola Fornitore  " | ||||
|   FLAGS "U" | ||||
|   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[6,20] F_MATRICOLA | ||||
|   DISPLAY "Codice@5" S0[1,5] | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   DISPLAY "Progressivo" CODTAB[6,12] | ||||
|   DISPLAY "Codice@20" S0[1,20] | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   DISPLAY "Matr. Hardy" CODTAB | ||||
|   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR | ||||
|   DISPLAY "Cespite@10" S1[1,10] | ||||
|   DISPLAY "Cliente" I0 | ||||
| @ -115,16 +113,16 @@ END | ||||
| 
 | ||||
| STRING F_CESPITE 10 | ||||
| BEGIN | ||||
|   PROMPT 55 3 "Cespite " | ||||
|   PROMPT 55 4 "Cespite " | ||||
|   FLAGS "UZ" | ||||
|   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[6,12] F_PROGRESSIVO | ||||
|   DISPLAY "Cespite@10" S1[1,10] | ||||
|   DISPLAY "Articolo" CODTAB[1,5] | ||||
|   DISPLAY "Progressivo" CODTAB[6,12] | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   DISPLAY "Articolo@20" S0[1,20] | ||||
|   DISPLAY "Matr.Hardy" CODTAB | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   DISPLAY "Descrizione@50" LF_ANAMAG->DESCR | ||||
|   DISPLAY "Cliente" I0 | ||||
|   COPY OUTPUT F_PROGRESSIVO | ||||
| @ -134,21 +132,22 @@ END | ||||
| 
 | ||||
| BUTTON DLG_ADD_NEW 20 1 | ||||
| BEGIN | ||||
|   PROMPT 53 5 "Nuova attrezzatura" | ||||
|   PROMPT 53 6 "Nuova attrezzatura" | ||||
| END | ||||
| 
 | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 1 5 "@bAttrezzature" | ||||
|   PROMPT 1 6 "@bAttrezzature" | ||||
| END | ||||
| 
 | ||||
| TLIST F_ATTREZZATURE 0 6 | ||||
| TLIST F_ATTREZZATURE -3 6 | ||||
| BEGIN | ||||
|   PROMPT 0 6 "Attrezzatura" | ||||
|   DISPLAY "Codice@20" CODTAB | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   PROMPT 0 7 "Attrezzatura" | ||||
|   DISPLAY "Matr.Hardy@10" CODTAB | ||||
|   DISPLAY "Articolo@20" S0[1,20] | ||||
|   DISPLAY "Descrizione@35" S10 | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   DISPLAY "Cespite@10" S1[1,10] | ||||
|   DISPLAY "Cliente" I0 | ||||
|   DISPLAY "Assegnamento" D0 | ||||
| @ -156,16 +155,16 @@ END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 1 12 "@bStorico interventi" | ||||
|   PROMPT 1 14 "@bStorico interventi" | ||||
| END | ||||
| 
 | ||||
| SPREADSHEET F_STORICO 0 0 | ||||
| SPREADSHEET F_STORICO | ||||
| BEGIN | ||||
|   PROMPT 0 13 "Storico interventi" | ||||
|   PROMPT 0 15 "Storico interventi" | ||||
|   ITEM "Tipo\nIntervento@16" | ||||
|   ITEM "Data@10" | ||||
|   ITEM "Note@15" | ||||
|   ITEM "Articolo" | ||||
|   ITEM "Articolo@20" | ||||
|   ITEM "UM" | ||||
|   ITEM "Quantità" | ||||
|   ITEM "Importo@10" | ||||
| @ -179,6 +178,26 @@ BEGIN | ||||
|   ITEM "Sede" | ||||
|   ITEM "Mag" | ||||
|   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 | ||||
| 
 | ||||
| ENDPAGE | ||||
| @ -215,12 +234,12 @@ BEGIN | ||||
|   FIELD D0 | ||||
| END | ||||
| 
 | ||||
| STRING S_CODART 5 | ||||
| STRING S_CODART 20 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Art. collegato " | ||||
|   PROMPT 1 2 "Art." | ||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||
|   INPUT CODART S_CODART | ||||
|   DISPLAY "Codice" CODART | ||||
|   DISPLAY "Codice@20" CODART | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUTPUT S_CODART CODART | ||||
|   OUTPUT S_DESART DESCR | ||||
| @ -231,13 +250,13 @@ BEGIN | ||||
|   FIELD S3 | ||||
| END | ||||
| 
 | ||||
| STRING S_DESART 50 | ||||
| STRING S_DESART 50 45 | ||||
| BEGIN | ||||
|   PROMPT 25 2 "" | ||||
|   PROMPT 28 2 "" | ||||
|   USE ANAMAG KEY 2 SELECT GRMERC="50" | ||||
|   INPUT DESCR S_DESART | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   DISPLAY "Codice" CODART | ||||
|   DISPLAY "Codice@20" CODART | ||||
|   COPY OUTPUT S_CODART | ||||
|   GROUP 1 | ||||
| END | ||||
| @ -435,12 +454,136 @@ BEGIN | ||||
|   CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Note" -1 -1 78 15 | ||||
| 
 | ||||
| STRING S_NOTE 70 | ||||
| BEGIN | ||||
|   PROMPT 1 13 "Note " | ||||
|   PROMPT 1 1 "Note " | ||||
|   FIELD S0 | ||||
| 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 | ||||
| 
 | ||||
| TOOLBAR "bottombar" 0 0 0 2 | ||||
|  | ||||
| @ -2,7 +2,6 @@ | ||||
| #define F_DESCRART        202 | ||||
| 
 | ||||
| #define F_PROGRESSIVO     205 | ||||
| #define F_CODART_X_MATR   206 | ||||
| #define F_MATRICOLA       207 | ||||
| #define F_DATA_FABBR      208 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										105
									
								
								ha/hatbatt.uml
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								ha/hatbatt.uml
									
									
									
									
									
								
							| @ -11,85 +11,73 @@ BEGIN | ||||
|   PROMPT 1 0 "@bAttrezzatura" | ||||
| END | ||||
| 
 | ||||
| STRING F_CODART 5 | ||||
| NUMBER F_PROGRESSIVO 8 | ||||
| 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"   | ||||
|   USE LF_ANAMAG SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||
|   INPUT CODART F_CODART | ||||
|   DISPLAY "Codice" CODART | ||||
|   DISPLAY "Codice@20" CODART | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUPUT F_CODART CODART | ||||
|   OUPUT F_DESCRART DESCR | ||||
|   FIELD CODTAB[1,5] | ||||
|   FIELD S0[1,20] | ||||
|   CHECKTYPE FORCED | ||||
|   MESSAGE COPY,F_CODART_X_MATR | ||||
|   KEY 1 | ||||
|   ADD RUN ve2 -3 | ||||
| END | ||||
| 
 | ||||
| STRING F_DESCRART 50 | ||||
| BEGIN | ||||
|   PROMPT 22 1 "" | ||||
|   PROMPT 2 2 "Descrizione     " | ||||
|   USE LF_ANAMAG KEY 2 SELECT (GRMERC="50")&&(SOSPESO!="X") | ||||
|   INPUT DESCR F_DESCRART | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   DISPLAY "Codice" CODART | ||||
|   DISPLAY "Codice@20" CODART | ||||
|   COPY OUTPUT F_CODART | ||||
|   CHECKTYPE REQUIRED | ||||
| 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 | ||||
| BEGIN | ||||
|   PROMPT 2 3 "Matricola " | ||||
|   FLAGS "U" | ||||
|   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 | ||||
|   INPUT S0[1,5] F_CODART | ||||
|   INPUT S0[6,20] F_MATRICOLA | ||||
|   DISPLAY "Articolo@5" S0[1,5] | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   DISPLAY "Progressivo" CODTAB[6,12] | ||||
|   INPUT S0[1,20] F_CODART | ||||
|   INPUT S0[21,35] F_MATRICOLA | ||||
|   DISPLAY "Articolo@20" S0[1,20] | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   DISPLAY "Matr.Hardy" CODTAB | ||||
|   DISPLAY "Cespite@10" S1 | ||||
|   DISPLAY "Descrizione cespite@35" LF_CESPI->DESC | ||||
|   DISPLAY "Note@35" S3 | ||||
|   DISPLAY "Descrizione articolo@50" LF_ANAMAG->DESCR | ||||
|   COPY OUTPUT F_PROGRESSIVO | ||||
|   OUTPUT F_MATRICOLA S0[6,20] | ||||
|   OUTPUT F_MATRICOLA S0[21,35] | ||||
|   CHECKTYPE NORMAL | ||||
|   FIELD S0[6,20] | ||||
|   FIELD S0[21,35] | ||||
|   KEY 2 | ||||
| END | ||||
| 
 | ||||
| @ -128,14 +116,14 @@ BEGIN | ||||
|   FLAGS "UZ" | ||||
|   USE &ATT | ||||
|   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 | ||||
|   DISPLAY "Cespite@10" S1 | ||||
|   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC | ||||
|   DISPLAY "Note@35" S3 | ||||
|   DISPLAY "Articolo" CODTAB[1,5] | ||||
|   DISPLAY "Progressivo" CODTAB[6,12] | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   DISPLAY "Articolo" S0[1,20] | ||||
|   DISPLAY "Matr.Hardy" CODTAB | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   COPY OUTPUT F_PROGRESSIVO | ||||
|   OUTPUT F_CESPITE_SEARCH S1 | ||||
|   OUTPUT F_DESC_CES_SEARCH LF_CESPI->DESC | ||||
| @ -155,9 +143,9 @@ BEGIN | ||||
|   DISPLAY "Descrizione cespite@50" LF_CESPI->DESC | ||||
|   DISPLAY "Cespite@10" S1 | ||||
|   DISPLAY "Note@35" S3 | ||||
|   DISPLAY "Articolo" CODTAB[1,5] | ||||
|   DISPLAY "Progressivo" CODTAB[6,12] | ||||
|   DISPLAY "Matricola@15" S0[6,20] | ||||
|   DISPLAY "Articolo" S0[1,20] | ||||
|   DISPLAY "Matr.Hardy" CODTAB | ||||
|   DISPLAY "Matricola@15" S0[21,35] | ||||
|   COPY OUTPUT F_CESPITE_SEARCH*/ | ||||
|   GROUP 2 | ||||
| END | ||||
| @ -260,11 +248,10 @@ ENDMASK | ||||
| /* | ||||
| Mappa campi sul file TABMOD (tabella &ATT): | ||||
| ------------------------------------------- | ||||
| CODTAB[1,5]   = codart (A) | ||||
| CODTAB[6,12]  = progressivo (N z) | ||||
| S0[1,5]  = codart per matricola (A) | ||||
| S0[6,20] = matricola (A) | ||||
| S1[1,10] = codice cespite (A) | ||||
| CODTAB = Matricola Hardy (N8 z) | ||||
| S0[1,20]  = codart per matricola (A20) | ||||
| S0[21,35] = matricola fornitore (A15) | ||||
| S1[1,10] = codice cespite (A10) | ||||
| S3 = descrizione aggiuntiva cespite (da importazione iniziale dati Hardy) | ||||
| I0 = codice cliente | ||||
| I1 = codice indirizzo spedizione | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user