Alre correzioni di errori

git-svn-id: svn://10.65.10.50/trunk@4121 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-02-07 16:25:24 +00:00
parent 2820e83515
commit f89864d07a
27 changed files with 3155 additions and 3024 deletions

View File

@ -317,6 +317,30 @@ bool TSchedaPercipienti::user_create()
set_search_field(F_CODANAGRPERC); set_search_field(F_CODANAGRPERC);
// simulo una chiamata da contabilità
// (lo lascio per eventuali prove)
// real totdocla = ZERO;
// real spesela = ZERO;
// real compensola = ZERO;
// real impostela = ZERO;
// real ritenutela = ZERO;
// TToken_string s(80);
// s.add(3);
// s.add("M");
// s.add("F");
// s.add(30010);
// s.add(1);
// s.add("2");
// s.add("05-02-1997");
// s.add(totdocla.string());
// s.add(spesela.string());
// s.add(compensola.string());
// s.add(impostela.string());
// s.add(ritenutela.string());
// const char* name = "770 -0";
// TMessage mla(name, "LINK770", s);
// mla.send();
// Collegamento da contabilita' // Collegamento da contabilita'
TMailbox m; TMailbox m;
TMessage* msg = m.next_s("LINK770"); TMessage* msg = m.next_s("LINK770");
@ -446,21 +470,20 @@ void TSchedaPercipienti::init_query_mode(TMask& m)
{ {
case fattura: case fattura:
setta_nprog(m, variazione); setta_nprog(m, variazione);
// m.send_key(K_AUTO_ENTER,0); m.send_key(K_AUTO_ENTER,0);
return; return;
break; break;
case pagamento: case pagamento:
if (coll_datanum()) if (coll_datanum())
{ {
setta_nprog(m, variazione); setta_nprog(m, variazione);
// m.send_key(K_AUTO_ENTER, 0); m.send_key(K_AUTO_ENTER,0);
} }
return; return;
break; break;
case occasionale: case occasionale:
/* // setta_nprog(m,FALSE); // Sempre in aggiunta
setta_nprog(m,FALSE); // Sempre in aggiunta m.send_key(K_AUTO_ENTER, 0);
m.send_key(K_AUTO_ENTER, 0); */
return; return;
break; break;
default: default:
@ -782,7 +805,7 @@ bool TSchedaPercipienti::check_handler(TMask_field& f, KEY k)
f.warning_box ("La differenza tra il totale dei versamenti " f.warning_box ("La differenza tra il totale dei versamenti "
"e il totale delle ritenute non puo' superare " "e il totale delle ritenute non puo' superare "
"le %s lire", THRESOLD.string()); "le %s lire", THRESOLD.string());
return FALSE; return forzatura;
} }
} }
return TRUE; return TRUE;

View File

@ -116,6 +116,7 @@ BEGIN
GROUP 1 2 3 4 5 GROUP 1 2 3 4 5
END END
NUMBER 72 5 NUMBER 72 5
BEGIN BEGIN
PROMPT 39 5 "" PROMPT 39 5 ""
@ -124,7 +125,7 @@ BEGIN
WARNING "Inserire il codice CAB" WARNING "Inserire il codice CAB"
HELP "CODICE CAB LUNGO 5" HELP "CODICE CAB LUNGO 5"
MESSAGE COPY,106 MESSAGE COPY,106
FLAGS "HZG" FLAGS "HZ"
GROUP 2 6 GROUP 2 6
END END

View File

