Patch level : 10.0 978

Files correlati     : ef0.exe ef0300a.msk ef0300b.msk ef0300c.msk
Ricompilazione Demo : [ ]
Commento            :
0001828: 207043 - Eliwork selezione effetti
Il cliente in oggetto mi segnala che la creazione manuale effetti, oltre agli effetti spuntati ne estrae altri a random.


git-svn-id: svn://10.65.10.50/branches/R_10_00@21943 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-04-13 13:54:17 +00:00
parent 8c83d9664e
commit 56498e8cc7
6 changed files with 262 additions and 257 deletions

View File

@ -6,36 +6,38 @@ int main(int argc, char** argv)
const char op = argc < 2 ? '0' : argv[1][1];
switch (op)
{
case '1':
ef0200(argc,argv);// GENERAZIONE EFFETTI DA E/C (OBSOLETO NON USARE PIU")
break;
case '2':
ef0300(argc,argv);// AGGIORNAMENTO DISTINTE (DISTINTE DI PRESENTAZIONE)
break;
case '3':
ef0400(argc,argv);// ELIMINAZIONE EFFETTI
break;
case '4':
ef0500(argc,argv);// EMISSIONE EFFETTI/DISTINTE
break;
case '5':
ef0600(argc,argv);// STAMPE DI CONTROLLO EFFETTI
break;
case '6':
ef0700(argc,argv);// GESTIONE TABELLA BANCHE DI PRESENTAZIONE
break;
case '7':
ef0800(argc,argv);// CONTABILIZZAZIONE EFFETTI
break;
case '8':
ef0900(argc,argv);// PARAMETRI EFFETTI
break;
case '9':
ef0A00(argc,argv);// GENERAZIONE DISTINTE DA SCADENZE
break;
default:
ef0100(argc,argv);// GESTIONE EFFETTI
break;
/*
case '1':
ef0200(argc,argv);// GENERAZIONE EFFETTI DA E/C (OBSOLETO NON USARE PIU")
break;
*/
case '2':
ef0300(argc,argv);// AGGIORNAMENTO DISTINTE (DISTINTE DI PRESENTAZIONE)
break;
case '3':
ef0400(argc,argv);// ELIMINAZIONE EFFETTI
break;
case '4':
ef0500(argc,argv);// EMISSIONE EFFETTI/DISTINTE
break;
case '5':
ef0600(argc,argv);// STAMPE DI CONTROLLO EFFETTI
break;
case '6':
ef0700(argc,argv);// GESTIONE TABELLA BANCHE DI PRESENTAZIONE
break;
case '7':
ef0800(argc,argv);// CONTABILIZZAZIONE EFFETTI
break;
case '8':
ef0900(argc,argv);// PARAMETRI EFFETTI
break;
case '9':
ef0A00(argc,argv);// GENERAZIONE DISTINTE DA SCADENZE
break;
default:
ef0100(argc,argv);// GESTIONE EFFETTI
break;
}
return 0;
}

View File

