From 077cb844e9ca08b61ab1e23dbfaba341f080bcd6 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 24 Feb 2012 14:57:04 +0000 Subject: [PATCH] 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 --- ha/ha0500.cpp | 4 +- ha/ha3800.cpp | 28 +++--- ha/ha3900.cpp | 95 +++++++------------ ha/ha3900a.h | 28 +++++- ha/ha3900a.uml | 249 ++++++++++++++++++++++++++++++++++++++----------- ha/hatbatt.h | 1 - ha/hatbatt.uml | 105 +++++++++------------ 7 files changed, 314 insertions(+), 196 deletions(-) diff --git a/ha/ha0500.cpp b/ha/ha0500.cpp index bf868557b..32d88fea6 100755 --- a/ha/ha0500.cpp +++ b/ha/ha0500.cpp @@ -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'; diff --git a/ha/ha3800.cpp b/ha/ha3800.cpp index 70fe6a009..8af1a0d6b 100755 --- a/ha/ha3800.cpp +++ b/ha/ha3800.cpp @@ -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 || .. diff --git a/ha/ha3900.cpp b/ha/ha3900.cpp index 70f3b3a60..5b2702250 100755 --- a/ha/ha3900.cpp +++ b/ha/ha3900.cpp @@ -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); } diff --git a/ha/ha3900a.h b/ha/ha3900a.h index 962cb792f..af8ef96cf 100755 --- a/ha/ha3900a.h +++ b/ha/ha3900a.h @@ -27,15 +27,37 @@ #define S_BOL_OPEN_CODNUM 109 #define S_BOL_OPEN_NDOC 110 -#define S_BOL_CLOSE_ANNO 111 -#define S_BOL_CLOSE_CODNUM 112 -#define S_BOL_CLOSE_NDOC 113 +#define S_BOL_CLOSE_ANNO 111 +#define S_BOL_CLOSE_CODNUM 112 +#define S_BOL_CLOSE_NDOC 113 #define S_CODCF 114 #define S_INDSPED 115 #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 diff --git a/ha/ha3900a.uml b/ha/ha3900a.uml index 47c0a54da..6bcf91ccc 100755 --- a/ha/ha3900a.uml +++ b/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 diff --git a/ha/hatbatt.h b/ha/hatbatt.h index 17daa699e..ef568f758 100755 --- a/ha/hatbatt.h +++ b/ha/hatbatt.h @@ -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 diff --git a/ha/hatbatt.uml b/ha/hatbatt.uml index 660ec34d7..3af7d1bce 100755 --- a/ha/hatbatt.uml +++ b/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