@ -20,7 +20,7 @@ class TVersa_rit : public TApplication
real _versato; real _versato;
TRelation* _rel; TRelation* _rel;
TCursor* _cur; TCursor* _cur;
TBrowse_sheet* _sheet_perc; TCursor_sheet* _sheet_perc;
TArray_sheet* _schede; TArray_sheet* _schede;
TArray_sheet* _pagam; TArray_sheet* _pagam;
TMask* _msk; TMask* _msk;
@ -86,6 +86,30 @@ bool TVersa_rit::create()
{ {
TApplication::create(); TApplication::create();
// simulo una chiamata da contabilità
// (lo lascio per eventuali prove)
// real totdocla = ZERO;
// real spesela = ZERO;
// real compensola = ZERO;
// real impostela = ZERO;
// real ritenutela = 70000;
// TToken_string s(80);
// s.add(4);
// s.add("M");
// s.add("F");
// s.add(30010);
// s.add(1);
// s.add("2");
// s.add("05-02-1997");
// s.add(totdocla.string());
// s.add(spesela.string());
// s.add(compensola.string());
// s.add(impostela.string());
// s.add(ritenutela.string());
// const char* name = "770 -1";
// TMessage mla(name, "LINK770", s);
// mla.send();
// Collegamento da contabilita' // Collegamento da contabilita'
TMailbox m; TMailbox m;
TMessage* msg = m.next_s("LINK770"); TMessage* msg = m.next_s("LINK770");
@ -112,44 +136,20 @@ bool TVersa_rit::create()
_msk->set(F_DATA, _coll._datadoc); _msk->set(F_DATA, _coll._datadoc);
_msk->set(F_VERSATO, _coll._ritenute.string()); _msk->set(F_VERSATO, _coll._ritenute.string());
KEY kp = _msk->run();
if (kp != K_ENTER) _sheet_perc = new TCursor_sheet(_cur,
return FALSE; " |TIPOA|CODANAGR|6->RAGSOC",
else "Selezione percipienti",
{ "@1|Tipo|Codice|Ragione sociale@50",
_data = _msk->get(F_DATA); 8, 3);
_luogo = _msk->get(F_LUOGO)[0]; _schede = new TArray_sheet(3, 3, -3, -3,
_tipo = _msk->get(F_TIPO)[0]; "Selezione schede",
_versato = real(_msk->get(F_VERSATO)); "@1|T|Codice|Scheda n.|Data@10|Ragione@50");
if (_tipo == DELEGA_BANCARIA) _pagam = new TArray_sheet(3, 3, -3, -3,
{ "Selezione ritenute da versare",
_serie = _msk->get(F_ABI);
_numero = _msk->get(F_CAB);
}
else
{
_serie = _msk->get(F_SERIE);
_numero = _msk->get(F_NUMERO);
}
}
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODANAGRPERC);
TToken_string siblings; // non ho ricerche alternative
_sheet_perc = new TBrowse_sheet(_cur," |TIPOA|CODANAGR|6->RAGSOC", "Selezione percipienti",
"@1|Tipo|Codice|Ragione sociale@50", 8, &dummy,siblings);
_sheet_perc->maximize();
_schede = new TArray_sheet(-1, -1, 0, 0, "Selezione Schede","@1|T|Codice|Ragione@50|N.|Data@10");
_schede->maximize();
_pagam = new TArray_sheet(-1, -1, 0, 0, "Selezione Ritenute da versare",
"@1|T|Codice|Scheda n.|Riga n.|Ritenuta@15"); "@1|T|Codice|Scheda n.|Riga n.|Ritenuta@15");
_pagam->maximize();
_apags.destroy(); _apags.destroy();
dispatch_e_menu (BAR_ITEM(1)); dispatch_e_menu (BAR_ITEM(1));
return TRUE; return TRUE;
} }
@ -351,7 +351,7 @@ void TVersa_rit::build_pagam_sheet(const long codditta)
TToken_string& r = _schede->row(i); TToken_string& r = _schede->row(i);
char tipoa = r.get_char(1); char tipoa = r.get_char(1);
long codanagr = r.get_long(2); long codanagr = r.get_long(2);
const int nprog = r.get_int(4); const int nprog = r.get_int(3);
TToken_string* tpag = find(codditta,tipoa,codanagr,nprog); TToken_string* tpag = find(codditta,tipoa,codanagr,nprog);
@ -411,9 +411,9 @@ void TVersa_rit::build_schede_sheet(const long codditta)
rr.add(" "); // Spazio per selezionare rr.add(" "); // Spazio per selezionare
rr.add(tipoa); rr.add(tipoa);
rr.add(codanagr); rr.add(codanagr);
rr.add(ragsoc);
rr.add(nprog); rr.add(nprog);
rr.add(datadoc); rr.add(datadoc);
rr.add(ragsoc);
_schede->add(rr); _schede->add(rr);
} }
sch.next(); sch.next();
@ -426,6 +426,31 @@ bool TVersa_rit::do_all()
KEY kp; KEY kp;
long items = 0L; long items = 0L;
// esecuzione prima maschera: richiesta estremi versamento
kp = _msk->run();
if (kp != K_ENTER)
return FALSE;
else
{
_data = _msk->get(F_DATA);
_luogo = _msk->get(F_LUOGO)[0];
_tipo = _msk->get(F_TIPO)[0];
_versato = real(_msk->get(F_VERSATO));
if (_tipo == DELEGA_BANCARIA)
{
_serie = _msk->get(F_ABI);
_numero = _msk->get(F_CAB);
}
else
{
_serie = _msk->get(F_SERIE);
_numero = _msk->get(F_NUMERO);
}
}
// loop di gestione sheet di scelta percipiente,
// scelta scheda e scelta pagamento da versare
while (TRUE) while (TRUE)
{ {
items = _sheet_perc->items(); items = _sheet_perc->items();

View File

@ -1,6 +1,6 @@
#include "770200a.h" #include "770200a.h"
PAGE "MODULO 770 - Collegamento versamento ritenute" -1 -1 75 15 PAGE "Versamento ritenute" -1 -1 75 15
GROUPBOX DLG_NULL 74 3 GROUPBOX DLG_NULL 74 3
BEGIN BEGIN
@ -34,24 +34,6 @@ BEGIN
FLAGS "H" FLAGS "H"
END END
// Questo campo serve solo per poter istanziare un browse_sheet nel programma
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 15 8 ""
USE LF_PERC KEY 1 SELECT (CODDITTA=#F_CODDITTA)
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
// OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
FLAGS "HG"
END
GROUPBOX DLG_NULL 74 5 GROUPBOX DLG_NULL 74 5
BEGIN BEGIN
PROMPT 1 4 "@bDati versamento" PROMPT 1 4 "@bDati versamento"
@ -152,7 +134,7 @@ BEGIN
GROUP 2 6 GROUP 2 6
END END
NUMBER F_CAB 6 NUMBER F_CAB 5
BEGIN BEGIN
PROMPT 39 7 "" PROMPT 39 7 ""
FLAGS "Z" FLAGS "Z"

View File

@ -593,7 +593,7 @@ bool TDati_anagrafici::main_loop()
} }
} }
_msk->close(); _msk->close_modal();
return FALSE; return FALSE;
} }