@ -28,7 +28,7 @@ protected:
virtual int write(const TMask& m);
virtual bool remove();
virtual TMask* get_mask(int mode) {return _msk;}
virtual bool changing_mask(int mode) {return FALSE;}
virtual bool changing_mask(int mode) {return false;}
virtual bool has_filtered_cursor() const { return true; }
static bool tipodist_handler(TMask_field& f, KEY k);
static bool importo_handler(TMask_field& f, KEY k);
@ -46,9 +46,10 @@ protected:
static void calcola();
static void aggiungi();
static bool effetto_aggiunto(const long numero);
static void carica_riba(int tipopag, const bool reset = TRUE);
static void ord_data();
static void ord_fatt();
static void carica_riba(int tipopag, const bool reset = true);
static void ordina(COMPARE_FUNCTION cf);
static const TString& get_ban_desc(const TRectype& eff);
// ritorna un riferimento allo sheet degli effetti (righe) nella
// distinta
TSheet_field& righe_sheet() const { return _msk->sfield(F_SHEET_RIBA); }
@ -129,7 +130,7 @@ const char* TVariazione_distinte::get_next_key()
return format("%d|%ld",F_NUMBER,ndist);
}
// ritorna TRUE se trovo nell'array delle righe distinta l'effetto
// ritorna true se trovo nell'array delle righe distinta l'effetto
// passato
bool TVariazione_distinte::cerca(long num)
{
@ -140,9 +141,9 @@ bool TVariazione_distinte::cerca(long num)
TEffetto& eff = (TEffetto&)righedist[i];
if (num == eff.get_long(EFF_NPROGTR))
return TRUE;
return true;
}
return FALSE;
return false;
}
// metodo che permette di scivere sull'array (in memoria) gli
@ -194,6 +195,22 @@ TToken_string* TVariazione_distinte::common_f(const TMask& m, TToken_string& dat
return &datidist;
}
const TString& TVariazione_distinte::get_ban_desc(const TRectype& eff)
{
TString16 codice = eff.get(EFF_CODABI);
const TString& des_abi = cache().get("%BAN", codice, "S0");
codice << eff.get(EFF_CODCAB);
const TString& des_cab = cache().get("%BAN", codice, "S0");
if (des_cab.starts_with(des_abi))
return des_cab;
TString& tmp = get_tmp_string();
tmp << des_abi << ' ' << des_cab;
tmp.strip_double_spaces();
return tmp.cut(50);
}
// carica nella maschera i dati dai files
int TVariazione_distinte::read(TMask& m)
{
@ -235,14 +252,8 @@ int TVariazione_distinte::read(TMask& m)
codice.cut(0);
codice << eff.get_tipo(); codice << '|' << eff.get(EFF_CODCF);
riga.add(cache().get(LF_CLIFO, codice, CLI_RAGSOC));
codice = eff.get(EFF_CODABI);
TString desc = cache().get("%BAN", codice, "S0");
codice << eff.get(EFF_CODCAB);
desc << ' ' << cache().get("%BAN", codice, "S0");
desc.cut(50);
riga.add(desc);
riga.add(cache().get(LF_CLIFO, codice, CLI_RAGSOC));
riga.add(get_ban_desc(eff));
if (eff.fatt(numero))// se l'effetto contiene solo una fattura
{ // metto i riferimenti al documento ed al numero di rata
@ -325,7 +336,7 @@ int TVariazione_distinte::rewrite(const TMask& m)
if (num == eff.get_long(EFF_NPROGTR))
{
// tolgo l'effetto dall'array
righedist.destroy(j,TRUE);
righedist.destroy(j,true);
break;
}
}
@ -371,7 +382,7 @@ int TVariazione_distinte::write(const TMask& m)
aggiorna();
TToken_string datidist;
err = _distinta->write(TRUE, common_f(m, datidist));
err = _distinta->write(true, common_f(m, datidist));
if (err == NOERR)
{ //riposiziono la relazione
_rel->lfile().setkey(4);
@ -423,7 +434,7 @@ bool TVariazione_distinte::user_create()
_m2->set_handler(F_TIPORD, ordina_handler);
righe_sel_sheet().set_notify(imp_notify);
righe_sel_sheet().sheet_mask().set_handler(FIRST_FIELD, check_handler);
return TRUE;
return true;
}
// distruggo la relap
@ -433,7 +444,7 @@ bool TVariazione_distinte::user_destroy()
delete _m2;
delete _rel;
delete _distinta;
return TRUE;
return true;
}
// Cerca se la riba indicata da <numero> e' gia stato inserita nello spreadsheet principale
@ -441,13 +452,13 @@ bool TVariazione_distinte::effetto_aggiunto(const long numero)
{
TMask* m = app()._msk;
TSheet_field& sf_riba = (TSheet_field&)m->field(F_SHEET_RIBA);
bool rt = FALSE;
bool rt = false;
const int items = sf_riba.items();
for (int i=0; i<items && !rt; i++)
{
TToken_string& row = sf_riba.row(i);
if (row.get_long(1) == numero)
rt = TRUE;
rt = true;
}
return rt;
@ -460,6 +471,8 @@ bool TVariazione_distinte::effetto_aggiunto(const long numero)
// tipo di pagamento.
void TVariazione_distinte::carica_riba(int tipopag, const bool reset)
{
TWait_cursor hourglass;
// deve caricare solo quegli effetti che non hanno riferimento alla
// distinta quindi setta i campi ad essa relativi a zero
char tipodist = 0;
@ -472,11 +485,11 @@ void TVariazione_distinte::carica_riba(int tipopag, const bool reset)
TMask* m2 = app()._m2;
if (reset)
m2->reset();
TSheet_field& sf = (TSheet_field&)m2->field(F_SHEET);
TSheet_field& sf = m2->sfield(F_SHEET);
if (reset)
sf.reset();
TString16 codval = app()._msk->get(F_CODVAL);
TString4 codval = app()._msk->get(F_CODVAL);
TString16 codtab;
int err, i = 0;
@ -509,13 +522,7 @@ void TVariazione_distinte::carica_riba(int tipopag, const bool reset)
TString16 codice;
codice << tipo << '|' << eff.get(EFF_CODCF);
riga.add(cache().get(LF_CLIFO, codice, CLI_RAGSOC));
codice = eff.get(EFF_CODABI);
TString desc(cache().get("%BAN", codice, "S0"));
codice << eff.get(EFF_CODCAB);
desc << " " << cache().get("%BAN", codice, "S0");
desc.cut(50);
riga.add(desc);
riga.add(get_ban_desc(eff));
if (eff.fatt(numero))// se l'effetto contiene solo una fattura
{ // metto i riferimenti al documento ed al numero di rata
@ -565,7 +572,7 @@ bool TVariazione_distinte::tipodist_handler(TMask_field& f, KEY k)
if (allo_sconto)
m.set(F_TIPOPAG,2);
}
return TRUE;
return true;
}
// Handler per gestire il caricamento degli effetti nella distinta
@ -579,11 +586,11 @@ bool TVariazione_distinte::importo_handler(TMask_field& f, KEY k)
if (k == K_SPACE)
{
aggiungi();
TSheet_field& sf_riba = (TSheet_field&)f.mask().field(F_SHEET_RIBA);
TSheet_field& sf_riba = f.mask().sfield(F_SHEET_RIBA);
sf_riba.force_update();
}
return TRUE;
return true;
}
// Handler per gestire il caricamento degli effetti nella distinta in
@ -595,11 +602,11 @@ bool TVariazione_distinte::imp_sel_handler(TMask_field& f, KEY k)
// se quando si entra nell maschera il campo contiene un valore
// significa che si deve procedere con il caricamento automatico
// di effetti per l'importo iscritto nel campo
if (k == K_TAB && f.to_check(k, TRUE))
if (k == K_TAB && f.to_check(k, true))
{
TMask* m = app()._msk;
TSheet_field& sf = (TSheet_field&)m2.field(F_SHEET);
TSheet_field& sf_riba = (TSheet_field&)m->field(F_SHEET_RIBA);
TSheet_field& sf = m2.sfield(F_SHEET);
TSheet_field& sf_riba = m->sfield(F_SHEET_RIBA);
real res = m2.get_real(F_IMPSEL);
if (res > ZERO)
{ // se i due importi sono diversi da zero
@ -628,7 +635,7 @@ bool TVariazione_distinte::imp_sel_handler(TMask_field& f, KEY k)
for (i = 0; res > ZERO && i < items; i++)
{
TToken_string& row = sf.row(i);
TString16 codval = row.get(sf.cid2index(F_VALUTA));
TString4 codval = row.get(sf.cid2index(F_VALUTA));
codval.trim();
const bool valuta = ::is_true_value(codval) ;
const real imp(row.get(sf.cid2index(valuta ? F_IMPORTOVAL : F_IMPORTO)));
@ -655,26 +662,21 @@ bool TVariazione_distinte::conferma_handler(TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TMask * msk = app()._msk;
TSheet_field & sf_riba = (TSheet_field&)msk->field(F_SHEET_RIBA);
TMask* msk = app()._msk;
TSheet_field& sf_riba = msk->sfield(F_SHEET_RIBA);
TMask& m = f.mask();
m.close(); // chiudo la maschera secondaria
// scarico tutte le righe, selezionate, dello sheet della maschera
// secondaria nello sheet della maschera primaria della relap (ef0300a)
TSheet_field& sf = (TSheet_field&)m.field(F_SHEET);
int items = sf.items();
for (int i = 0; i < items; i++)
TSheet_field& sf = m.sfield(F_SHEET);
FOR_EACH_SHEET_ROW(sf, i, row) if ((*row)[0] == 'X') // selected
{
TToken_string& row = sf.row(i);
if (*row.get(0) == 'X') // selected
{
row.add(" ", 0);
sf_riba.row(-1) = row;
}
row->add(" ", 0);
sf_riba.row(-1) = *row;
}
}
return TRUE;
return true;
}
// Handler per gestire la pressione del bottone annulla della maschera
@ -683,7 +685,7 @@ bool TVariazione_distinte::annulla_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
m.close();
return TRUE;
return true;
}
// Handler per gestire la scelta per data, nella maschera di scelta
@ -695,13 +697,10 @@ bool TVariazione_distinte::data_handler(TMask_field& f, KEY k)
// Carica prima tutte le ri.ba e poi toglie quelle che non servono in base alla selzione
int tipopag = app()._msk->get_int(F_TIPOPAG);
if (tipopag != 0)
{
TWait_cursor hourglass;
carica_riba(tipopag, FALSE);
}
carica_riba(tipopag, false);
TMask& m = f.mask();
bool deleted = FALSE;
bool deleted = false;
TDate datad = m.get_date(F_DADATA);
TDate dataa = m.get_date(F_ADATA);
@ -710,7 +709,7 @@ bool TVariazione_distinte::data_handler(TMask_field& f, KEY k)
if (!dataa.ok())
dataa = eotime;
TDate data_sh;
TSheet_field& sf = (TSheet_field&)m.field(F_SHEET);
TSheet_field& sf = m.sfield(F_SHEET);
TString_array& sa = sf.rows_array();
const int field = m.get(F_TIPORD) == "F" ? 6 : 2;
// tolgo dallo sheet gli effetti che hanno la data non compresa nel range
@ -724,36 +723,33 @@ bool TVariazione_distinte::data_handler(TMask_field& f, KEY k)
sa.pack();
sf.force_update();
}
return TRUE;
return true;
}
// COMPARE FUNCTION per l'ordinamento per data degli effetti presenti
// nello sheet, nella maschera di scelta delle riba (ef0300c)
HIDDEN int confronta_numero(const TObject** o1, const TObject** o2)
{
TToken_string* s1 = (TToken_string*) *o1;
TToken_string* s2 = (TToken_string*) *o2;
const long eff1 = s1->get_long(1);
const long eff2 = s2->get_long(1);
return eff1-eff2;
}
// COMPARE FUNCTION per l'ordinamento per data degli effetti presenti
// nello sheet, nella maschera di scelta delle riba (ef0300c)
HIDDEN int confronta_data(const TObject** o1, const TObject** o2)
{
TToken_string* s1 = (TToken_string*) *o1;
TToken_string* s2 = (TToken_string*) *o2;
TDate data1 = s1->get(2);
TDate data2 = s2->get(2);
const TDate data1 = s1->get(2);
const TDate data2 = s2->get(2);
if (data1 == data2)
return 0;
else
return (data1 > data2) ? +1 : -1;
}
// Handler per gestire l'ordinamento per data degli effetti presenti
// nello sheet, nella maschera di scelta delle riba (ef0300c)
void TVariazione_distinte::ord_data()
{
TWait_cursor hourglass;
TMask* m = app()._m2;
TSheet_field& sf = (TSheet_field&)m->field(F_SHEET);
// scarico tutte le righe dello sheet in un array
TArray& effetti = sf.rows_array();
// faccio l'ordinamento degli elementi dell'array
effetti.sort(confronta_data);
sf.force_update();
if (data1 != data2)
return (data1 > data2) ? +1 : -1;
return confronta_numero(o1, o2);
}
// COMPARE FUNCTION per l'ordinamento per numero e data fattura degli
@ -762,42 +758,41 @@ HIDDEN int confronta_fatt(const TObject** o1, const TObject** o2)
{
TToken_string* s1 = (TToken_string*) *o1;
TToken_string* s2 = (TToken_string*) *o2;
TDate data1 = s1->get(6);
TDate data2 = s2->get(6);
const TDate data1 = s1->get(6);
const TDate data2 = s2->get(6);
// ordinamento sulla data fattura
if (data1 == data2)
return 0;
else
if (data1 != data2)
return (data1 > data2) ? +1 : -1;
return confronta_data(o1, o2);
}
// Handler per gestire l'ordinamento per numero e data fattura degli
// effetti presenti nello sheet, nella maschera di scelta delle riba
void TVariazione_distinte::ord_fatt()
void TVariazione_distinte::ordina(COMPARE_FUNCTION cf)
{
TWait_cursor hourglass;
TMask* m = app()._m2;
TSheet_field& sf = (TSheet_field&)m->field(F_SHEET);
TSheet_field& sf = app()._m2->sfield(F_SHEET);
// scarico le righe dello sheet in un array
TArray& effetti = sf.rows_array();
effetti.sort(confronta_fatt);// ordino gli elementi dell'array
effetti.sort(cf);// ordino gli elementi dell'array
sf.force_update();
}
// Handler per gestire i diversi ordinamenti, nella maschera di scelta
// delle riba (ef0300c)
bool TVariazione_distinte::ordina_handler(TMask_field& f, KEY k)
{
if (f.to_check(k, TRUE))
if (k == K_SPACE && f.mask().is_running())
{
char ord = f.get()[0];
if (ord == 'S')//ordino gli effetti nello sheet per data
ord_data();
if (ord == 'F')
ord_fatt();//ordino gli effetti nello sheet per fattura
switch(f.get()[0])
{
case 'S': ordina(confronta_data); break; //ordino gli effetti nello sheet per data
case 'F': ordina(confronta_fatt); break; //ordino gli effetti nello sheet per fattura
default : ordina(confronta_numero); break; //ordino gli effetti nello sheet per numero
}
}
return TRUE;
return true;
}
bool TVariazione_distinte::uncontabilize_handler(TMask_field& f, KEY k)
@ -837,7 +832,7 @@ bool TVariazione_distinte::uncontabilize_handler(TMask_field& f, KEY k)
m.stop_run(K_ESC);
}
}
return TRUE;
return true;
}
// Metodo che calcola i totali relativi alla distinta (totale in
@ -845,10 +840,10 @@ bool TVariazione_distinte::uncontabilize_handler(TMask_field& f, KEY k)
void TVariazione_distinte::calcola_totale()
{
TMask* m = app()._msk;
TSheet_field& sf = (TSheet_field&)m->field(F_SHEET_RIBA);
TSheet_field& sf = m->sfield(F_SHEET_RIBA);
const int items = sf.items();
real impdist;
const TString16 codval = m->get(F_CODVAL);
const TString& codval = m->get(F_CODVAL);
const bool valuta = ::is_true_value(codval);
for (int i = 0; i < items; i++)
@ -877,7 +872,7 @@ bool TVariazione_distinte::dist_check_handler(TMask_field& f, KEY key)
row.add(checked ? "X" : "", 0);
app().calcola_totale();
}
return TRUE;
return true;
}
@ -890,15 +885,11 @@ void TVariazione_distinte::calcola()
const bool valuta = ::is_true_value(m2.get(F_CODVALS));
const int imp_col = sf.cid2index(valuta ? F_IMPORTOVAL : F_IMPORTO); // Colonna con importo
real impsel;
for (int i = 0; i < sf.items(); i++)
FOR_EACH_SHEET_ROW(sf, i, row)
{
TToken_string& row = sf.row(i);
// se l'effetto è selezionato aggiungo il suo importo al totale importo selezionato
if (row.get_char(0) == 'X')
{
const real imp = row.get(imp_col);
impsel += imp;
}
if (row->get_char(0) == 'X')
impsel += real(row->get(imp_col));
}
m2.set(F_IMPSEL, impsel);
@ -918,7 +909,7 @@ bool TVariazione_distinte::check_handler(TMask_field& f, KEY key)
row.add(checked ? "X" : "", 0);
app().calcola();
}
return TRUE;
return true;
}
// Metodo che permette di aggiungere effetti alla distinta caricandoli
@ -930,10 +921,7 @@ void TVariazione_distinte::aggiungi()
TMask* m2 = app()._m2;
int tipopag = m->get_int(F_TIPOPAG);
if (tipopag != 0)
{
TWait_cursor hourglass;
carica_riba(tipopag);
}
m2->set(F_CODVALS, m->get(F_CODVAL));
calcola();
m2->run();
@ -948,9 +936,9 @@ bool TVariazione_distinte::impdist_notify(TSheet_field& s, int r, KEY key)
{
aggiungi();
s.force_update();
return FALSE;
return false;
}
return TRUE;
return true;
}
bool TVariazione_distinte::imp_notify(TSheet_field& s, int r, KEY key)

