From 3052fab70e6d1412d76e56909bedc955543cd515 Mon Sep 17 00:00:00 2001 From: angelo Date: Tue, 12 Nov 1996 09:32:02 +0000 Subject: [PATCH] Cambiata l'impostazione della stampa SCONTI. Ora viene fatta con i forms. Iniziata la stessa cosa sulla stampa listini/contratti/offerte. git-svn-id: svn://10.65.10.50/trunk@3888 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve3100.cpp | 531 ++++++++++++++++++++++++------------------------- ve/ve3100d.uml | 32 +-- ve/ve3100i.uml | 40 ++-- ve/ve3100r.uml | 30 +-- ve/ve3200.cpp | 4 +- ve/ve3200x.uml | 30 +-- 6 files changed, 322 insertions(+), 345 deletions(-) diff --git a/ve/ve3100.cpp b/ve/ve3100.cpp index d0abfe872..d4df342df 100755 --- a/ve/ve3100.cpp +++ b/ve/ve3100.cpp @@ -1,198 +1,64 @@ - -#include +#include +#include +#include #include +#include #include -#include -#include +#include +#include +#include #include "ve3100.h" -#define KILL(x) { mask->field(x).reset_key(1); mask->disable(x); } -#define REVIVE(x) { mask->field(x).set_key(1); mask->enable(x); } +#define KILL(x) { ((TEditable_field &)mask->field(x)).reset_key(1); mask->disable(x); } +#define REVIVE(x) { ((TEditable_field &)mask->field(x)).set_key(1); mask->enable(x); } -#define SCON1 135 -#define CVE1 201 -#define ZON1 202 -#define CPG1 203 -#define UMS1 204 - - - -class TStampa_sconti: public TPrint_application { - TRelation *_rel; // relazione principale - TString16 _sconti; // tipo di archivio - TString16 _gessco; // configurazione della gestione sconti - bool _descriz; // abilitazione della stampa delle descrizioni - bool _compat; // abilita le descrizioni compatte (vengono ristampate solo al cambio dei valori) - bool _catven; // abilitazione della categoria di vendita (gesliscv) - bool _scokey_catven; // abilitazione della categoria di vendita - bool _scokey_scclienti; // abilitazione degli sconti clienti - bool _scokey_zone; // abilitazione delle zone - bool _scokey_condpag; // abilitazione delle condizioni di pagamento - TString _last_catven, _last_codart, _last_um, _last_sccliente, _last_zona, _last_condpag; // inseguitori dei campi da descrivere -//int _rcondv_link_id; // id del link ipertestuale all'anagrafica di magazzino +class TForm_sconti : public TForm +{ protected: - virtual bool user_create(void); - virtual bool user_destroy(void); - virtual bool set_print(int); - virtual void set_page(int, int); - virtual void preprocess_header(void); - virtual void preprocess_footer(void); -//virtual void process_link(int, const char *); + virtual word set_header(word p, bool u); +public: + void compact(const bool what); // Compatta i campi disabilitati del corpo, in modo che non ci siano buchi... + TForm_sconti(const char* form); + virtual ~TForm_sconti() {}; }; - - - -bool TStampa_sconti::user_create() { - bool gotcha= FALSE; // booleano di avvenuta inizializzazione - _sconti= "*"; // inizializzazione dell'indicatore del tipo di tabella - if (argc()>2) _sconti= argv(2); // se c'è, prende il tipo di tabella dalla linea di comando - else { - TMask choose("VE3100"); // istanzia la maschera di scelta del tipo di tabella - if (choose.run() == K_ENTER) _sconti= choose.get(F_TIPOSC); // prende il tipo di tabella dalla maschera - } - TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione di ditta - switch (_sconti[0]) { - case 'D': // sconti documento - _rel= new TRelation(LF_SCONTI); // crea la relazione principale - gotcha= TRUE; - break; - case 'R': // sconti di riga - _rel= new TRelation(LF_SCONTI); // crea la relazione principale - _rel->add(LF_ANAMAG, "CODART==CODART"); - _rel->add("%UMS", "CODTAB==UM", 1, LF_SCONTI, UMS1); - _rel->add("CVE", "CODTAB==CODCAT", 1, LF_SCONTI, CVE1); - gotcha= TRUE; - break; - case 'I': // sconti incondizionati - _gessco= prassid.get("GESSCO"); // legge lo stato del parametro di abilitazione degli sconti - if (_gessco=="A") { - _rel= new TRelation(LF_SCONTI); // crea la relazione principale - _rel->add("CVE", "CODTAB==CODCAT", 1, LF_SCONTI, CVE1); - _rel->add(LF_SCONTI, "TIPO==\"D\"|CODCAT==CODART[1,2]", 1, LF_SCONTI, SCON1); - _rel->add("%ZON", "CODTAB==CODART[3,4]", 1, LF_SCONTI, ZON1); - _rel->add("%CPG", "CODTAB==CODART[5,8]", 1, LF_SCONTI, CPG1); - gotcha= TRUE; - } else error_box("Gli sconti incondizionati non sono abilitati nella configurazione"); - break; - default: // messaggio di errore se si indica una tabella non valida - error_box("Indicare la tabella sulla linea di comando (D, R o I) oppure selezionarla dalla maschera di partenza"); - break; - } - if (gotcha) { - add_cursor(new TCursor(_rel)); // costruisce il cursore sulla relazione e lo passa alla stampa - add_file(LF_SCONTI); // notifica il file delle principale alla stampa - enable_print_menu(); // abilita il menù di stampa - enable_setprint_menu(); // abilita il menù di settaggio della stampa - } - return (gotcha); +word TForm_sconti::set_header(word p, bool u) +{ + TPrinter& pr = printer(); + TForm_item& pagina = find_field('H',odd_page,3); + TString16 pg; pg << (int)pr.getcurrentpage(); + pagina.set(pg); + return TForm::set_header(p,u); } -bool TStampa_sconti::user_destroy() { - delete _rel; - return TRUE; +void TForm_sconti::compact(const bool what) +// Scorre i campi del corpo, compattando i campi abilitati +{ + word togli; + if (what) // sconti di riga + togli = 4; + else // sconti incondizionati + togli = 5; + TPrint_section& b = section('B',odd_page); + const word fields = b.fields(); + const word height = b.height(); + const word max = fields - togli; + int y = 1; // first coordinate of first field + for (word i = 1; i <= fields; i++) + { + TForm_item& f = b.find_field(i); + if (f.enabled()) + if (i <= max) + f.y() = y++; + else + f.y() = y; + } + b.set_height(y+1); } -bool TStampa_sconti::set_print(int) { - bool gotcha= FALSE; - TConfig prassid(CONFIG_DITTA, "ve"); - TMask *mask; - switch (_sconti[0]) { - case 'D': // sconti documento - mask= new TMask("ve3100d"); - gotcha= TRUE; - break; - case 'R': // sconti di riga - mask= new TMask("ve3100r"); - if (!_catven) { - KILL(F_R_CODCAT_DA); - KILL(F_R_CODCAT_A); - } else { - REVIVE(F_R_CODCAT_DA); - REVIVE(F_R_CODCAT_A); - } - gotcha= TRUE; - break; - case 'I': // sconti incondizionati - mask= new TMask("ve3100i"); - short k_id[2][4]= { F_I_CATVEN_DA, F_I_CATVEN_A, F_I_SCCLIENTI_DA, F_I_SCCLIENTI_A, F_I_ZONE_DA, F_I_ZONE_A, F_I_CONDPAG_DA, F_I_CONDPAG_A }; // vettore dei campi da controllare - for (int i=0; i<4; i++) { - bool enab= prassid.get_bool("SCOKEY", NULL, i+1); - switch (i) { - case 0: _scokey_catven= enab; break; - case 1: _scokey_scclienti= enab; break; - case 2: _scokey_zone= enab; break; - case 3: _scokey_condpag= enab; break; - } - if (enab) { // se nel file di config. il campo è abilitato... - REVIVE(k_id[0][i]); // ...i campi vengono abilitati anche sulla maschera - REVIVE(k_id[1][i]); - gotcha= TRUE; - } else { - KILL(k_id[0][i]); // se nel file di config. i campi non sono abilitati vengono disabilitati anche sulla maschera - KILL(k_id[1][i]); - } - } - if (!_catven) { - KILL(k_id[0][1]); // se nel file di config. la categoria vendite è disabilitata viene ucciso il campo - KILL(k_id[1][1]); - } - if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta"); - break; - } - if (gotcha && (mask->run()== K_ENTER)) { // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore - if (_sconti=="R") { - _descriz= mask->get_bool(F_R_DESCRIZ); - _compat= mask->get_bool(F_R_COMPAT); - } else if (_sconti=="I") { - _descriz= mask->get_bool(F_I_DESCRIZ); - _compat= mask->get_bool(F_I_COMPAT); - } - TLocalisamfile &sconti= _rel->lfile(); - TRectype da(sconti.curr()); // prepara il record di inizio regione - da.zero(); - da.put("TIPO", _sconti); - TRectype a(da); // prepara il record di fine regione - TString codart; // stringa per la composizione del campo CODART negli sconti incondizionati - switch (_sconti[0]) { // impostazione della chiave della testata - case 'D': // sconti documento - da.put("CODCAT", mask->get(F_D_CODCAT_DA)); - a.put("CODCAT", mask->get(F_D_CODCAT_A)); - break; - case 'R': // sconti di riga - if (_catven) { - da.put("CODCAT", mask->get(F_R_CODCAT_DA)); - a.put("CODCAT", mask->get(F_R_CODCAT_A)); - } else { - da.blank("CODCAT"); // i campi non gestiti vengono riempiti di blank - a.blank("CODCAT"); - } - da.put("CODART", mask->get(F_R_CODART_DA)); - a.put("CODART", mask->get(F_R_CODART_A)); - break; - case 'I': // sconti incondizionati - if (_catven && _scokey_catven) { - da.put("CODCAT", mask->get(F_I_CATVEN_DA)); - a.put("CODCAT", mask->get(F_I_CATVEN_A)); - } else { - da.blank("CODCAT"); // i campi non gestiti vengono riempiti di blank - a.blank("CODCAT"); - } - if (_scokey_scclienti || _scokey_zone || _scokey_condpag) { - codart.format("%2s%2s%4s", (_scokey_scclienti)?(mask->get(F_I_SCCLIENTI_DA)):(""), (_scokey_zone)?(mask->get(F_I_ZONE_DA)):(""), (_scokey_condpag)?(mask->get(F_I_CONDPAG_DA)):("")); - da.put("CODART", codart); - codart.format("%2s%2s%4s", (_scokey_scclienti)?(mask->get(F_I_SCCLIENTI_A)):(""), (_scokey_zone)?(mask->get(F_I_ZONE_A)):(""), (_scokey_condpag)?(mask->get(F_I_CONDPAG_A)):("")); - a.put("CODART", codart); - } - break; - } - current_cursor()->setregion(da, a); // setta la regione sul cursore - force_setpage(); // forza il lancio della set_page() ad ogni record del file da stampare - disable_links(); // disabilita tutti i link ipertestuali -// _rcondv_link_id= enable_link("Collegamento a archivio sconti", 'g'); // abilita il collegamento - return TRUE; - } else return FALSE; -} +TForm_sconti::TForm_sconti(const char* form) + : TForm(form) +{} /* 1 1 1 1 1 2 3 4 5 6 7 8 9 0 1 2 3 @@ -215,104 +81,225 @@ Categoria vendite: .................................................. Sconto cliente: .................................................. Zona: .................................................. Condizione di pagamento: .................................................. - */ -void TStampa_sconti::preprocess_header() { - reset_header(); // l'header viene resettato - int i= 1; // contatore delle linee - const long firm= get_firm(); // legge l'id della ditta corrente - TLocalisamfile ditte(LF_NDITTE); // apre il file ditte - ditte.zero(); // vuota il record - ditte.put("CODDITTA", firm); // riempie la chiave - if (ditte.read()== NOERR) { // se il record della ditta viene trovato viene settato l'header - const TString &s= ditte.get("RAGSOC"); // legge la ragione sociale della ditta - set_header(i, "@1gDitta %ld %s", firm, (const char *)s); // setta il nome e l'id della ditta della prima linea dell'header - } - set_header(++i,"@1gCC"); // codice di categoria - switch (_sconti[0]) { - case 'D': // sconti documento - set_header(i, "@4gDescrizione @55gSconto"); // descrizione e sconto - break; - case 'R': // sconti di riga - set_header(i, "@4gCod. articolo @25gUM @28gSconto"); // codice articolo, unità di misura e sconto - break; - case 'I': // sconti incondizionati - set_header(i, "@4gSC @7gZn @10gCPg @15gSconto"); // sconto cliente, zona, condizione di pagamento e sconto - break; - } - set_header(++i, ""); // aggiunge due linee vuote - set_header(++i, ""); -} +class TStampa_sconti: public TApplication { + TForm_sconti *_frm; // form di stampa + TLocalisamfile *_anamag,*_scon; // file per i controlli sulle anagrafiche + TTable *_cve, *_zon, *_cpg; // Tabella categorie di vendita + TString16 _sconti; // tipo di archivio + bool _catven; // abilitazione della categoria di vendita (gesliscv) + bool _scokey_catven; // abilitazione della categoria di vendita + bool _scokey_scclienti; // abilitazione degli sconti clienti + bool _scokey_zone; // abilitazione delle zone + bool _scokey_condpag; // abilitazione delle condizioni di pagamento +protected: + virtual bool create(void); + virtual bool destroy(void); + virtual bool menu(MENU_TAG m); +public: + TStampa_sconti() {}; + virtual ~TStampa_sconti() {} +}; -void TStampa_sconti::preprocess_footer() { - reset_footer(); - int i= 1; // indice di linea - set_footer(i, ""); // salta una linea - set_footer(++i, "@125gPag @#"); // l'unica linea del footer contiene il numero di pagina -} - -void TStampa_sconti::set_page(int file, int) { - if (file== LF_SCONTI) { // se il file in stampa non è il file principale non c'è nulla da fare - TLocalisamfile &sconti= _rel->lfile(); - int i= 0; // indice di riga - switch (_sconti[0]) { - case 'D': // sconti documento - set_row(++i, "@1g@2s @4g@50s @55g@25s", FLD(LF_SCONTI, "CODCAT"), FLD(LF_SCONTI, "DESCR"), FLD(LF_SCONTI, "SCONTO")); - break; - case 'R': // sconti di riga - if (_descriz) { - const TString &catven= sconti.get("CODCAT"); // categoria di vendita - if (_catven && ((!_compat) || (catven != _last_catven))) { - set_row(++i, "@1gCategoria vendite: @20g@50s", FLD(-CVE1, "S0")); - _last_catven= catven; - } - const TString &codart= sconti.get("CODART"); // codice articolo - if ((!_compat) || (codart != _last_codart)) { - set_row(++i, "@1gArticolo: @20g@50s", FLD(LF_ANAMAG, "DESCR")); - _last_codart= codart; - } - const TString &um= sconti.get("UM"); // unità di misura - if ((!_compat) || (codart != _last_codart)) { - set_row(++i, "@1gUnità di misura: @20g@50s", FLD(-UMS1, "S0")); - _last_um= um; - } - } - set_row(++i, "@1g@2s @4g@20s @25g@2s @28g@25s", FLD(LF_SCONTI, "CODCAT"), FLD(LF_SCONTI, "CODART"), FLD(LF_SCONTI, "UM"), FLD(LF_SCONTI, "SCONTO")); - break; - case 'I': // sconti incondizionati - if (_descriz) { - const TString &catven= sconti.get("CODCAT"); // categoria di vendita - if (_catven && _scokey_catven && ((!_compat) || (catven != _last_catven))) { - set_row(++i, "@1gCategoria vendite: @26g@50s", FLD(-CVE1, "S0")); - _last_catven= catven; - } - const TString &sccliente= sconti.get("CODART").sub(0,1); // sconto cliente - if (_scokey_scclienti && ((!_compat) || (sccliente != _last_sccliente))) { - set_row(++i, "@1gSconto cliente: @26g@50s", FLD(-SCON1, "DESCR")); - _last_sccliente= sccliente; - } - const TString &zona= sconti.get("CODART").sub(2,3); // zona - if (_scokey_zone && ((!_compat) || (zona != _last_zona))) { - set_row(++i, "@1gZona: @26g@50s", FLD(-ZON1, "S0")); - _last_zona= zona; - } - const TString &condpag= sconti.get("CODART").sub(4,7); // condizione di pagamento - if (_scokey_condpag && ((!_compat) || (zona != _last_zona))) { - set_row(++i, "@1gCondizioni pagamento: @26g@50s", FLD(-CPG1, "S0")); - _last_condpag= condpag; - } - } - set_row(++i, "@1g@2s @4g@2s @7g@2s @10g@4s @15g@25s", FLD(LF_SCONTI, "CODCAT"), FLD(LF_SCONTI, "CODART", 1, 2), FLD(LF_SCONTI, "CODART", 3, 4), FLD(LF_SCONTI, "CODART", 5, 8), FLD(LF_SCONTI, "SCONTO")); +bool TStampa_sconti::create() +{ + bool gotcha= FALSE; // booleano di avvenuta inizializzazione + _sconti= "*"; // inizializzazione dell'indicatore del tipo di tabella + if (argc()>2) _sconti= argv(2); // se c'è, prende il tipo di tabella dalla linea di comando + else + { + TMask choose("VE3100"); // istanzia la maschera di scelta del tipo di tabella + if (choose.run() == K_ENTER) _sconti= choose.get(F_TIPOSC); // prende il tipo di tabella dalla maschera + } + switch (_sconti[0]) + { + case 'D': // sconti documento + _frm = new TForm_sconti("scontid"); + gotcha= TRUE; + break; + case 'R': // sconti di riga + _frm = new TForm_sconti("scontir"); + gotcha= TRUE; + break; + case 'I': // sconti incondizionati + _frm = new TForm_sconti("scontii"); + gotcha= TRUE; + break; + default: // messaggio di errore se si indica una tabella non valida + error_box("Indicare la tabella sulla linea di comando (D, R o I) oppure selezionarla dalla maschera di partenza"); break; - } - set_row(++i, ""); // salta una linea } + _anamag = new TLocalisamfile(LF_ANAMAG); + _scon = new TLocalisamfile(LF_SCONTI); + _cve = new TTable("CVE"); + _zon = new TTable("%ZON"); + _cpg = new TTable("%CPG"); + dispatch_e_menu(BAR_ITEM(1)); + return (gotcha); } +bool TStampa_sconti::destroy() +{ + if (_frm) delete _frm; + if (_anamag) delete _anamag; + if (_scon) delete _scon; + if (_cve) delete _cve; + if (_cpg) delete _cpg; + if (_zon) delete _zon; + return TRUE; +} +bool TStampa_sconti::menu(MENU_TAG) +{ + bool gotcha= FALSE; + TConfig prassid(CONFIG_DITTA, "ve"); + TMask *mask; + switch (_sconti[0]) + { + case 'D': // sconti documento + mask= new TMask("ve3100d"); + gotcha= TRUE; + break; + case 'R': // sconti di riga + mask= new TMask("ve3100r"); + _catven = prassid.get_bool("GESSCORIGACV"); + if (!_catven) + { + KILL(F_R_CODCAT_DA); + KILL(F_R_CODCAT_A); + _frm->find_field('B',odd_page,1).disable(); + } + else + { + REVIVE(F_R_CODCAT_DA); + REVIVE(F_R_CODCAT_A); + _frm->find_field('B',odd_page,1).enable(); + } + _frm->compact(TRUE); + gotcha= TRUE; + break; + case 'I': // sconti incondizionati + mask= new TMask("ve3100i"); + short k_id[2][4]= { F_I_CATVEN_DA, F_I_CATVEN_A, F_I_SCCLIENTI_DA, F_I_SCCLIENTI_A, F_I_ZONE_DA, F_I_ZONE_A, F_I_CONDPAG_DA, F_I_CONDPAG_A }; // vettore dei campi da controllare + for (int i=0; i<4; i++) + { + bool enab= prassid.get_bool("SCOKEY", NULL, i+1); + switch (i) + { + case 0: _scokey_catven= enab; break; + case 1: _scokey_scclienti= enab; break; + case 2: _scokey_zone= enab; break; + case 3: _scokey_condpag= enab; break; + default: break; + } + if (enab) + { // se nel file di config. il campo è abilitato... + REVIVE(k_id[0][i]); // ...i campi vengono abilitati anche sulla maschera + REVIVE(k_id[1][i]); + _frm->find_field('B',odd_page,i+1).enable(); + gotcha= TRUE; + } + else + { + KILL(k_id[0][i]); // se nel file di config. i campi non sono abilitati vengono disabilitati anche sulla maschera + KILL(k_id[1][i]); + _frm->find_field('B',odd_page,i+1).disable(); + } + } + if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta"); + else + _frm->compact(FALSE); + break; + } + CHECK(_frm,"Form pointer is NULL"); + // Setta ora e per sempre alcuni campi della testata + TForm_item& ditta = _frm->find_field('H',odd_page,1);// Nome ditta + TForm_item& data = _frm->find_field('H',odd_page,2);// Data stampa + TDate td(TODAY); + TLocalisamfile ditte(LF_NDITTE); + ditte.put(NDT_CODDITTA,get_firm()); + if (ditte.read()==NOERR) ditta.set(ditte.get(NDT_RAGSOC)); + data.set(td.string()); + while (gotcha && (mask->run()== K_ENTER)) + { // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore + TRectype da(_frm->relation()->lfile().curr()); // prepara il record di inizio regione + da.zero(); + da.put("TIPO", _sconti); + TRectype a(da); // prepara il record di fine regione + + if (_sconti=="R") + { + TString cod_art_to = mask->get(F_R_CODCAT_A); + TString cod_art_from = mask->get(F_R_CODCAT_DA); + if (!_catven) + { + _anamag->last(); + cod_art_to = _anamag->get("CODART"); + } + da.put("CODART", cod_art_from); + a.put("CODART", cod_art_to); + } + else + if (_sconti=="I") + { + TString cod_cat_from = mask->get(F_I_CATVEN_DA); + TString cod_cat_to = mask->get(F_I_CATVEN_A); + TString codart,sc_cl,zon,cpg; + da.put("CODCAT",cod_cat_from); + if (cod_cat_to.empty()) + { + _cve->last(); + cod_cat_to = _cve->get("CODTAB"); + } + a.put("CODCAT",cod_cat_to); + if (_scokey_scclienti || _scokey_zone || _scokey_condpag) + { + if (_scokey_scclienti) + sc_cl = mask->get(F_I_SCCLIENTI_DA); + if (_scokey_zone) + sc_cl = mask->get(F_I_ZONE_DA); + if (_scokey_condpag) + sc_cl = mask->get(F_I_CONDPAG_DA); + codart.format("%2s%2s%4s", (const char*)sc_cl, (const char*)zon,(const char*)cpg); + da.put("CODART", codart); + if (_scokey_scclienti && mask->get(F_I_SCCLIENTI_A).empty()) + { + _scon->put("TIPO","E"); + if (_scon->read(_isgteq)==NOERR) + { + if (_scon->prev() == NOERR && _scon->get("TIPO") == "D") + sc_cl = _scon->get("CODCAT"); //ultimo sconto documento + } + } + if (_scokey_zone && mask->get(F_I_ZONE_A).empty()) + { + _zon->last(); + zon = _zon->get("CODTAB"); + } else zon = mask->get(F_I_ZONE_A); + if (_scokey_condpag && mask->get(F_I_CONDPAG_A).empty()) + { + _cpg->last(); + cpg = _cpg->get("CODTAB"); + } else cpg = mask->get(F_I_CONDPAG_A); + codart.format("%2s%2s%4s", (const char*)sc_cl, (const char*)zon,(const char*)cpg); + a.put("CODART", codart); + } + } + else + if (_sconti=="D") + { + da.put("CODCAT", mask->get(F_D_CODCAT_DA)); + a.put("CODCAT", mask->get(F_D_CODCAT_A)); + } + _frm->cursor()->setregion(da,a); + _frm->print(); + } + return FALSE; +} -int ve3100(int argc, char **argv) { +int ve3100(int argc, char **argv) +{ TStampa_sconti a; a.run(argc, argv, "Stampa sconti"); diff --git a/ve/ve3100d.uml b/ve/ve3100d.uml index 23030ad58..92883115f 100755 --- a/ve/ve3100d.uml +++ b/ve/ve3100d.uml @@ -1,9 +1,9 @@ #include #include "ve3100d.h" -PAGE "Stampa sconti documenti " -1 -1 55 7 +PAGE "Stampa sconti documenti " -1 -1 58 7 -LISTA F_D_TIPO 1 +LISTA F_D_TIPO 16 BEGIN PROMPT 100 100 "" FIELD LF_SCONTI->TIPO @@ -11,9 +11,19 @@ BEGIN ITEM "D|Sconti documento" END +GROUPBOX DLG_NULL 55 3 +BEGIN + PROMPT 1 0 "Da" +END + +GROUPBOX DLG_NULL 55 3 +BEGIN + PROMPT 1 3 "A" +END + STRING F_D_CODCAT_DA 2 BEGIN - PROMPT 2 1 "Cod. sconto doc. " + PROMPT 2 1 "Codice sconto documento " FLAG "UR" USE LF_SCONTI INPUT TIPO F_D_TIPO SELECT @@ -24,14 +34,9 @@ BEGIN OUTPUT F_D_CODCAT_DA CODCAT END -GROUPBOX DLG_NULL 55 3 -BEGIN - PROMPT 0 0 "Da" -END - STRING F_D_CODCAT_A 2 BEGIN - PROMPT 2 4 "Cod. sconto doc. " + PROMPT 2 4 "Codice sconto documento " FLAG "UR" USE LF_SCONTI INPUT TIPO F_D_TIPO SELECT @@ -42,14 +47,9 @@ BEGIN OUTPUT F_D_CODCAT_A CODCAT END -GROUPBOX DLG_NULL 55 3 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT 0 3 "A" -END - -BUTTON DLG_SELECT 9 2 -BEGIN - PROMPT -12 -1 "Selezione" + PROMPT -12 -1 "~Stampa" MESSAGE EXIT,K_ENTER END diff --git a/ve/ve3100i.uml b/ve/ve3100i.uml index 196c48618..ec9ff3d74 100755 --- a/ve/ve3100i.uml +++ b/ve/ve3100i.uml @@ -1,15 +1,25 @@ #include #include "ve3100i.h" -PAGE "Stampa sconti incondizionati " -1 -1 55 15 +PAGE "Stampa sconti incondizionati " -1 -1 58 15 -LISTA F_I_TIPO 1 +LISTA F_I_TIPO 21 BEGIN PROMPT 100 100 "" FLAG "H" ITEM "I|Sconti incondizionati" END +GROUPBOX DLG_NULL 55 6 +BEGIN + PROMPT 1 0 "Da" +END + +GROUPBOX DLG_NULL 55 6 +BEGIN + PROMPT 1 6 "A" +END + STRING F_I_CATVEN_DA 2 BEGIN PROMPT 2 1 "Cat. vendite " @@ -55,11 +65,6 @@ BEGIN OUTPUT F_I_CONDPAG_DA CODTAB END -GROUPBOX DLG_NULL 55 6 -BEGIN - PROMPT 0 0 "Da" -END - STRING F_I_CATVEN_A 2 BEGIN PROMPT 2 7 "Cat. vendite " @@ -105,26 +110,9 @@ BEGIN OUTPUT F_I_CONDPAG_A CODTAB END -GROUPBOX DLG_NULL 55 6 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT 0 6 "A" -END - -BOOLEAN F_I_DESCRIZ -BEGIN - PROMPT 2 12 "Descrizioni" - MESSAGE FALSE DISABLE,F_I_COMPAT - MESSAGE TRUE ENABLE,F_I_COMPAT -END - -BOOLEAN F_I_COMPAT -BEGIN - PROMPT 20 12 "Compatte" -END - -BUTTON DLG_SELECT 9 2 -BEGIN - PROMPT -12 -1 "Selezione" + PROMPT -12 -1 "~Stampa" MESSAGE EXIT,K_ENTER END diff --git a/ve/ve3100r.uml b/ve/ve3100r.uml index 08a44f7a3..9514c2aad 100755 --- a/ve/ve3100r.uml +++ b/ve/ve3100r.uml @@ -1,15 +1,25 @@ #include #include "ve3100r.h" -PAGE "Stampa sconti di riga " -1 -1 55 11 +PAGE "Stampa sconti di riga " -1 -1 58 10 -LISTA F_R_TIPO 1 +LISTA F_R_TIPO 15 BEGIN PROMPT 100 100 "" FLAG "H" ITEM "R|Sconti di riga" END +GROUPBOX DLG_NULL 55 4 +BEGIN + PROMPT 1 0 "Da" +END + +GROUPBOX DLG_NULL 55 4 +BEGIN + PROMPT 1 4 "A" +END + STRING F_R_CODCAT_DA 2 BEGIN PROMPT 2 1 "Cat. vendita " @@ -32,11 +42,6 @@ BEGIN OUTPUT F_R_CODART_DA CODART END -GROUPBOX DLG_NULL 55 4 -BEGIN - PROMPT 0 0 "Da" -END - STRING F_R_CODCAT_A 2 BEGIN PROMPT 2 5 "Cat. vendita " @@ -59,11 +64,7 @@ BEGIN OUTPUT F_R_CODART_A CODART END -GROUPBOX DLG_NULL 55 4 -BEGIN - PROMPT 0 4 "A" -END - +/* BOOLEAN F_R_DESCRIZ BEGIN PROMPT 2 8 "Descrizioni" @@ -75,10 +76,11 @@ BOOLEAN F_R_COMPAT BEGIN PROMPT 20 8 "Compatte" END +*/ -BUTTON DLG_SELECT 9 2 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT -12 -1 "Selezione" + PROMPT -12 -1 "~Stampa" MESSAGE EXIT,K_ENTER END diff --git a/ve/ve3200.cpp b/ve/ve3200.cpp index 16a4242ed..a50b4f530 100755 --- a/ve/ve3200.cpp +++ b/ve/ve3200.cpp @@ -12,8 +12,8 @@ #define RCONDV_APP "ve2 -2" -#define DESTROY(x) { mask.field(x).reset_key(1); mask.hide(x); } -#define KILL(x) { mask.field(x).reset_key(1); mask.disable(x); } +#define DESTROY(x) { ((TEditable_field &)mask.field(x)).reset_key(1); mask.hide(x); } +#define KILL(x) { ((TEditable_field &)mask.field(x)).reset_key(1); mask.disable(x); } #define CVE 201 #define VAL 202 diff --git a/ve/ve3200x.uml b/ve/ve3200x.uml index facd5b346..a9688aaab 100755 --- a/ve/ve3200x.uml +++ b/ve/ve3200x.uml @@ -3,6 +3,16 @@ PAGE "Stampa condizioni di vendita" -1 -1 64 15 +GROUPBOX DLG_NULL 63 10 // groupbox attorno agli elementi di selezione della chiave +BEGIN + PROMPT 0 0 "" +END + +GROUPBOX DLG_NULL 63 5 // groupbox attorno agli ultimi tre checkbox +BEGIN + PROMPT 0 9 "" +END + STRING F_TIPO 1 // tipo di archivio BEGIN PROMPT 100 100 "" @@ -20,11 +30,11 @@ BEGIN OUTPUT F_L_CATVEN CODTAB END -LIST F_C_TIPOCF 7 // tipo cliente/fornitore, solo contratti +LIST F_C_TIPOCF 9 // tipo cliente/fornitore, solo contratti BEGIN PROMPT 2 1 "Tipo " ITEM "C|Cliente" - ITEM "F|Fornit." + ITEM "F|Fornitore" END STRING F_C_CODCF 6 // codice cliente/fornitore, solo contratti @@ -88,7 +98,7 @@ BEGIN OUTPUT F_O_COD COD END -LIST F_TIPORIGHE 8 // listbox per tipo di selezione righe +LIST F_TIPORIGHE 9 // listbox per tipo di selezione righe BEGIN PROMPT 2 5 "Righe " ITEM "A|Articolo " MESSAGE CLEAR,F_DARIGA_A|ENABLE,F_DARIGA_A|SHOW,F_DARIGA_A|CLEAR,F_ARIGA_A|ENABLE,F_ARIGA_A|SHOW,F_ARIGA_A|HIDE,F_DARIGA_G|HIDE,F_DARIGA_R|HIDE,F_ARIGA_G|HIDE,F_ARIGA_R @@ -167,11 +177,6 @@ BEGIN MESSAGE COPY,F_ARIGA_A END -GROUPBOX DLG_NULL 63 10 // groupbox attorno agli elementi di selezione della chiave -BEGIN - PROMPT 0 0 "" -END - BOOLEAN F_TESTACOMP // checkbox per stampa completa della testata BEGIN PROMPT 2 10 "Testata completa" @@ -187,14 +192,9 @@ BEGIN PROMPT 2 12 "Listino in valuta" END -GROUPBOX DLG_NULL 63 5 // groupbox attorno agli ultimi tre checkbox +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT 0 9 "" -END - -BUTTON DLG_SELECT 9 2 -BEGIN - PROMPT -12 -1 "Selezione" + PROMPT -12 -1 "~Stampa" MESSAGE EXIT,K_ENTER END