View File

@ -51,7 +51,7 @@ BEGIN
FLAGS "HG" FLAGS "HG"
END END
STRING F_RAGSOC2 45 STRING F_RAGSOC2 50 45
BEGIN BEGIN
PROMPT 24 0 "" PROMPT 24 0 ""
FLAGS "D" FLAGS "D"

View File

@ -53,7 +53,7 @@ BEGIN
FLAGS "HG" FLAGS "HG"
END END
STRING F_RAGSOC2 45 STRING F_RAGSOC2 50 45
BEGIN BEGIN
PROMPT 24 0 "" PROMPT 24 0 ""
FLAGS "D" FLAGS "D"

View File

@ -54,7 +54,7 @@ BEGIN
FLAGS "HG" FLAGS "HG"
END END
STRING F_RAGSOC2 45 STRING F_RAGSOC2 50 45
BEGIN BEGIN
PROMPT 24 0 "" PROMPT 24 0 ""
FLAGS "D" FLAGS "D"

View File

@ -54,7 +54,7 @@ BEGIN
FLAGS "HG" FLAGS "HG"
END END
STRING F_RAGSOC2 45 STRING F_RAGSOC2 50 45
BEGIN BEGIN
PROMPT 24 0 "" PROMPT 24 0 ""
FLAGS "D" FLAGS "D"

View File

