From 67a6f7d2b467c4812d66e4932038862f0463559b Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Thu, 8 May 2025 18:28:25 +0200 Subject: [PATCH] Patch level : 12.00 1392 Files correlati : ve0.exe vetbeld.msk vetbnum.msk vetbspp.msk vetbtip.msk Commento: Collegamento a fepa Tabelle vendite --- src/ve/ve0400.cpp | 136 +++++++++++++++++++++++++++---- src/ve/velib.h | 6 ++ src/ve/vetbeld.h | 1 + src/ve/vetbeld.uml | 42 ++++++---- src/ve/vetbnum.h | 4 +- src/ve/vetbnum.uml | 11 ++- src/ve/vetbspp.h | 4 +- src/ve/vetbspp.uml | 87 +++++++++----------- src/ve/vetbtip.h | 18 ++++- src/ve/vetbtip.uml | 198 ++++++++++++++++++++++++++++++++++++++------- 10 files changed, 387 insertions(+), 120 deletions(-) diff --git a/src/ve/ve0400.cpp b/src/ve/ve0400.cpp index 3ea886624..297b97a54 100755 --- a/src/ve/ve0400.cpp +++ b/src/ve/ve0400.cpp @@ -13,6 +13,7 @@ #include "verig.h" #include "vetbatr.h" +#include "vetbcnt.h" #include "vetbgmc.h" #include "vetbnum.h" #include "vetbprs.h" @@ -24,6 +25,8 @@ #include "vetbtri.h" #define TAB_GRMERC "GMC" +#define TAB_CAUSNUM "%CNT" +#define TAB_TIP "%TIP" HIDDEN void add_frr_list(TEdit_field & e) { @@ -105,6 +108,7 @@ protected: bool on_tri_event(TOperable_field& o, TField_event e, long jolly); bool on_tip_event(TOperable_field& o, TField_event e, long jolly); bool on_num_event(TOperable_field& o, TField_event e, long jolly); + bool on_cnt_event(TOperable_field& o, TField_event e, long jolly); public: const TString& table_code() const { return _tab; } @@ -192,13 +196,20 @@ static bool tab_tip_filter(const TRelation* r) for (int i = 0; i < cod_num.ntipi_doc(); i++ ) { const TString& curtipo = cod_num.tipo_doc(i); + if (curtipo == tipo) return true; } - return false; } +static bool tab_num_filter(const TRelation* r) +{ + const TCodice_numerazione& cod_num = cached_numerazione(r->curr().get("CODTAB")); + + return cod_num.is_fattura(); +} + bool TVendite_mask::on_tip_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) @@ -268,14 +279,36 @@ bool TVendite_mask::on_num_event(TOperable_field& o, TField_event e, long jolly) return true; //metodo che gestiva la stampante per le numerazioni documenti } +bool TVendite_mask::on_cnt_event(TOperable_field& o, TField_event e, long jolly) +{ + switch (o.dlg()) + { + case FC_CODNUM: + if (e == fe_init || e == fe_modify) + { + __tab_codnum = o.get(); + efield(FC_TIPODOC).browse()->cursor()->set_filterfunction(tab_tip_filter); + } + break; + default: + break; + } + return true; //metodo che gestiva la stampante per le numerazioni documenti +} + bool TVendite_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { if (is_table("NUM")) return on_num_event(o, e, jolly); - if (is_table("TIP")) - return on_tip_event(o, e, jolly); - if (is_table("TRI")) - return on_tri_event(o, e, jolly); + else + if (is_table("TIP")) + return on_tip_event(o, e, jolly); + else + if (is_table("TRI")) + return on_tri_event(o, e, jolly); + else + if (is_table("CNT")) + return on_cnt_event(o, e, jolly); return true; } @@ -1153,9 +1186,30 @@ int TVendite_tabapp::read(TMask& m) if (is_table("RSS")) m.set(RSS_PREZZO, r0); else if (is_table("ATR")) - m.set(ATR_PREZZO, r0); - } + m.set(ATR_PREZZO, r0); + } + if (is_table("%TIP")) + { + TCursor c(new TRelation("%CNT")); + TSheet_field & sh = m.sfield(F_CAUSNUM); + TString tip = m.get(F_CODTAB); + sh.reset(); + for (c = 0L; c.pos() < c.items(); ++c) + { + const TString & cod = c.curr().get("CODTAB"); + + if (tip == cod.mid(4)) + { + int r = sh.set_row_cell(SC_CODNUM, cod.sleft(4)); + + sh.set_row_cell(SC_CAUS, c.curr().get("S5"), r); + sh.set_row_cell(SC_CAUSANT, c.curr().get("S6"), r); + sh.check_row(r); + } + } + sh.force_update(); + } //in caso dei grmerc sono cazzi, perchè lo sheet va riempito usando il contenuto di S1 ed S2, che sono tokenstring.. //..di tokenstrings! if (is_table("GMC")) @@ -1252,8 +1306,27 @@ int TVendite_tabapp::write(const TMask& m) curr.put("R0", m.get(ATR_PREZZO)); if (is_table("GMC")) write_gmc(m ,curr); + if (is_table("%TIP")) + { + TTable cnt("%CNT"); + TSheet_field & sh = m.sfield(F_CAUSNUM); - return Tab_application::write(m); + FOR_EACH_SHEET_ROW_LOOP(sh, r) + { + TString cod = sh.get_str_row_cell(r, SC_CODNUM); + + if (cod.full()) + { + cod.rpad(4, ' '); + cod << m.get(F_CODTAB); + cnt.put("CODTAB", cod); + cnt.put("S5", sh.get_str_row_cell(r, SC_CAUS)); + cnt.put("S6", sh.get_str_row_cell(r, SC_CAUSANT)); + cnt.write(); + } + } + } + return Tab_application::write(m); } int TVendite_tabapp::rewrite(const TMask& m) @@ -1270,29 +1343,60 @@ int TVendite_tabapp::rewrite(const TMask& m) curr.put("R0", m.get(ATR_PREZZO)); if (is_table("GMC")) write_gmc(m ,curr); + if (is_table("%TIP")) + { + TCursor c(new TRelation("%CNT")); + TSheet_field & sh = m.sfield(F_CAUSNUM); + TString tip = m.get(F_CODTAB); + for (c = 0L; c.pos() < c.items(); ++c) + { + const TString & cod = c.curr().get("CODTAB"); + + if (tip == cod.mid(4)) + c.curr().remove(); + } + + TTable cnt("%CNT"); + + FOR_EACH_SHEET_ROW_LOOP(sh, r) + { + TString cod = sh.get_str_row_cell(r, SC_CODNUM); + + if (cod.full()) + { + cod.rpad(4, ' '); + cod << m.get(F_CODTAB); + cnt.put("CODTAB", cod); + cnt.put("S5", sh.get_str_row_cell(r, SC_CAUS)); + cnt.put("S6", sh.get_str_row_cell(r, SC_CAUSANT)); + cnt.write(); + } + } + } return Tab_application::rewrite(m); } - bool TVendite_tabapp::user_create() { bool ok = TTable_application::user_create(); if (ok) { const TString& name = get_tabname(); + TMask& mask = *get_mask(MODE_QUERY); - if (name == TAB_GRMERC) - { - TMask& mask = *get_mask(MODE_QUERY); - - mask.set_handler(201, codgmc_handler); - } + if (name == TAB_GRMERC) + mask.set_handler(201, codgmc_handler); + else + if (name == TAB_CAUSNUM) + mask.efield(FC_CODNUM).browse()->cursor()->set_filterfunction(tab_num_filter); + else + if (name == TAB_TIP) + mask.sfield(F_CAUSNUM).sheet_mask().efield(SC_CODNUM).browse()->cursor()->set_filterfunction(tab_num_filter); } return ok; } - int ve0400(int argc, char* argv[]) { TVendite_tabapp vta; diff --git a/src/ve/velib.h b/src/ve/velib.h index d3857f99d..d59f32759 100755 --- a/src/ve/velib.h +++ b/src/ve/velib.h @@ -77,6 +77,8 @@ class TSelect_color_mask; #define MAX_IVA_SLICES 5 +typedef enum { _altro, _bolla, _fattura, _ordine, _scontrino, _confsoci, _prestsoci } tip_doc; + class TDocumento; class TRiga_documento; class TCond_vendita; @@ -443,6 +445,10 @@ public: const TString& tipo_doc(int i) const; int ntipi_doc() const; int find_tipo_doc(const char* cod) const; + bool is_generic() const { return tipo() == _altro; } + bool is_fattura() const { return tipo() == _fattura; } + bool is_bolla() const { return tipo() == _bolla; } + bool is_ordine() const { return tipo() == _ordine; } void complete_num(long num, TString& codnum) const; bool ok() const { return !empty(); } diff --git a/src/ve/vetbeld.h b/src/ve/vetbeld.h index 24d9aad03..7edc25ac4 100755 --- a/src/ve/vetbeld.h +++ b/src/ve/vetbeld.h @@ -87,6 +87,7 @@ #define F_PREZZO_DA_ORDINE 340 #define F_AGGIORNA_PREZZO 341 +#define F_REG_DDOC 342 #define F_QTACON 345 #define F_QTAEV 346 diff --git a/src/ve/vetbeld.uml b/src/ve/vetbeld.uml index 00fe7940b..e2a6105e0 100755 --- a/src/ve/vetbeld.uml +++ b/src/ve/vetbeld.uml @@ -182,7 +182,7 @@ BEGIN DISPLAY "Codice" CODTAB DISPLAY "Tipo documento@50" S0 OUTPUT F_TIPODOC_I_1 CODTAB - CHECKTYPE REQUIRED + CHECKTYPE NORMAL STR_EXPR {(#F_CODNUM_I=="")||(#H_DOC1?=("*"+#THIS_FIELD +"*"))||(#H_DOC2?=("*"+#THIS_FIELD +"*"))} WARNING "E' necessario specificare un valore valido e previsto dalla numerazione" END @@ -511,9 +511,9 @@ END BOOLEAN F_USA_DCONS BEGIN - PROMPT 45 14 "Usa data di consegna" - FIELD B9 - GROUP 2 + PROMPT 45 14 "Usa data di consegna" + FIELD B9 + GROUP 2 END BOOLEAN F_SCARTI @@ -530,6 +530,13 @@ BEGIN GROUP 1 END +BOOLEAN F_REG_DDOC +BEGIN + PROMPT 45 17 "Non registrare per competenza" + FIELD B9 + GROUP 3 +END + BOOLEAN F_RELOAD_PRICES BEGIN PROMPT 45 17 "Ricarica i prezzi" @@ -541,7 +548,7 @@ BEGIN BOOLEAN F_RELOAD_DESCR BEGIN - PROMPT 45 18 "Ricarica le descrizioni" + PROMPT 45 16 "Ricarica le descrizioni" FIELD B14 GROUP 1 2 END @@ -743,6 +750,16 @@ BEGIN GROUP 10 END +LISTBOX F_SPALMA 1 2 +BEGIN + PROMPT 28 12 "Spalmatura spese per acquisti" + FLAGS "H" + ITEM " |No" + ITEM "1|Si" + FIELD I2 + GROUP 3 +END + BOOLEAN F_RIFERIMENTI BEGIN PROMPT 2 15 "Gestione riferimenti" @@ -773,20 +790,11 @@ END BOOLEAN F_USA_DOCRIF BEGIN - PROMPT 2 17 "Usa documento di riferimento in descrizione rif." + PROMPT 2 17 "Usa documento di riferimento in rif." FIELD B8 GROUP 10 END -LISTBOX F_SPALMA 1 2 -BEGIN - PROMPT 68 17 "Spalmatura spese" - ITEM " |No" - ITEM "1|Si" - FIELD I2 - GROUP 3 9 10 -END - LISTBOX F_GROUP_BY_REF 1 2 BEGIN PROMPT 2 18 "Raggruppare per riferimento" @@ -799,8 +807,8 @@ END STRING F_RIF_DOCIN 4 BEGIN - PROMPT 39 18 "Numerazione documenti in entrata" - USE %NUM + PROMPT 42 18 "Numerazione doc. in entrata" + USE %NUM INPUT CODTAB F_RIF_DOCIN DISPLAY "Codice" CODTAB DISPLAY "Descrizione@50" S0 diff --git a/src/ve/vetbnum.h b/src/ve/vetbnum.h index 7caa2a002..65465bb99 100755 --- a/src/ve/vetbnum.h +++ b/src/ve/vetbnum.h @@ -13,8 +13,8 @@ #define F_DOCDEFDIV 113 #define FN_CODNUM 114 #define FN_TIPODOC 115 -#define F_NOFUTUREDOCS 116 - +#define FN_INVIO_DOC 116 +#define F_NOFUTUREDOCS 117 #define F_TIPODOC1 210 #define F_DESDOC1 211 diff --git a/src/ve/vetbnum.uml b/src/ve/vetbnum.uml index 37cc87ecf..d474f42a6 100755 --- a/src/ve/vetbnum.uml +++ b/src/ve/vetbnum.uml @@ -171,10 +171,17 @@ BEGIN PROMPT 2 20 "Numerazione speciale per MSP" FIELD B9 END - + + +BOOLEAN FN_INVIO_DOC +BEGIN + PROMPT 2 21 "Numerazione da inviare SDI" + FIELD B12 +END + LIST F_REVLEN 1 8 BEGIN - PROMPT 2 21 "Cifre riservate alle revisioni (Preventivi) " + PROMPT 2 22 "Cifre riservate alle revisioni (Preventivi) " ITEM "0|Nessuna" ITEM "1|1 Cifra" ITEM "2|2 Cifre" diff --git a/src/ve/vetbspp.h b/src/ve/vetbspp.h index 977276bb0..87de17e69 100755 --- a/src/ve/vetbspp.h +++ b/src/ve/vetbspp.h @@ -21,7 +21,7 @@ #define SPP_DESCRCONTOA 121 #define SPP_TIPORIGA 122 #define SPP_DESCRRIGA 123 -#define SPP_TIPORIT 124 +#define SPP_TIPOR 124 #define SPP_CODTRB 125 #define SPP_CODTRB1 126 #define SPP_SEZIONE 127 @@ -38,7 +38,7 @@ #define SPP_CDC_A3 142 #define SPP_CDC_A4 143 -#define SPP_TIPORITFP 150 +#define SPP_TIPORIT 150 #define SPP_CODQUA 160 #define SPP_CAUSD 161 diff --git a/src/ve/vetbspp.uml b/src/ve/vetbspp.uml index 3529017d9..5424471d7 100755 --- a/src/ve/vetbspp.uml +++ b/src/ve/vetbspp.uml @@ -108,13 +108,13 @@ BEGIN MESSAGE SHOW,3@|HIDE,1@|RESET,1@|ENABLE,4@ END -LISTBOX SPP_TIPORIT 17 +LISTBOX SPP_TIPOR 17 BEGIN PROMPT 43 6 "Tipo ritenuta " FIELD S9 - ITEM " |Spesa normale" - ITEM "F|Ritenuta fiscale" - ITEM "S|Ritenuta Sociale" + ITEM " |Spesa normale" MESSAGE CLEAR,SPP_TIPORIT|HIDE,SPP_TIPORIT|CLEAR,SPP_TIPOCAS|HIDE,SPP_TIPOCAS + ITEM "F|Ritenuta fiscale" MESSAGE ENABLE,SPP_TIPORIT|SHOW,SPP_TIPORIT|CLEAR,SPP_TIPOCAS|HIDE,SPP_TIPOCAS + ITEM "S|Ritenuta Sociale" MESSAGE CLEAR,SPP_TIPORIT|HIDE,SPP_TIPORIT|ENABLE,SPP_TIPOCAS|SHOW,SPP_TIPOCAS END CURRENCY SPP_PREZZO 15 @@ -330,17 +330,43 @@ BEGIN ADD RUN CG0 -0 END -LIST SPP_TIPORITFP 4 37 +LIST SPP_TIPORIT 4 37 BEGIN - PROMPT 2 19 "Tipo Ritenuta (FP)" - FIELD S2[1,4] + PROMPT 2 19 "Tipo Ritenuta " + FIELD S13[1,4] ITEM "|" ITEM "RT01|RT01 - Ritenuta persone fisiche" ITEM "RT02|RT02 - Ritenuta persone giuridiche" - ITEM "RT03|RT03 - Contributo INPS" - ITEM "RT04|RT04 - Contributo ENASARCO" - ITEM "RT05|RT05 - Contributo ENPAM" - ITEM "RT06|RT06 - Altro contributo" +END + +LISTBOX SPP_TIPOCAS 64 +BEGIN + PROMPT 2 19 "Tipo Cassa " + ITEM " | " + ITEM "TC01|Cassa avvocati e procuratori legali" + ITEM "TC02|Cassa dottori commercialisti" + ITEM "TC03|Cassa geometri" + ITEM "TC04|Cassa ingegneri e architetti liberi professionisti" + ITEM "TC05|Cassa del notariato" + ITEM "TC06|Cassa ragionieri e periti commerciali" + ITEM "TC07|Ente agenti e rappresentanti di commercio (ENASARCO)" + ITEM "TC08|Ente consulenti del lavoro (ENPACL)" + ITEM "TC09|Ente medici (ENPAM)" + ITEM "TC10|Ente farmacisti (ENPAF)" + ITEM "TC11|Ente veterinari (ENPAV)" + ITEM "TC12|Ente impiegati dell'agricoltura (ENPAIA)" + ITEM "TC13|Fondo impiegati imprese di spedizione e agenzie marittime" + ITEM "TC14|Istituto previdenza giornalisti italiani (INPGI)" + ITEM "TC15|Opera orfani sanitari italiani (ONAOSI)" + ITEM "TC16|Cassa assistenza integrativa giornalisti italiani (CASAGIT)" + ITEM "TC17|Ente periti industriali e periti industriali laureati (EPPI)" + ITEM "TC18|Ente pluricategoriale (EPAP)" + ITEM "TC19|Ente biologi (ENPAB)" + ITEM "TC20|Ente professione infermieristica (ENPAPI)" + ITEM "TC21|Ente psicologi (ENPAP)" + ITEM "TC22|INPS" + FIELD S13[1,4] + FLAGS "D" END LIST SPP_TIPOSP 1 20 @@ -392,7 +418,7 @@ BEGIN OUTPUT SPP_CODCAUS770 CODTAB FIELD I6 FLAGS "Z" - MODULE 77 + MODULE 77 CHECKTYPE NORMAL END @@ -405,7 +431,7 @@ BEGIN ITEM "SF|Quadro SF" MESSAGE CLEAR,SPP_CAUSD ITEM "SG|Quadro SG" MESSAGE CLEAR,SPP_CAUSD WARNING "Manca il codice quadro" - FIELD S12 + FIELD S12 END STRING SPP_CAUSD 2 @@ -460,41 +486,6 @@ BEGIN ITEM "A|Avere" END -STRING SPP_TIPOCAS 4 -BEGIN - PROMPT 2 23 "Tipo Cassa Previdenziale " - FLAGS "U" - SHEET "Codice|Descrizione@320" - INPUT SPP_TIPOCAS - ITEM " | " - ITEM "TC01|Cassa nazionale previdenza e assistenza avvocati e procuratori legali" - ITEM "TC02|Cassa previdenza dottori commercialisti" - ITEM "TC03|Cassa previdenza e assistenza geometri" - ITEM "TC04|Cassa nazionale previdenza e assistenza ingegneri e architetti liberi professionisti" - ITEM "TC05|Cassa nazionale del notariato" - ITEM "TC06|Cassa nazionale previdenza e assistenza ragionieri e periti commerciali" - ITEM "TC07|Ente nazionale assistenza agenti e rappresentanti di commercio (ENASARCO)" - ITEM "TC08|Ente nazionale previdenza e assistenza consulenti del lavoro (ENPACL)" - ITEM "TC09|Ente nazionale previdenza e assistenza medici (ENPAM)" - ITEM "TC10|Ente nazionale previdenza e assistenza farmacisti (ENPAF)" - ITEM "TC11|Ente nazionale previdenza e assistenza veterinari (ENPAV)" - ITEM "TC12|Ente nazionale previdenza e assistenza impiegati dell'agricoltura (ENPAIA)" - ITEM "TC13|Fondo previdenza impiegati imprese di spedizione e agenzie marittime" - ITEM "TC14|Istituto nazionale previdenza giornalisti italiani (INPGI)" - ITEM "TC15|Opera nazionale assistenza orfani sanitari italiani (ONAOSI)" - ITEM "TC16|Cassa autonoma assistenza integrativa giornalisti italiani (CASAGIT)" - ITEM "TC17|Ente previdenza periti industriali e periti industriali laureati (EPPI)" - ITEM "TC18|Ente previdenza e assistenza pluricategoriale (EPAP)" - ITEM "TC19|Ente nazionale previdenza e assistenza biologi (ENPAB)" - ITEM "TC20|Ente nazionale previdenza e assistenza professione infermieristica (ENPAPI)" - ITEM "TC21|Ente nazionale previdenza e assistenza psicologi (ENPAP)" - ITEM "TC22|INPS" - OUTPUT SPP_TIPOCAS - FIELD S13[0,4] - FLAGS "D" - GROUP 4 -END - BOOLEAN SPP_SOGGRIT BEGIN PROMPT 40 23 "Soggetto a ritenuta" diff --git a/src/ve/vetbtip.h b/src/ve/vetbtip.h index c69c2fa63..af69beec7 100755 --- a/src/ve/vetbtip.h +++ b/src/ve/vetbtip.h @@ -1,12 +1,13 @@ #define F_CODTAB 101 #define FT_DESNUM 102 #define F_PROFILO 103 -#define F_TIPO_SDI_TIP 134 +#define F_TIPO_SDI_TIP 134 #define F_ESPORTA_FP 135 + #define F_PSTAMPA 104 #define F_CODCAUS 105 #define F_DESCAUS 106 -#define FT_NCOPIE 107 +#define FT_NCOPIE 107 #define F_RIFERIMENTO 108 #define F_SPESEAUT 109 #define F_TIPO 110 @@ -16,7 +17,7 @@ #define F_CAUS_MAG 114 #define F_DESCAUS_MAG 115 #define F_STATV 116 -#define FT_PROVV 117 +#define FT_PROVV 117 #define F_STATO_PROVV 118 #define F_SCARES 119 #define F_CODCAUSANT 120 @@ -36,6 +37,7 @@ #define F_CODCUSTFP 136 #define F_AUTOCLOSE 137 #define F_AUTOELAB 138 +#define F_ESPORTA_STATO 139 #define F_STATOF_INS 150 #define F_STATOF_ST 151 @@ -50,6 +52,7 @@ #define F_CODELABK 160 #define F_DESCELABK 161 #define F_RIFFATTAUTO 162 +#define F_SETMAG 163 #define F_STATOI_MOD_1 201 #define F_STATOI_MOD_2 202 @@ -124,3 +127,12 @@ #define FT_GOLEM 511 #define F_ADDROW 512 #define F_QUADRO 513 +#define F_CAUSNUM 514 + +#define SC_CODNUM 101 +#define SC_DESNUM 102 +#define SC_CAUS 103 +#define SC_DESCAUS 104 +#define SC_CAUSANT 105 +#define SC_DESCAUSANT 106 + diff --git a/src/ve/vetbtip.uml b/src/ve/vetbtip.uml index 6833e42bb..42f0372a0 100755 --- a/src/ve/vetbtip.uml +++ b/src/ve/vetbtip.uml @@ -66,13 +66,13 @@ LIST F_TIPO 24 BEGIN PROMPT 2 4 "Tipo documento " FIELD I1 - ITEM "0|Altro" MESSAGE ENABLE,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO - ITEM "1|Bolla" MESSAGE CLEAR,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO - ITEM "2|Fattura" MESSAGE ENABLE,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO - ITEM "3|Ordine" MESSAGE CLEAR,2@|ENABLE,F_LORDO|ENABLE,F_QUADRO - ITEM "4|Scontrino" MESSAGE ENABLE,2@|DISABLE,F_LORDO|"X",F_LORDO|DISABLE,F_QUADRO - ITEM "5|Conferimento soci" MESSAGE CLEAR,2@|DISABLE,F_QUADRO - ITEM "6|Prestazioni ai soci" MESSAGE ENABLE,2@|DISABLE,F_QUADRO + ITEM "0|Altro" MESSAGE ENABLE,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO|HIDE,F_CAUSNUM + ITEM "1|Bolla" MESSAGE CLEAR,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO|HIDE,F_CAUSNUM + ITEM "2|Fattura" MESSAGE ENABLE,2@|ENABLE,F_LORDO|DISABLE,F_QUADRO|SHOW,F_CAUSNUM + ITEM "3|Ordine" MESSAGE CLEAR,2@|ENABLE,F_LORDO|ENABLE,F_QUADRO|HIDE,F_CAUSNUM + ITEM "4|Scontrino" MESSAGE ENABLE,2@|DISABLE,F_LORDO|"X",F_LORDO|DISABLE,F_QUADRO|HIDE,F_CAUSNUM + ITEM "5|Conferimento soci" MESSAGE CLEAR,2@|DISABLE,F_QUADRO|HIDE,F_CAUSNUM + ITEM "6|Prestazioni ai soci" MESSAGE ENABLE,2@|DISABLE,F_QUADRO|HIDE,F_CAUSNUM END STRING F_PROFILO 8 @@ -109,10 +109,26 @@ END BOOLEAN F_ESPORTA_FP BEGIN - PROMPT 65 5 "Invio XML" + PROMPT 64 5 "SDI" + MESSAGE FALSE CLEAR,F_ESPORTA_STATO + MESSAGE TRUE ENABLE,F_ESPORTA_STATO FIELD B13 END +STRING F_ESPORTA_STATO 1 +BEGIN + PROMPT 76 5 "Da " + FIELD S14[1,1] + USE %STD + INPUT CODTAB F_ESPORTA_STATO + DISPLAY "Stato" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_ESPORTA_STATO CODTAB + CHECKYTPE NORMAL + FLAGS "U" + WARNING "Stato assente" +END + GROUPBOX DLG_NULL 78 5 BEGIN PROMPT 1 6 "@bProfili di stampa" @@ -267,15 +283,13 @@ BOOLEAN F_MOVMAG BEGIN PROMPT 2 15 "Mov. magazzino" FIELD B1 - MESSAGE FALSE CLEAR,1@ - MESSAGE TRUE ENABLE,1@ - MESSAGE FALSE CLEAR,1@ - MESSAGE TRUE ENABLE,1@ + MESSAGE FALSE CLEAR,1@|ENABLE,F_SETMAG + MESSAGE TRUE ENABLE,1@|CLEAR,F_SETMAG END STRING F_STATO_MOV_I 1 BEGIN - PROMPT 24 15 "dallo stato " + PROMPT 20 15 "da stato " FIELD S7 USE %STD INPUT CODTAB F_STATO_MOV_I @@ -290,7 +304,7 @@ END STRING F_STATO_MOV_F 1 BEGIN - PROMPT 42 15 "allo stato " + PROMPT 33 15 "a stato " FIELD S8 COPY USE F_STATO_MOV_I INPUT CODTAB F_STATO_MOV_F @@ -305,11 +319,17 @@ END BOOLEAN F_SCARES BEGIN - PROMPT 58 15 "Scarica il residuo" + PROMPT 45 15 "Scarica residuo" FIELD B4 GROUP 1 END +BOOLEAN F_SETMAG +BEGIN + PROMPT 63 15 "Imposta magazzino" + FIELD B16 +END + STRING F_CAUS_MAG 5 BEGIN PROMPT 2 16 "Causale magazzino " @@ -388,8 +408,8 @@ END BOOLEAN F_RIFFATTAUTO BEGIN - PROMPT 2 20 "Date di riferimanto fattura automatiche" - FIELD S14[1,1] + PROMPT 2 20 "Date di riferimento fattura automatiche" + FIELD S13 END ENDPAGE @@ -1246,6 +1266,7 @@ END ENDPAGE + PAGE "Cod.IVA / Configurazioni" 0 2 0 0 GROUPBOX DLG_NULL 32 7 @@ -1305,19 +1326,6 @@ BEGIN PROMPT 38 5 "@bPersonalizzazioni FP" END -STRING F_CODCUSTFP 10 -BEGIN - PROMPT 39 6 "Codice pers. FP " - FIELD S13[1,10] - USE FPCUST - INPUT CODICE F_CODCUSTFP - DISPLAY "Codice" CODICE - DISPLAY "Descrizione@50" DESCR - OUTPUT F_CODCUSTFP CODICE - HELP "Codice della personalizzazione FP da applicare al tipo documento" - MODULE FP -END - GROUPBOX DLG_NULL 62 4 BEGIN PROMPT 1 8 "@bStampa documenti avanzata" @@ -1475,4 +1483,134 @@ BEGIN END ENDPAGE +PAGE "Causali" 0 2 0 0 + +SPREADSHEET F_CAUSNUM -1 -1 +BEGIN + PROMPT 0 1 "Causali per numerazione" + ITEM "Numerazione" + ITEM "Descrizione@30" + ITEM "Causale" + ITEM "Descrizione@30" + ITEM "Causale anticipo" + ITEM "Descrizione@30" +END +ENDPAGE + +ENDMASK + +PAGE "Causali per numerazione" 0 0 0 0 + +GROUPBOX DLG_NULL 78 3 +BEGIN + PROMPT 1 1 "" + FLAGS "R" +END + +STRING SC_CODNUM 4 +BEGIN + PROMPT 2 2 "Numerazione " + FIELD CODTAB[1,4] + HELP "Codice numerazione" + USE %NUM + INPUT CODTAB SC_CODNUM + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT SC_CODNUM CODTAB + OUTPUT SC_DESNUM S0 + CHECKTYPE FORCED + FLAG "UPA" + KEY 1 + WARNING Numerazione #F_CODNUM assente +END + +STRING SC_DESNUM 50 +BEGIN + PROMPT 24 2 "" + HELP "Descrizione numerazione" + USE %NUM KEY 2 + INPUT S0 SC_DESNUM + DISPLAY "Descrizione@60" S0 + DISPLAY "Codice" CODTAB + COPY OUTPUT SC_CODNUM + KEY 1 + GROUP 1 +END + +STRING SC_CAUS 3 +BEGIN + PROMPT 2 5 "Causale " + FIELD S5 + USE LF_CAUSALI + INPUT CODCAUS SC_CAUS + DISPLAY "Codice" CODCAUS + DISPLAY "Descrizione@50" DESCR + OUTPUT SC_CAUS CODCAUS + OUTPUT SC_DESCAUS DESCR + CHECKTYPE NORMAL + FLAG "U" + GROUP 2 + ADD RUN CG0 -4 +END + +STRING SC_DESCAUS 50 +BEGIN + PROMPT 24 5 "" + USE LF_CAUSALI KEY 2 + INPUT DESCR SC_DESCAUS + DISPLAY "Descrizione@50" DESCR + DISPLAY "Codice" CODCAUS + COPY OUTPUT SC_CAUS + CHECKTYPE NORMAL + GROUP 2 +END + +STRING SC_CAUSANT 3 +BEGIN + PROMPT 2 6 "Causale ant. " + FIELD S6 + USE LF_CAUSALI SELECT REG =="" + INPUT CODCAUS SC_CAUSANT + DISPLAY "Codice" CODCAUS + DISPLAY "Descrizione@50" DESCR + OUTPUT SC_CAUSANT CODCAUS + OUTPUT SC_DESCAUSANT DESCR + CHECKTYPE NORMAL + FLAG "U" + GROUP 2 +END + +STRING SC_DESCAUSANT 50 +BEGIN + PROMPT 24 6 "" + USE LF_CAUSALI KEY 2 + INPUT DESCR SC_DESCAUSANT + DISPLAY "Descrizione@50" DESCR + DISPLAY "Codice" CODCAUS + COPY OUTPUT SC_CAUSANT + CHECKTYPE NORMAL + GROUP 2 +END + +ENDPAGE + +TOOLBAR "topbar" 0 0 0 2 + +BUTTON DLG_OK 10 2 +BEGIN + PROMPT -13 -1 "" +END + +BUTTON DLG_DELREC 10 2 +BEGIN + PROMPT -23 -1 "" +END + +BUTTON DLG_CANCEL 10 2 +BEGIN + PROMPT -33 -1 "" +END + +ENDPAGE + ENDMASK