diff --git a/build/ve5.vcxproj b/build/ve5.vcxproj
index 5cd6deb09..358551a5d 100644
--- a/build/ve5.vcxproj
+++ b/build/ve5.vcxproj
@@ -191,7 +191,10 @@
%(AdditionalIncludeDirectories)
%(PreprocessorDefinitions)
-
+
+ false
+
+
@@ -201,6 +204,7 @@
+
@@ -210,6 +214,7 @@
+
diff --git a/build/ve5.vcxproj.filters b/build/ve5.vcxproj.filters
index 569a335c0..e788cc44e 100644
--- a/build/ve5.vcxproj.filters
+++ b/build/ve5.vcxproj.filters
@@ -39,6 +39,9 @@
Sources
+
+ Sources
+
@@ -62,6 +65,9 @@
Masks
+
+ Masks
+
@@ -85,6 +91,9 @@
Headers
+
+ Headers
+
diff --git a/src/ve/ve0100.cpp b/src/ve/ve0100.cpp
index 744a67bbe..ff3285f6e 100755
--- a/src/ve/ve0100.cpp
+++ b/src/ve/ve0100.cpp
@@ -473,6 +473,9 @@ void TMotore_application::do_elab( TDocumento& doc, int when) // C 90
case _contabilizzazione_analitica :
el = new TContabilizzazione_analitica(eld);
break;
+ case _raggruppamento_documento:
+ el = new TRaggruppamento_documento(eld);
+ break;
default :
break;
}
diff --git a/src/ve/ve5.cpp b/src/ve/ve5.cpp
index 99003d3d2..28954ae44 100755
--- a/src/ve/ve5.cpp
+++ b/src/ve/ve5.cpp
@@ -13,6 +13,7 @@ int main(int argc, char** argv)
case 4 : ve5500(argc, argv); break; // Compatta documenti
case 5 : ve5600(argc, argv); break; // recupero testate documenti
case 6 : ve5700(argc, argv); break; // Cambiamento tipo documenti fp (TD01, ...)
+ case 7 : ve5800(argc, argv); break; // Raggruppamento documenti
default: ve5100(argc, argv); break; // Cancella documenti
}
return 0;
diff --git a/src/ve/ve5.h b/src/ve/ve5.h
index 133e5ed28..fa9fd88ba 100755
--- a/src/ve/ve5.h
+++ b/src/ve/ve5.h
@@ -8,6 +8,7 @@ int ve5400(int argc, char* argv[]);
int ve5500(int argc, char* argv[]);
int ve5600(int argc, char* argv[]);
int ve5700(int argc, char* argv[]);
+int ve5800(int argc, char* argv[]);
#endif
diff --git a/src/ve/ve5800.cpp b/src/ve/ve5800.cpp
new file mode 100644
index 000000000..91fbefa5d
--- /dev/null
+++ b/src/ve/ve5800.cpp
@@ -0,0 +1,109 @@
+#include "ve5.h"
+#include "velib.h"
+#include "ve5800a.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#include "velib04.h"
+#include "../mg/mglib.h"
+
+///////////////////////////////////////////////////////////
+// Maschera principale
+///////////////////////////////////////////////////////////
+
+class TRaggruppamento_documenti_mask : public TAutomask
+{
+protected:
+ virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
+
+public:
+ TRaggruppamento_documenti_mask() : TAutomask("ve5800a") {}
+ virtual ~TRaggruppamento_documenti_mask() {}
+};
+
+bool TRaggruppamento_documenti_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
+{
+ switch (o.dlg())
+ {
+ case DLG_SAVEREC:
+ if (e == fe_button)
+ stop_run(K_AUTO_ENTER);
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+///////////////////////////////////////////////////////////
+// Applicazione principale
+///////////////////////////////////////////////////////////
+
+class TRaggruppamento_documenti : public TSkeleton_application
+{
+public:
+ void raggruppa_doc(const TMask & m);
+ virtual void main_loop();
+};
+
+void TRaggruppamento_documenti::raggruppa_doc(const TMask & m)
+{
+ TRaggruppamento_documento ragg(m.get(F_CODICE_ELAB));
+ TLista_documenti doc_ingresso;
+ TLista_documenti doc_uscita;
+ TToken_string tipi_iniziali;
+ TToken_string stati_iniziali;
+ TString numerazione_iniziale = ragg.codice_numerazione_iniziale();
+ const int anno = m.get_int(F_ANNO);
+ const long dal_ndoc = m.get_long(F_FRNDOC);
+ const long al_ndoc = m.get_long(F_TONDOC);
+
+ ragg.tipi_stati_iniziali(tipi_iniziali, stati_iniziali);
+
+ if (doc_ingresso.read('D', ' ', 0L, anno, tipi_iniziali, stati_iniziali,
+ nulldate, nulldate, numerazione_iniziale, dal_ndoc, al_ndoc) > 0)
+ {
+ if (ragg.elabora(doc_ingresso, doc_uscita, today))
+ {
+ if (doc_uscita.write(true) == NOERR)
+ {
+ if (doc_ingresso.rewrite() != NOERR)
+ fatal_box(TR("Errore nella scrittura documenti d'ingresso"));
+ }
+ else
+ fatal_box(TR("Errore nella scrittura documenti di destinazione"));
+ }
+
+ }
+}
+
+void TRaggruppamento_documenti::main_loop()
+{
+ open_files(LF_TAB, LF_TABCOM, LF_DOC, LF_RIGHEDOC, LF_MOVMAG, NULL);
+ open_files(LF_ANAMAG, LF_CLIFO, LF_CFVEN, LF_OCCAS, LF_RMOVMAG, NULL);
+
+ TRaggruppamento_documenti_mask m;
+
+ m.set(F_CODDITTA, prefix().get_codditta(), true);
+ while (m.run()==K_ENTER)
+ raggruppa_doc(m);
+}
+
+int ve5800(int argc, char** argv)
+{
+ TRaggruppamento_documenti app;
+
+ app.run(argc, argv, TR("Raggruppamento documenti"));
+ return 0;
+}
diff --git a/src/ve/ve5800a.h b/src/ve/ve5800a.h
new file mode 100644
index 000000000..ef29bc813
--- /dev/null
+++ b/src/ve/ve5800a.h
@@ -0,0 +1,8 @@
+#define F_CODICE_ELAB 101
+#define F_DESC_ELAB 102
+#define F_ANNO 103
+#define F_TIPI_DOC 104
+#define F_FRNDOC 105
+#define F_TONDOC 106
+#define F_CODDITTA 107
+#define F_RAGSOCDITTA 108
\ No newline at end of file
diff --git a/src/ve/ve5800a.uml b/src/ve/ve5800a.uml
new file mode 100644
index 000000000..6ae6b836d
--- /dev/null
+++ b/src/ve/ve5800a.uml
@@ -0,0 +1,101 @@
+#include "ve5800a.h"
+
+TOOLBAR "topbar" 0 0 0 2
+#include
+ENDPAGE
+
+PAGE "Copia Documenti" 0 0 0 0
+
+GROUPBOX DLG_NULL 78 3
+BEGIN
+ PROMPT 1 1 "@bDitta"
+END
+
+NUMBER F_CODDITTA 5
+BEGIN
+ PROMPT 2 2 "Codice "
+ FLAGS "FD"
+ USE LF_NDITTE
+ CHECKTYPE NORMAL
+ INPUT CODDITTA F_CODDITTA
+ OUTPUT F_RAGSOCDITTA RAGSOC
+END
+
+STRING F_RAGSOCDITTA 50
+BEGIN
+ PROMPT 17 2 "Ragione "
+ FLAGS "D"
+END
+
+GROUPBOX DLG_NULL 76 5
+BEGIN
+ PROMPT 1 4 "@bDocumenti sorgente"
+END
+
+STRING F_CODICE_ELAB 8
+BEGIN
+ PROMPT 2 5 "Codice "
+ FLAG "U"
+ USE %ELD SELECT I0 == 8
+ INPUT CODTAB F_CODICE_ELAB
+ DISPLAY "Codice" CODTAB
+ DISPLAY "Descrizione@55" S0
+ OUTPUT F_CODICE_ELAB CODTAB
+ OUTPUT F_DESC_ELAB S0
+ CHECKTYPE REQUIRED
+ WARNING "E' necessario specificare il codice elaborazione"
+END
+
+STRING F_DESC_ELAB 50
+BEGIN
+ PROMPT 20 5 ""
+ USE %ELD KEY 2 SELECT I0 == 8
+ INPUT S0 F_DESC_ELAB
+ DISPLAY "Descrizione@55" S0
+ DISPLAY "Codice" CODTAB
+ COPY OUTPUT F_CODICE_ELAB
+END
+
+NUMBER F_ANNO 4
+BEGIN
+ PROMPT 2 6 "Anno "
+ FLAGS "AU"
+ CHECKTYPE REQUIRED
+END
+
+NUMBER F_FRNDOC 6
+BEGIN
+ PROMPT 2 7 "Da numero "
+ USE LF_DOC
+ JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
+ INPUT ANNO F_ANNO SELECT
+ INPUT CODNUM "F01"
+ INPUT PROVV "D"
+ INPUT NDOC F_FRNDOC
+ DISPLAY "Num." CODNUM
+ DISPLAY "Anno" ANNO
+ DISPLAY "Provv" PROVV
+ DISPLAY "Tipo" TIPODOC
+ DISPLAY "Numero@7" NDOC
+ DISPLAY "Data@10" DATADOC
+ DISPLAY "C/F" TIPOCF
+ DISPLAY "Codice" CODCF
+ DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
+ OUTPUT F_FRNDOC NDOC
+END
+
+NUMBER F_TONDOC 6
+BEGIN
+ PROMPT 26 7 "A numero "
+ COPY USE F_FRNDOC
+ INPUT ANNO F_ANNO SELECT
+ INPUT CODNUM "F01"
+ INPUT PROVV "D"
+ INPUT NDOC F_TONDOC
+ COPY DISPLAY F_FRNDOC
+ OUTPUT F_TONDOC NDOC
+END
+
+ENDPAGE
+
+ENDMASK
diff --git a/src/ve/velib04.cpp b/src/ve/velib04.cpp
index 7b203b625..68f3da63f 100755
--- a/src/ve/velib04.cpp
+++ b/src/ve/velib04.cpp
@@ -55,22 +55,25 @@ int TLista_documenti::read(char provv, char tipocf, long clifo, int anno,
const char* codnum, long dn, long an)
{
CHECK(provv == 'D' || provv == 'P', "Provvisorio o Definitivo?");
- CHECK(tipocf == 'C' || tipocf == 'F', "Il tipo deve essere Cliente o Fornitore");
- CHECKD(clifo > 0L, "Codice cliente non valido", clifo);
+ CHECK(tipocf == 'C' || tipocf == 'F' || tipocf == ' ', "Il tipo deve essere Cliente o Fornitore o Entrambi");
+ CHECKD(tipocf == ' ' || clifo > 0L, "Codice cliente non valido", clifo);
CHECKD(anno > 2000, "Anno non valido: ", anno);
CHECK(!tipidoc.empty_items(), "Lista dei tipi documento vuota");
CHECK(!statidoc.empty_items(), "Lista degli stati documento vuota");
-
+
+ const int key = (tipocf == ' ' && clifo == 0L) ? 1:2;
TRelation doc(LF_DOC);
TRectype start(LF_DOC), stop(LF_DOC);
int anno_start, anno_stop;
- start.put(DOC_TIPOCF, tipocf);
- stop.put(DOC_TIPOCF, tipocf);
-
- start.put(DOC_CODCF, clifo);
- stop.put(DOC_CODCF, clifo);
-
+ if (key == 2)
+ {
+ start.put(DOC_TIPOCF, tipocf);
+ stop.put(DOC_TIPOCF, tipocf);
+
+ start.put(DOC_CODCF, clifo);
+ stop.put(DOC_CODCF, clifo);
+ }
start.put(DOC_PROVV, provv);
stop.put(DOC_PROVV, provv);
@@ -132,7 +135,7 @@ int TLista_documenti::read(char provv, char tipocf, long clifo, int anno,
filter << DOC_CODNUM << "=\"" << codnum << '"';
}
- TCursor cur(&doc, filter, 2, &start, &stop);
+ TCursor cur(&doc, filter, key, &start, &stop);
const TRectype& head = cur.curr();
_documenti.destroy();
@@ -823,3 +826,81 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
return true;
}
+
+///////////////////////////////////////////////////////////
+// TRaggruppamento_documento
+///////////////////////////////////////////////////////////
+
+TRaggruppamento_documento::TRaggruppamento_documento(const char* cod)
+ : TElaborazione(cod)
+{ }
+
+bool TRaggruppamento_documento::raggruppabile(const TRiga_documento & rin, const TRiga_documento & rout) const
+{
+ bool ok = true;
+ TToken_string campi= RDOC_TIPORIGA "|" RDOC_CODIVA;
+ TString campo;
+
+ for (const char* c = campi.get(0); c && ok; c = campi.get())
+ {
+ campo = rin.get(c);
+ ok &= campo == rout.get(c);
+ }
+ return ok;
+}
+
+bool TRaggruppamento_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
+ const TDate& data_elab, bool interattivo)
+{
+ pre_process_input(doc_in);
+ const TString4 codnum = codice_numerazione_finale();
+
+ for (int d = 0; d < doc_in.items(); d++)
+ {
+ TDocumento& doc_src = doc_in[d];
+
+ doc_out.add(new TDocumento('D', doc_src.get_int(DOC_ANNO), codnum, doc_src.get_long(DOC_NDOC)));
+
+ TDocumento& doc_dest = doc_out[d];
+
+ TDocumento::copy_data(doc_dest,doc_src);
+
+ if (interattivo)
+ doc_dest.put(DOC_TIPODOC, doc_src.get(DOC_TIPODOC) );
+
+ if (doc_dest.physical_rows() > 0)
+ doc_dest.destroy_rows();
+
+ FOR_EACH_PHYSICAL_RDOC(doc_src, nr_input, rin) // ... cerca una riga compatibile
+ {
+ bool found = false;
+
+ if (!rin->sola_descrizione())
+ {
+ FOR_EACH_PHYSICAL_RDOC(doc_dest, nr_output, rout)
+ {
+ if (raggruppabile(*rin, *rout))
+ {
+ rout->add(RDOC_PREZZO,rin->get_real(RDOC_PREZZO));
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found)
+ {
+ TRiga_documento & row = doc_dest.new_row(); // ... crea una riga nuova e
+
+ TDocumento::copy_data(row, *rin);
+ }
+ }
+
+ const TString & stato = stato_finale();
+
+ doc_dest.put(DOC_STATO, stato);
+ doc_src.put(DOC_STATO, stato_finale_doc_iniziale());
+ }
+ post_process_input(doc_in);
+ post_process(doc_out, doc_in);
+ return true;
+}
diff --git a/src/ve/velib04.h b/src/ve/velib04.h
index 540747e82..616d93928 100755
--- a/src/ve/velib04.h
+++ b/src/ve/velib04.h
@@ -139,7 +139,7 @@ public:
enum TTipo_elaborazione { _esterna, _consegna_ordini, _fatturazione_bolle,
_contabilizzazione, _copia_documento,
_generazione_effetti, _consuntivazione_produzione,
- _contabilizzazione_analitica };
+ _contabilizzazione_analitica, _raggruppamento_documento };
class TParametri_elaborazione : public TObject // velib04
{
@@ -665,4 +665,16 @@ public:
virtual ~TContabilizzazione_analitica();
};
+class TRaggruppamento_documento : public TElaborazione // velib04
+{
+public:
+ bool raggruppabile(const TRiga_documento & rin, const TRiga_documento & rout) const;
+ virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
+ const TDate& data_elab, bool interattivo = false);
+
+ TRaggruppamento_documento(const char* cod);
+ TRaggruppamento_documento(const TRectype& rec) : TElaborazione(rec) { }
+ virtual ~TRaggruppamento_documento() { }
+};
+
#endif
diff --git a/src/ve/velib06.cpp b/src/ve/velib06.cpp
index 1ee7960f3..3f50c0a86 100755
--- a/src/ve/velib06.cpp
+++ b/src/ve/velib06.cpp
@@ -2477,6 +2477,9 @@ void TLista_elaborazioni::read()
case _contabilizzazione_analitica :
el = new TContabilizzazione_analitica(eld.curr());
break;
+ case _raggruppamento_documento:
+ el = new TRaggruppamento_documento(eld.curr());
+ break;
default :
break;
}
diff --git a/src/ve/vemenu.men b/src/ve/vemenu.men
index 50d296c5b..c041ef505 100755
--- a/src/ve/vemenu.men
+++ b/src/ve/vemenu.men
@@ -20,6 +20,7 @@ Item_01 = "Fatturazione bolle", "ve6 -2", "F"
Item_02 = "Contabilizzazione fatture", "ve6 -1", "F"
Item_03 = "Generazione effetti", "ve6 -3", "F"
Item_04 = "Contabilizzazione analitica", "ve6 -8", "F"
+Item_05 = "Raggruppamento documenti per riga", "ve5 -7", "F"
[VEMENU_051]
Caption = "Servizi"
diff --git a/src/ve/vetbeld.uml b/src/ve/vetbeld.uml
index c5dcf0864..f5f3e885f 100755
--- a/src/ve/vetbeld.uml
+++ b/src/ve/vetbeld.uml
@@ -49,21 +49,23 @@ LIST F_TIPO 50
BEGIN
PROMPT 2 3 "Tipo "
ITEM " |Esterna"
- MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|SHOW,9@|SHOW,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|SHOW,9@|SHOW,F_KILLDESC
ITEM "1|Consegna Ordini"
- MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
+ MESSAGE SHOW,10@|SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "2|Fatturazione bolle"
- MESSAGE HIDE,1@|SHOW,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|SHOW,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "3|Trasferimento a contabilità"
- MESSAGE HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
ITEM "4|Copia documento"
- MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC
ITEM "5|Generazione effetti"
- MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|SHOW,5@|HIDE,9@|HIDE,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|SHOW,5@|HIDE,9@|HIDE,F_KILLDESC
ITEM "6|Consuntivazione produzione"
- MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
+ MESSAGE SHOW,10@|SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "7|Trasferimento a contabilità analitica"
- MESSAGE HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
+ MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
+ ITEM "8|Raggruppamento documento"
+ MESSAGE HIDE,10@|HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC
FIELD I0
END
@@ -581,96 +583,112 @@ GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 1 1 "@bCondizioni per raggruppamento documenti"
FLAG "R"
+ GROUP 10
END
BOOLEAN F_CAMBIO
BEGIN
PROMPT 2 2 "Cambio"
FIELD S1[1,1]
+ GROUP 10
END
BOOLEAN F_SCONTO
BEGIN
PROMPT 2 3 "Sconto"
FIELD S1[2,2]
+ GROUP 10
END
BOOLEAN F_TIPODOC
BEGIN
PROMP 2 4 "Tipo documento"
FIELD S1[3,3]
+ GROUP 10
END
BOOLEAN F_CODNUM
BEGIN
PROMP 2 5 "Codice numerazione"
FIELD S1[4,4]
+ GROUP 10
END
BOOLEAN F_SPEDIZIONE
BEGIN
PROMPT 2 6 "Modalità di spedizione"
FIELD S1[9,9]
+ GROUP 10
END
BOOLEAN F_PORTO
BEGIN
PROMPT 2 7 "Porto"
FIELD S1[10,10]
+ GROUP 10
END
BOOLEAN F_CONDPAG
BEGIN
PROMP 28 2 "Condizione di pagamento"
FIELD S1[5,5]
+ GROUP 10
END
BOOLEAN F_BANCA
BEGIN
PROMPT 28 3 "Banca di appoggio"
FIELD S1[6,6]
+ GROUP 10
END
BOOLEAN F_LISTINO
BEGIN
PROMPT 28 4 "Listino"
FIELD S1[7,7]
+ GROUP 10
END
BOOLEAN F_AGENTE
BEGIN
PROMP 28 5 "Agente"
FIELD S1[8,8]
+ GROUP 10
END
BOOLEAN F_TRASPORTO
BEGIN
PROMPT 28 6 "Causale di trasporto"
FIELD S1[11,11]
+ GROUP 10
END
BOOLEAN F_VETTORI
BEGIN
PROMPT 28 7 "Vettori"
FIELD S1[12,12]
+ GROUP 10
END
BOOLEAN F_DESTINAZIONE
BEGIN
PROMPT 56 2 "Destinazione"
FIELD S1[13,13]
+ GROUP 10
END
BOOLEAN F_COMMESSA
BEGIN
PROMPT 56 3 "Commessa"
FIELD S1[14,14]
+ GROUP 10
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bModalità di raggruppamento delle righe"
FLAG "R"
+ GROUP 10
END
BOOLEAN F_SOMMA_RIGHE
@@ -679,24 +697,28 @@ BEGIN
MESSAGE FALSE ENABLE,F_RIFERIMENTI_IN_TESTA|ENABLE,F_GROUP_BY_REF
MESSAGE TRUE DISABLE,F_RIFERIMENTI_IN_TESTA|"X",F_RIFERIMENTI_IN_TESTA|CLEAR,F_GROUP_BY_REF
FIELD B0
+ GROUP 10
END
BOOLEAN F_MAGAZZINO
BEGIN
PROMPT 2 11 "Magazzino"
FIELD S1[41,41]
+ GROUP 10
END
BOOLEAN F_IVA
BEGIN
PROMPT 28 11 "Codice IVA"
FIELD S1[42,42]
+ GROUP 10
END
BOOLEAN F_PREZZO
BEGIN
PROMPT 2 12 "Prezzo e Sconto"
FIELD S1[43,43]
+ GROUP 10
END
BOOLEAN F_PREZZO_DA_ORDINE
@@ -704,7 +726,7 @@ BEGIN
PROMPT 28 12 "Ricava prezzo e sconto da ordine"
FIELD B5
FLAGS "H"
- GROUP 2
+ GROUP 2 10
END
BOOLEAN F_AGGIORNA_PREZZO
@@ -712,42 +734,48 @@ BEGIN
PROMPT 28 12 "Aggiorna prezzi"
FIELD B5
FLAGS "H"
- GROUP 1
+ GROUP 1 10
END
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 14 "@bGestione descrizioni"
+ GROUP 10
END
BOOLEAN F_RIFERIMENTI
BEGIN
PROMPT 2 15 "Gestione riferimenti"
FIELD B1
+ GROUP 10
END
BOOLEAN F_RIFERIMENTI_IN_TESTA
BEGIN
PROMPT 42 15 "Tutti i riferimenti in testa"
FIELD B2
+ GROUP 10
END
BOOLEAN F_IGNORA_DESCRIZIONI
BEGIN
PROMPT 2 16 "Ignora righe con solo descrizione"
FIELD B3
+ GROUP 10
END
BOOLEAN F_PACKRIF
BEGIN
PROMPT 42 16 "Rif.sintetici"
FIELD B15
+ GROUP 10
END
BOOLEAN F_USA_DOCRIF
BEGIN
PROMPT 2 17 "Usa documento di riferimento in descrizione rif."
FIELD B8
+ GROUP 10
END
LISTBOX F_SPALMA 1 2
@@ -756,7 +784,7 @@ BEGIN
ITEM " |No"
ITEM "1|Si"
FIELD I2
- GROUP 3 9
+ GROUP 3 9 10
END
LISTBOX F_GROUP_BY_REF 1 2
@@ -765,7 +793,7 @@ BEGIN
ITEM " |Si"
ITEM "1|No"
FIELD I3
- GROUP 1
+ GROUP 1 10
END
@@ -779,6 +807,7 @@ BEGIN
OUTPUT F_RIF_DOCIN CODTAB
CHECKTYPE NORMAL
FIELD S11
+ GROUP 10
END
NUMBER F_COLONNE_CO 1
@@ -790,7 +819,7 @@ BEGIN
ITEM "2|Residuo|Da evadere"
INPUT F_COLONNE_CO
OUTPUT F_COLONNE_CO
- GROUP 1
+ GROUP 1 10
FIELD I1
END