@ -1,8 +1,5 @@
// 771231.cpp - Quadri F // 771231.cpp - Quadri F
// //
// Lista modifiche
// 12. 1.96 Controlla codcaus anche dopo che e' stato immesso (nf)
//
#include <relapp.h> #include <relapp.h>
#include <config.h> #include <config.h>
#include <msksheet.h> #include <msksheet.h>
@ -65,6 +62,7 @@ class TQuadroF : public TRelation_application
static bool ealiq_handler(TMask_field& f, KEY k); static bool ealiq_handler(TMask_field& f, KEY k);
static bool fsogg_handler(TMask_field& f, KEY k); static bool fsogg_handler(TMask_field& f, KEY k);
static bool faliq_handler(TMask_field& f, KEY k); static bool faliq_handler(TMask_field& f, KEY k);
static bool mainmsk_handler(TMask& m, KEY k);
static bool a_notify(TSheet_field& s, int r, KEY k); static bool a_notify(TSheet_field& s, int r, KEY k);
static bool b_notify(TSheet_field& s, int r, KEY k); static bool b_notify(TSheet_field& s, int r, KEY k);
static bool c_notify(TSheet_field& s, int r, KEY k); static bool c_notify(TSheet_field& s, int r, KEY k);
@ -91,6 +89,7 @@ class TQuadroF : public TRelation_application
void fill_ss(TMask& m); void fill_ss(TMask& m);
void riempi_prospetto(TMask& m, const char prosp); void riempi_prospetto(TMask& m, const char prosp);
int re_write(const TMask& m, bool re); int re_write(const TMask& m, bool re);
int elimina();
public: public:
TString16 _quadro, _aliq_caus; TString16 _quadro, _aliq_caus;
@ -194,6 +193,7 @@ bool TQuadroF::user_create()
_msk->set_handler(E_ALI, ealiq_handler); _msk->set_handler(E_ALI, ealiq_handler);
_msk->set_handler(F_SOGG, fsogg_handler); _msk->set_handler(F_SOGG, fsogg_handler);
_msk->set_handler(F_ALI, faliq_handler); _msk->set_handler(F_ALI, faliq_handler);
_msk->set_handler(mainmsk_handler);
TSheet_field& p_a = (TSheet_field&) _msk->field(F_A); TSheet_field& p_a = (TSheet_field&) _msk->field(F_A);
p_a.set_notify(a_notify); p_a.set_notify(a_notify);
p_a.sheet_mask().set_handler(S_CODC, codc_handler); p_a.sheet_mask().set_handler(S_CODC, codc_handler);
@ -242,7 +242,7 @@ bool TQuadroF::user_create()
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar _msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar _msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p_b = (TSheet_field&) _msk->field(F_B); TSheet_field& p_b = (TSheet_field&) _msk->field(F_B);
p_b.sheet_mask().set_handler(S_CODC, codc_handler); p_b.sheet_mask().set_handler(S_CODC, codc_handler);
p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler); p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler);
@ -266,7 +266,7 @@ bool TQuadroF::user_create()
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar _msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar _msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p_b = (TSheet_field&) _msk->field(F_B); TSheet_field& p_b = (TSheet_field&) _msk->field(F_B);
p_b.sheet_mask().set_handler(S_CODC, codc_handler); p_b.sheet_mask().set_handler(S_CODC, codc_handler);
p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler); p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler);
@ -658,6 +658,26 @@ int TQuadroF::re_write(const TMask& m, bool re)
return err_b; return err_b;
} }
int TQuadroF::elimina()
{
int err;
// eliminazione righe del quadro
TRectype& recrf = _rf->curr();
recrf.zero();
recrf.put("CODDITTA",_codditta);
_rf->setkey(1);
for (err = _rf->read(_isequal, _lock); // stato iniziale
err == NOERR; // condizione di uscita
err = _rf->read(_isequal, _lock)) // incremento
{
_rf->remove(); // eliminazione riga quadro
}
if (err == _iskeynotfound)
_rf->reread();
return err;
}
bool TQuadroF::remove() bool TQuadroF::remove()
{ {
bool ok, ok_a, ok_b, ok_c, ok_d; bool ok, ok_a, ok_b, ok_c, ok_d;
@ -763,6 +783,16 @@ bool TQuadroF::d_notify(TSheet_field& s, int r, KEY k)
return TRUE; return TRUE;
} }
bool TQuadroF::mainmsk_handler(TMask& m, KEY k)
{
if (k == K_ESC)
{
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
return TRUE;
}
bool TQuadroF::eprov_handler(TMask_field& f, KEY k) bool TQuadroF::eprov_handler(TMask_field& f, KEY k)
{ {
if (k == K_TAB && f.focusdirty()) if (k == K_TAB && f.focusdirty())
@ -956,7 +986,7 @@ real TQuadroF::calcola_rope(TMask_field& f, const real& sogg, const bool force)
m.reset(id_rope); m.reset(id_rope);
// Nel prospetto A oltre alla ritenuta operata setto anche S_SALD // Nel prospetto A oltre alla ritenuta operata setto anche S_SALD
if ((app()._tipo_prosp == 'E') && (m.get_sheet()->dlg() == F_A)) if ((app()._tipo_prosp == 'A') && (m.get_sheet()->dlg() == F_A))
{ {
const real pa_col5(f.mask().get(S_TACC)); const real pa_col5(f.mask().get(S_TACC));
real pa_col6 = pa_col4 - pa_col5; real pa_col6 = pa_col4 - pa_col5;

View File

@ -1,12 +1,6 @@
// 771231a.h - quadro F // 771231a.h - quadro F
// *NOTA* gli identificatori fino al 119 sono per spreadsheet // *NOTA* gli identificatori fino al 119 sono per spreadsheet
#define F_CODDITTA 101
#define F_RAGDITTA 102
#define F_A 103
#define F_B 104
#define F_C 105
#define F_D 106
#define F_A1 120 #define F_A1 120
#define F_A2 121 #define F_A2 121
#define F_A3 122 #define F_A3 122
@ -20,7 +14,12 @@
#define F_SOGG 130 #define F_SOGG 130
#define F_ROP 131 #define F_ROP 131
#define F_CODCAU 132 #define F_CODCAU 132
#define DLG_AZZERA 133
#define F_CODDITTA 134
#define F_RAGDITTA 135
#define F_A 136
#define F_B 137
#define F_C 138
#define F_D 139

View File

@ -1,3 +1,7 @@
// Gruppi utilizzati :
// 1 - identifica il codice ditta di intestazione da replicare sulle pagine
// 2 - identifica la descrizione ditta di intestazione da replicare sulle pagine
#include "771231a.h" #include "771231a.h"
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
@ -21,12 +25,14 @@ BEGIN
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "GRD" FLAGS "GRD"
MESSAGE COPY,1@
END END
STRING F_RAGDITTA 50 STRING F_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
MESSAGE COPY,2@
END END
TEXT DLG_NULL TEXT DLG_NULL
@ -34,7 +40,7 @@ BEGIN
PROMPT 1 3 "@bProspetto A" PROMPT 1 3 "@bProspetto A"
END END
SPREADSHEET F_A 0 8 SPREADSHEET F_A 78 8
BEGIN BEGIN
PROMPT 0 4 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
@ -47,55 +53,55 @@ BEGIN
ITEM "Somma versata@15" ITEM "Somma versata@15"
END END
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 0 6
BEGIN BEGIN
PROMPT 1 12 "" PROMPT 1 13 ""
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 13 "A1 Importo di col.7 ..." PROMPT 3 14 "A1 Importo di col.7 ..."
END END
NUMBER F_A1 15 NUMBER F_A1 15
BEGIN BEGIN
PROMPT 60 13 "" PROMPT 60 14 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->A1 FIELD LF_QUAF->A1
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 14 "A2 Importo di col.7 di cui si chiede il rimborso" PROMPT 3 15 "A2 Importo di col.7 di cui si chiede il rimborso"
END END
NUMBER F_A2 15 NUMBER F_A2 15
BEGIN BEGIN
PROMPT 60 14 "" PROMPT 60 15 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->A2 FIELD LF_QUAF->A2
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 15 "A3 Somme soggette a ritenuta ..." PROMPT 3 16 "A3 Somme soggette a ritenuta ..."
END END
NUMBER F_A3 15 NUMBER F_A3 15
BEGIN BEGIN
PROMPT 60 15 "" PROMPT 60 16 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->A3 FIELD LF_QUAF->A3
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 16 "A4 Ritenute operate ..." PROMPT 3 17 "A4 Ritenute operate ..."
END END
NUMBER F_A4 15 NUMBER F_A4 15
BEGIN BEGIN
PROMPT 60 16 "" PROMPT 60 17 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->A4 FIELD LF_QUAF->A4
END END
@ -104,14 +110,33 @@ ENDPAGE
PAGE "Prospetto B,C" -1 -1 78 18 PAGE "Prospetto B,C" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
GROUP 2
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 0 "@bProspetto B" PROMPT 1 3 "@bProspetto B"
END END
SPREADSHEET F_B 78 6 SPREADSHEET F_B 78 6
BEGIN BEGIN
PROMPT 0 1 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@50"
ITEM "Aliquota" ITEM "Aliquota"
@ -121,12 +146,12 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 8 "@bProspetto C" PROMPT 1 11 "@bProspetto C"
END END
SPREADSHEET F_C 78 6 SPREADSHEET F_C 78 6
BEGIN BEGIN
PROMPT 0 9 "" PROMPT 0 12 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@50"
ITEM "Aliquota" ITEM "Aliquota"
@ -138,14 +163,33 @@ ENDPAGE
PAGE "Prospetto D,E,F" -1 -1 78 18 PAGE "Prospetto D,E,F" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
GROUP 2
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 0 "@bProspetto D" PROMPT 1 3 "@bProspetto D"
END END
SPREADSHEET F_D 78 6 SPREADSHEET F_D 78 6
BEGIN BEGIN
PROMPT 0 1 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@50"
ITEM "Aliquota" ITEM "Aliquota"
@ -155,36 +199,36 @@ END
GROUPBOX DLG_NULL 0 5 GROUPBOX DLG_NULL 0 5
BEGIN BEGIN
PROMPT 1 8 "@bProspetto E" PROMPT 1 11 "@bProspetto E"
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 9 "Importo complessivo delle cambiali " PROMPT 2 12 "Importo complessivo delle cambiali "
END END
NUMBER E_CAMBIAL 15 NUMBER E_CAMBIAL 15
BEGIN BEGIN
PROMPT 60 9 "" PROMPT 60 12 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->E_CAMBIALI FIELD LF_QUAF->E_CAMBIALI
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 10 "Proventi soggetti a ritenuta " PROMPT 2 13 "Proventi soggetti a ritenuta "
END END
NUMBER E_PROVENTI 15 NUMBER E_PROVENTI 15
BEGIN BEGIN
PROMPT 60 10 "" PROMPT 60 13 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->E_SOGRIT FIELD LF_QUAF->E_SOGRIT
END END
NUMBER E_ALI 5 NUMBER E_ALI 5
BEGINE BEGINE
PROMPT 2 11 "Aliquota " PROMPT 2 14 "Aliquota "
FIELD LF_QUAF->E_ALIQUOTA FIELD LF_QUAF->E_ALIQUOTA
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
@ -192,19 +236,19 @@ END
NUMBER E_ROP 15 NUMBER E_ROP 15
BEGIN BEGIN
PROMPT 43 11 "Ritenuta operata " PROMPT 43 14 "Ritenuta operata "
PICTURE "." PICTURE "."
FIELD LF_QUAF->E_ROPE FIELD LF_QUAF->E_ROPE
END END
GROUPBOX DLG_NULL 0 5 GROUPBOX DLG_NULL 0 5
BEGIN BEGIN
PROMPT 1 13 "@bProspetto F" PROMPT 1 16 "@bProspetto F"
END END
STRING F_CODCAU 2 STRING F_CODCAU 2
BEGIN BEGIN
PROMPT 2 14 "Causale " PROMPT 2 17 "Causale "
USE %CA7 SELECT (S1="F") USE %CA7 SELECT (S1="F")
VALIDATE REQIF_FUNC 3 F_SOGG F_ALI F_ROP VALIDATE REQIF_FUNC 3 F_SOGG F_ALI F_ROP
INPUT CODTAB F_CODCAU INPUT CODTAB F_CODCAU
@ -227,20 +271,20 @@ END
STRING F_DESCRCAUS 60 STRING F_DESCRCAUS 60
BEGIN BEGIN
PROMPT 16 14 "" PROMPT 16 17 ""
FLAGS "D" FLAGS "D"
END END
NUMBER F_SOGG 15 NUMBER F_SOGG 15
BEGIN BEGIN
PROMPT 2 15 "Somme soggette a ritenuta " PROMPT 2 18 "Somme soggette a ritenuta "
PICTURE "." PICTURE "."
FIELD LF_QUAF->F_SOGRIT FIELD LF_QUAF->F_SOGRIT
END END
NUMBER F_ALI 5 NUMBER F_ALI 5
BEGIN BEGIN
PROMPT 51 15 "Aliquota " PROMPT 51 18 "Aliquota "
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
FIELD LF_QUAF->F_ALIQUOTA FIELD LF_QUAF->F_ALIQUOTA
@ -248,7 +292,7 @@ END
NUMBER F_ROP 15 NUMBER F_ROP 15
BEGIN BEGIN
PROMPT 2 16 "Ritenuta operata " PROMPT 2 19 "Ritenuta operata "
PICTURE "." PICTURE "."
FIELD LF_QUAF->F_ROPE FIELD LF_QUAF->F_ROPE
END END

View File

@ -81,9 +81,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -1,6 +1,6 @@
// 771231c.uml - quadro F prospetto B-C-D // 771231c.uml - quadro F prospetto B-C-D
PAGE "Prospetto B-C-D" -1 -1 76 9 PAGE "" -1 -1 76 9
NUMBER 101 2 NUMBER 101 2
BEGIN BEGIN
@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -42,12 +42,12 @@ END
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -12 -1 ""
END END
BUTTON DLG_QUIT 10 2 BUTTON DLG_QUIT 10 2
BEGIN BEGIN
PROMPT -12 -1 "Fine" PROMPT -22 -1 "Fine"
END END
ENDPAGE ENDPAGE

View File

@ -20,7 +20,7 @@ BEGIN
FLAGS "H" FLAGS "H"
END END
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 76 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END

View File

@ -60,7 +60,7 @@ bool TImmissioneDichiarazione::do_it()
if (enter_dichiar_770(codditta, _anno_dic)) if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita"); message_box("Dichiarazione inserita");
} }
_msk->close(); _msk->close_modal();
return tasto == K_ENTER; return tasto == K_ENTER;
} }

View File

@ -28,7 +28,9 @@ class TParametri_genera : public TApplication
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
public: public:
KEY registra(TMask& m, bool check_dirty);
bool main_loop(); bool main_loop();
// D = stampa ditta, S = stampa a livello di studio // D = stampa ditta, S = stampa a livello di studio
TParametri_genera(char livello='D') : _liv(toupper(livello)) {} TParametri_genera(char livello='D') : _liv(toupper(livello)) {}
}; };
@ -41,68 +43,108 @@ void TParametri_genera::on_config_change()
_anno_dic = (int)conf.get_long(ANNO_SEL, _section); _anno_dic = (int)conf.get_long(ANNO_SEL, _section);
} }
KEY TParametri_genera::registra(TMask& m, bool check_dirty)
{
KEY k = K_YES;
if (check_dirty && m.dirty())
k = yesnocancel_box("Registrare le modifiche?");
if (k == K_YES)
{
m.autosave(*_rel);
_rel->rewrite();
}
return k;
}
bool TParametri_genera::main_loop() bool TParametri_genera::main_loop()
{ {
KEY tasto;
TMask msk ("776500a");
long codditta, codditta_prec; long codditta, codditta_prec;
int i = 0; int i = 0;
KEY tasto;
TMask msk("776500a");
msk.open_modal();
// da dichiarazioni selezionate
if (_liv == 'S') if (_liv == 'S')
{ {
codditta_prec = get_firm_770(); codditta_prec = get_firm_770();
while ((codditta = _cnf->get_long(DITTE_SEL, _section, i++)) != 0L) tasto = K_TAB;
// loop di scansione dichiarazioni selezionate
while ((codditta = _cnf->get_long(DITTE_SEL, _section, i++)) != 0L
&& tasto != K_QUIT)
{ {
set_firm_770(codditta); set_firm_770(codditta);
_rel->lfile().put("CODDITTA", codditta); _rel->lfile().put("CODDITTA", codditta);
_rel->read(); _rel->read();
msk.autoload(*_rel); msk.autoload(*_rel);
tasto = msk.run(); tasto = K_TAB;
if (tasto == K_ESC) continue; // loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
if (tasto == K_SAVE)
{ {
msk.autosave(*_rel); tasto = msk.run();
_rel->rewrite(); switch (tasto)
{
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_SAVE:
registra(msk,FALSE);
default:
break;
}
} // endloop di gestione maschera
} // endloop di scansione dichiarazioni selezionate
set_firm_770(codditta_prec);
} }
if (tasto == K_QUIT) break; // dalla manutenzione dichiarazione
}
set_firm_770(codditta_prec);
return FALSE;
}
else else
{ {
codditta = get_firm_770(); codditta = get_firm_770();
_rel->lfile().put("CODDITTA", codditta); _rel->lfile().put("CODDITTA", codditta);
_rel->read(); _rel->read();
msk.autoload(*_rel); msk.autoload(*_rel);
tasto = K_TAB;
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run(); tasto = msk.run();
switch (tasto)
if (tasto == K_ESC)
{ {
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 1; _risposta = 1;
return FALSE; break;
} case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
if (tasto == K_SAVE) tasto = K_TAB;
{
msk.autosave(*_rel);
_rel->rewrite();
_risposta = 1;
}
if (tasto == K_QUIT)
{
_risposta = 0; _risposta = 0;
return FALSE; break;
case K_SAVE:
registra(msk,FALSE);
_risposta = 1;
default:
break;
} }
} // endloop di gestione maschera
} }
msk.close_modal();
return FALSE; return FALSE;
} }