View File

@ -4,22 +4,22 @@
// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE DISTINTE
// campi maschera ef0300a.uml
#define F_TIPODIST 101
#define F_NUMBER 102
#define F_NUMBERRIGA 103
#define F_DATA 104
#define F_DENBANP 105
#define F_CODABIP 106
#define F_CODCABP 107
#define F_TOTIMP 108
#define F_IMPBUTTON 109
#define F_CODVAL 111
#define F_TIPOPAG 112
#define F_SHEET_RIBA 113
#define F_NPROGTR 114
#define F_TIPOCF 115
#define F_UNCONTABIL 116
#define F_PROG 117
#define F_TIPODIST 151
#define F_NUMBER 152
#define F_NUMBERRIGA 153
#define F_DATA 154
#define F_DENBANP 155
#define F_CODABIP 156
#define F_CODCABP 157
#define F_TOTIMP 158
#define F_IMPBUTTON 159
#define F_CODVAL 161
#define F_TIPOPAG 162
#define F_SHEET_RIBA 163
#define F_NPROGTR 164
#define F_TIPOCF 165
#define F_UNCONTABIL 166
#define F_PROG 167
// Identificatori campi per lo spreadsheet di selezione RiBa da aggiungere
// alla distinta (ef0300c.uml)

View File

@ -5,16 +5,6 @@ TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
TOOLBAR "" 0 -2 0 2
BUTTON F_UNCONTABIL 30 2
BEGIN
PROMPT -11 0 "~Annulla contabilizzazione"
FLAGS "H"
END
ENDPAGE
PAGE "Distinta" 0 2 0 0
GROUPBOX DLG_NULL 78 10
@ -92,7 +82,7 @@ END
NUMBER F_CODABIP 5
BEGIN
PROMPT 15 3 "Codice ABI "
PROMPT 2 3 "Banca di Presentazione "
FIELD LF_EFFETTI->CODABIP
FLAGS "Z"
USE BNP
@ -114,7 +104,7 @@ END
NUMBER F_CODCABP 5
BEGIN
PROMPT 15 4 "Codice CAB "
PROMPT 35 3 ""
FIELD LF_EFFETTI->CODCABP
FLAGS "Z"
COPY ALL F_CODABIP
@ -123,15 +113,15 @@ END
NUMBER F_PROG 2
BEGIN
PROMPT 35 4 ""
PROMPT 44 3 ""
FLAGS "Z"
COPY ALL F_CODABIP
CHECKTYPE SEARCH
CHECKTYPE NORMAL
END
STRING F_DENBANP 50
BEGIN
PROMPT 2 5 "Banca di Presentazione "
PROMPT 26 4 ""
USE %BAN KEY 2 SELECT 100@->CODTAB!=""
JOIN BNP ALIAS 100 INTO CODTAB==CODTAB
INPUT S0 F_DENBANP
@ -146,7 +136,7 @@ END
LIST F_TIPOPAG 24
BEGIN
PROMPT 2 6 "Tipo Pagamento "
PROMPT 2 5 "Tipo Pagamento "
FIELD LF_EFFETTI->TIPOPAG
ITEM "2|Tratta"
ITEM "3|Ricevuta Bancaria"
@ -158,44 +148,51 @@ BEGIN
ITEM "9|Bonifico"
END
CURRENCY F_TOTIMP 18
BEGIN
PROMPT 2 6 "Valore di presentazione "
FLAGS "D"
DRIVENBY F_CODVAL
END
STRING F_CODVAL 3
BEGIN
PROMPT 2 7 "Codice Valuta "
PROMPT 47 6 "Valuta "
FLAGS "UZ"
USE %VAL
INPUT CODTAB F_CODVAL
DISPLAY "Codice" CODTAB
DISPLAY "Nome@50" S0
OUTPUT F_CODVAL CODTAB
END
CURRENCY F_TOTIMP 18
BEGIN
PROMPT 2 8 "Valore di presentazione "
FLAGS "D"
DRIVENBY F_CODVAL
CHECKTYPE NORMAL
END
BUTTON F_IMPBUTTON 10 2
BEGIN
PROMPT 50 7 "~Selezione"
PROMPT 65 5 "~Selezione"
PICTURE BMP_SELECT
END
BUTTON F_UNCONTABIL 30 2
BEGIN
PROMPT 2 7 "~Annulla contabilizzazione"
FLAGS "H"
END
SPREADSHEET F_SHEET_RIBA
BEGIN
PROMPT 0 10 "RIGHE DISTINTA"
ITEM "Da elim."
ITEM "Nr. Ri.Ba."
ITEM "Scadenza"
ITEM "Da\nelim.@4F"
ITEM "Numero\nRi.Ba.@7F"
ITEM "Data\nScadenza@10F"
ITEM "Cliente/Fornitore@50"
ITEM "Banca d'appoggio@40"
ITEM "Nr. Fattura"
ITEM "Data Fattura"
ITEM "Nr. Rata"
ITEM "Numero\nFattura@7"
ITEM "Data\nFattura@10"
ITEM "Rata"
ITEM "Valuta"
ITEM "Importo"
ITEM "Importo Val."
ITEM "Importo@18"
ITEM "Importo\nValuta@18"
END
ENDPAGE