View File

@ -4,7 +4,7 @@ TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN
@ -24,7 +24,7 @@ END
ENDPAGE ENDPAGE
PAGE "Prospetto dati generali" -1 -1 78 18 PAGE "Parametri di generazione" -1 -1 78 18
#define G_ABICAB 1 #define G_ABICAB 1
#define G_DISTINTA 2 #define G_DISTINTA 2

View File

@ -20,7 +20,7 @@ class TEstinti_app : public TApplication
TLocalisamfile* _base, *_basebis; TLocalisamfile* _base, *_basebis;
TRelation* _rel; TRelation* _rel;
TCursor* _cur; TCursor* _cur;
TBrowse_sheet* _estint_sheet; TCursor_sheet* _estint_sheet;
static bool show_estinti(TMask_field& f, KEY k); static bool show_estinti(TMask_field& f, KEY k);
void force_output(int dlg, const long cod); void force_output(int dlg, const long cod);
@ -76,10 +76,8 @@ bool TEstinti_app::create()
TString16 filt; TString16 filt;
filt.format("CODDIC=%ld", _codditta); filt.format("CODDIC=%ld", _codditta);
_cur = new TCursor(_rel, filt); _cur = new TCursor(_rel, filt);
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODDIC_DUMMY); _estint_sheet = new TCursor_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
TToken_string siblings; "Codice|Ragione sociale@50", 0x18, 3);
_estint_sheet = new TBrowse_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
"Codice|Ragione sociale@50", 8, &dummy, siblings);
_msk->set_handler(F_ESTINTI, show_estinti); _msk->set_handler(F_ESTINTI, show_estinti);
dispatch_e_menu (BAR_ITEM(1)); dispatch_e_menu (BAR_ITEM(1));
return TRUE; return TRUE;
@ -198,7 +196,7 @@ bool TEstinti_app::main_loop()
break; break;
} }
} }
_msk->close(); _msk->close_modal();
return FALSE; return FALSE;
} }

View File

@ -30,19 +30,6 @@ BEGIN
FLAGS "D" FLAGS "D"
END END
// serve solo per costruire un Browse_sheet. v. 776600.cpp
NUMBER F_CODDIC_DUMMY 5
BEGIN
PROMPT 1 1 ""
USE LF_BASE KEY 2
JOIN LF_NDITTE TO LF_BASE KEY 1 INTO CODDITTA=CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" LF_NDITTE->RAGSOC
OUTPUT F_CODDIC CODDITTA
FLAGS "HG"
END
NUMBER F_CODDIC 5 NUMBER F_CODDIC 5
BEGIN BEGIN
PROMPT 1 3 "Soggetto dichiarante " PROMPT 1 3 "Soggetto dichiarante "

View File

@ -51,7 +51,7 @@ BEGIN
FLAGS "HG" FLAGS "HG"
END END
STRING F_RAGSOC2 45 STRING F_RAGSOC2 50 45
BEGIN BEGIN
PROMPT 24 0 "" PROMPT 24 0 ""
FLAGS "D" FLAGS "D"