View File

@ -34,7 +34,7 @@ BEGIN
FLAGS "D"
END
STRING F_NFATT 7
NUMBER F_NFATT 7
BEGIN
PROMPT 2 6 "Numero Fattura "
FIELD LF_REFFETTI->NFATT
@ -71,7 +71,7 @@ END
CURRENCY F_IMPORTOVAL 18
BEGIN
PROMPT 2 11 "Importo Val. "
PROMPT 2 11 "Importo Valuta "
FIELD LF_EFFETTI->IMPORTOVAL
FLAGS "DR"
DRIVENBY F_VALUTA

View File

@ -1,68 +1,6 @@
// DEFINIZIONE MASCHERA, DI AGGIUNTA EFFETTI, PER LA GESTIONE DISTINTE
#include "ef0300.h"
PAGE "Aggiungi Effetti alla Distinta" -1 -1 78 20
GROUPBOX DLG_NULL 60 3
BEGIN
PROMPT 1 1 "Visualizza effetti per data"
END
DATE F_DADATA
BEGIN
PROMPT 2 2 "Dalla Data "
END
DATE F_ADATA
BEGIN
PROMPT 30 2 "Alla Data "
END
LIST F_TIPORD 14
BEGIN
PROMPT 2 4 "Tipo Ordinamento "
ITEM " | "
ITEM "S|Scadenza "
ITEM "F|Fattura "
END
SPREADSHEET F_SHEET 74 10
BEGIN
PROMPT 2 6 "EFFETTI SELEZIONABILI"
ITEM "Sel."
ITEM "Nr. Ri.Ba."
ITEM "Scadenza"
ITEM "Cliente@50"
ITEM "Banca d'appoggio@50"
ITEM "Nr. Fattura"
ITEM "Data Fattura"
ITEM "Nr. Rata"
ITEM "Valuta"
ITEM "Importo"
ITEM "Importo Val."
END
STRING F_CODVALS 3
BEGIN
PROMPT 2 17 ""
FLAGS "H"
END
CURRENCY F_IMPSEL 18
BEGIN
PROMPT 2 17 "Imp. selezionato "
DRIVENBY F_CODVALS
END
CURRENCY F_TOTIMPDIST 18
BEGIN
PROMPT 39 17 "Imp. presentazione "
DRIVENBY F_CODVALS
FLAGS "D"
END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2
@ -70,9 +8,89 @@ BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 10 2
BUTTON DLG_NULL 2 2
BEGIN
PROMPT -22 -1 ""
PROMPT -1 1 ""
PICTURE 0
END
BUTTON DLG_INFO 2 2
BEGIN
PROMPT 1 1 "Info"
MESSAGE EXIT,K_F2
PICTURE TOOL_INFO
END
BUTTON DLG_HELP 2 2
BEGIN
PROMPT 2 1 "Help"
MESSAGE EXIT,K_F1
PICTURE TOOL_HELP
END
BUTTON DLG_CANCEL 2 2
BEGIN
PROMPT 3 1 "Annulla"
MESSAGE EXIT,K_ESC
PICTURE TOOL_CANCEL
END
ENDPAGE
PAGE "Aggiungi Effetti alla Distinta" -1 -1 78 20
DATE F_DADATA
BEGIN
PROMPT 1 0 "Selezione effetti dalla data "
END
DATE F_ADATA
BEGIN
PROMPT 44 0 "alla data "
END
RADIOBUTTON F_TIPORD 1 76
BEGIN
PROMPT 1 1 "Ordinamento effetti"
ITEM " |Numero"
ITEM "S|Scadenza"
ITEM "F|Fattura"
FLAGS "Z"
END
STRING F_CODVALS 3
BEGIN
PROMPT 2 4 ""
FLAGS "H"
END
CURRENCY F_IMPSEL 18
BEGIN
PROMPT 2 4 "Imp. selezionato "
DRIVENBY F_CODVALS
END
CURRENCY F_TOTIMPDIST 18
BEGIN
PROMPT 39 4 "Imp. presentazione "
DRIVENBY F_CODVALS
FLAGS "D"
END
SPREADSHEET F_SHEET
BEGIN
PROMPT 0 5 "EFFETTI SELEZIONABILI"
ITEM "Sel.@3F"
ITEM "Numero\nRi.Ba.@7F"
ITEM "Scadenza@10"
ITEM "Cliente/Fornitore@50"
ITEM "Banca d'appoggio@50"
ITEM "Numero\nFattura@7"
ITEM "Data\nFattura@10"
ITEM "Rata"
ITEM "Val."
ITEM "Importo@18"
ITEM "Importo Val.@18"
END
ENDPAGE