registrazione modifiche programma di stampa e delle distinte

git-svn-id: svn://10.65.10.50/trunk@4080 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
paola 1997-01-15 16:00:56 +00:00
parent bba6d28579
commit ab75919061
11 changed files with 826 additions and 464 deletions

View File

@ -11,10 +11,10 @@
#include "ef0100.h"
#include "ef0101.h"
//////////////////////////////////////////////////////////////
// Classe per la gestione di effetti con metodi standard di://
// inserimento, modifica, cancellazione. //
//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
// Classe per la gestione di effetti con metodi standard di: //
// inserimento, modifica, cancellazione. //
////////////////////////////////////////////////////////////////////////////////////
class TVariazione_effetti: public TRelation_application
{

View File

@ -3,7 +3,7 @@
#endif
#ifndef __RECARRAY_H
#include <recarray.h>
#include <relation.h>
#endif
/////////////////////////////////////////////////////////////

View File

@ -10,10 +10,10 @@
#include "ef0300.h"
#include "ef0301.h"
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//Classe per la gestione di distinte (inserimento, modifica, cancellazione) //
// e per la creazione automatica di distinte per importi. //
//////////////////////////////////////////////////////////////////////////////
// e per la creazione automatica di distinte per importi. //
//////////////////////////////////////////////////////////////////////////////////////////////////////////
class TVariazione_distinte: public TRelation_application
{
TMask *_msk, *_m2;
@ -44,7 +44,7 @@ protected:
static void calcola_totale();
static void calcola();
static void aggiungi();
static void carica_riba();
static void carica_riba(int tipopag);
static void ord_data();
static void ord_fatt();
TSheet_field& righe_sheet() const;
@ -95,29 +95,29 @@ void TVariazione_distinte::init_modify_mode(TMask&)
// ritorna il prossimo numero di distanta valido
const char* TVariazione_distinte::get_next_key()
{
long ndist = 1L;
{
long ndist = 1L; // per posizionarmi
char tipodist = 'B'; // all'inizo del file con chiave 4
TLocalisamfile& effetti = _rel->lfile();
effetti.first(); // mi posiziono all'inizio del file
effetti.put("NDIST",ndist);
effetti.first(); // mi posiziono all'inizio del file
effetti.put(EFF_TIPODIST,tipodist);
effetti.put(EFF_NDIST,ndist);
effetti.setkey(4);
int err = effetti.read(_isgteq);
if ( (err == _iskeynotfound) || (err == _iseof) ) //se non esiste alcuna distinta:
{ // il numero sarà 1
{ // il numero sarà 1
err == NOERR;
return format("%d|%ld", F_NUMBER, ndist);
}
effetti.setkey(1); // mi posiziono all'inizio del file
effetti.first(); // utilizzando la chiave 1
while (err == NOERR) //se esitono già delle distinte:
{ // le leggo tutte e ne prendo il
effetti.setkey(4); // numero, al verificarsi della fine file
err = effetti.next(); // ho l'ultimo numero utilizzato
long n = effetti.get_long("NDIST"); // incrementandolo avrò il numero che cercavo.
while (err == NOERR) //se esitono già delle distinte:
{ // le leggo tutte e ne prendo il
effetti.setkey(4); // numero, al verificarsi della fine file
err = effetti.next(); // ho l'ultimo numero utilizzato
long n = effetti.get_long(EFF_NDIST);// incrementandolo avrò il numero che cercavo.
if (n > ndist)
ndist = n;
}
return format("%d|%ld",F_NUMBER,++ndist); // ritorna una stringa costruita utilizzando il numero della distinta
return format("%d|%ld",F_NUMBER,++ndist); // ritorna una stringa costruita utilizzando il numero della distinta
}
// ritorna un riferimento allo sheet degli effetti (righe) nella distinta
@ -139,15 +139,15 @@ bool TVariazione_distinte::cerca(long num)
{
bool trovato = FALSE;
int items = _distinta->items();
TArray& righedist = _distinta->righe();
for (int i = 0; i < items; i++)// ciclo sugli elementi dell'array
{ // se l'array è vuoto non trova nulla ed esce subito
TArray& righedist = _distinta->righe();
for (int i = 0; i < items; i++) // ciclo sugli elementi dell'array
{ // se l'array è vuoto non trova nulla ed esce subito
TEffetto& eff = (TEffetto&)righedist[i];
long num_eff = eff.get_long("NPROGTR");
long num_eff = eff.get_long(EFF_NPROGTR);
if (num_eff == num)
{
trovato = TRUE;
break;// esco quando ho già trovato l'effetto che cercavo
trovato = TRUE;
break; // esco quando ho già trovato l'effetto che cercavo
}
}
return trovato;
@ -157,14 +157,14 @@ bool TVariazione_distinte::cerca(long num)
void TVariazione_distinte::aggiorna()
{
TSheet_field& shrighe = righe_sheet();
int items = shrighe.items();
for (int i = 0; i < items; i++) // prendo tutte le righe dello sheet
int items = shrighe.items();
for (int i = 0; i < items; i++) // prendo tutte le righe dello sheet
{
TToken_string& row = shrighe.row(i);
row.restart();
long num = row.get_long(1);
if (!cerca(num)) // se non sia già presente in memoria
{ // carico l'effetto nell'array
long num = row.get_long(1);
if (!cerca(num)) // se non è già presente in memoria
{ // carico l'effetto nell'array
TLocalisamfile eff(LF_EFFETTI);
TRectype rec = eff.curr();
eff.setkey(1);
@ -182,8 +182,8 @@ void TVariazione_distinte::aggiorna()
//che servirà per passarli alla write della distinta
TToken_string* TVariazione_distinte::common_f(const TMask& m)
{
char tipodist = m.get(F_TIPODIST)[0]; // prendo i dati
long ndist = m.get_long(F_NUMBER); // identificatvi della
char tipodist = m.get(F_TIPODIST)[0];// prendo i dati
long ndist = m.get_long(F_NUMBER); // identificatvi della
TDate datadist = (TDate)m.get(F_DATA);// distinta
long codabi = m.get_long(F_CODABIP); // dalla maschera
long codcab = m.get_long(F_CODCABP);
@ -192,8 +192,8 @@ TToken_string* TVariazione_distinte::common_f(const TMask& m)
TToken_string* datidist= new TToken_string; // creo la token string
datidist->cut(0);
datidist->add(tipodist); // inserisco i dati nella
datidist->add(ndist); // token string
datidist->add(tipodist); // inserisco i dati nella
datidist->add(ndist); // token string
datidist->add(datadist);
datidist->add(codabi);
datidist->add(codcab);
@ -206,17 +206,17 @@ int TVariazione_distinte::read(TMask& m)
m.autoload(*_rel);
int err = _rel->status();
if (err == NOERR)
{
err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
err = _distinta->read(_rel->curr()); // legge la distinta dal record corrente della relazione
{
err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
err = _distinta->read(_rel->curr()); // legge la distinta dal record corrente della relazione
if (err == NOERR)
{
TToken_string riga(80);
TSheet_field& shrighe = righe_sheet();
shrighe.reset();
int items = _distinta->items();// prendo il numero di effetti nella distinta
shrighe.reset();
int items = _distinta->items(); // prendo il numero di effetti nella distinta
TArray& righedist = _distinta->righe();
// carico tutti gli effetti della distinta nello sheet
// carico tutti gli effetti della distinta nello sheet
for (int i = 0; i < items; i++)
{
TEffetto& eff = (TEffetto&)righedist[i];// prendo l'effetto dall'array
@ -227,27 +227,27 @@ int TVariazione_distinte::read(TMask& m)
riga.add(eff.get(EFF_DATASCAD));
long codcf = eff.get_long(EFF_CODCF); //prendo la ragione sociale del cliente
_clifo->zero(); //conoscendone il codice
_clifo->zero(); //conoscendone il codice
_clifo->put("TIPOCF", 'C');
_clifo->put("CODCF", codcf);
if (_clifo->read() == NOERR) riga.add(_clifo->get("RAGSOC"));
if (eff.fatt(numero)) //se l'effetto contiene solo una fattura metto i
{ //riferimenti al documento ed al numero di rata
if (eff.fatt(numero)) //se l'effetto contiene solo una fattura metto i
{ //riferimenti al documento ed al numero di rata
const TRectype& rec_r = eff.row_r(1);
riga.add(rec_r.get(REFF_NFATT));
riga.add(rec_r.get(REFF_DATAFATT));
if (eff.rows_r() == 1) riga.add(rec_r.get(REFF_NRATA));
else riga.add(("Varie"));
}
else //se l'effetto contiene più di una fattura non metto i
{ //riferimenti al documento ed al numero di rata
else //se l'effetto contiene più di una fattura non metto i
{ //riferimenti al documento ed al numero di rata
riga.add(("Varie"));
riga.add(("Varie"));
riga.add(("Varie"));
}
TString codval(3); //gestisco il controllo sulla presenza o meno di una valuta
TString codval(3); //gestisco il controllo sulla presenza o meno di una valuta
codval = eff.get(EFF_CODVAL);
if (i == 0)
{
@ -283,8 +283,8 @@ void TVariazione_distinte::elimina()
TArray& righedist = distinta->righe();
for (int i = 0, k = i+1; i < sf.items(); i++, k++)//ciclo sugli elementi dello sheet
{
if (deleted) i--; // per posizionarsi correttamente sulla prima riga dello sheet
if (sf.items() == 1)// non posso cancellare l'effetto se è l'unico della distinta
if (deleted) i--; // per posizionarsi correttamente sulla prima riga dello sheet
if (sf.items() == 1) // non posso cancellare l'effetto se è l'unico della distinta
{
error_box("IMPOSSIBILE CANCELLARE: La distinta deve contenere almeno un effetto!");
break;
@ -294,24 +294,24 @@ void TVariazione_distinte::elimina()
if (condition)
{
long num = row.get_long(1);
for (int j = 0; j < distinta->items(); j++)//ciclo sugli elementi dell'array
for (int j = 0; j < distinta->items(); j++) //ciclo sugli elementi dell'array
{
TEffetto& eff = (TEffetto&)righedist[j];
long num_eff = eff.get_long("NPROGTR");
long num_eff = eff.get_long(EFF_NPROGTR);
if (num_eff == num)
{
righedist.destroy(j,TRUE);// tolgo l'effetto dall'array
righedist.destroy(j,TRUE); // tolgo l'effetto dall'array
break;
}
}
sf.destroy(i); deleted = TRUE;// tolgo l'effetto dallo sheet
}
sf.destroy(i); deleted = TRUE; // tolgo l'effetto dallo sheet
eff.read(file, tipodist, ndist, k);
eff.zero("TIPODIST");
eff.zero("NDIST");
eff.zero("DATADIST");
eff.zero("NRIGADIST");
eff.zero("CODABIP");
eff.zero("CODCABP");
eff.zero(EFF_TIPODIST);
eff.zero(EFF_NDIST);
eff.zero(EFF_DATADIST);
eff.zero(EFF_NRIGADIST);
eff.zero(EFF_CODABIP);
eff.zero(EFF_CODCABP);
eff.rewrite(file);
}
else deleted = FALSE;
@ -321,32 +321,29 @@ void TVariazione_distinte::elimina()
// riscrive distinta
int TVariazione_distinte::rewrite(const TMask& m)
{
// prima di riscrive controllo se ci sono effetti nello sheet selezionati per l'eliminazione
TSheet_field& sf = righe_sheet();
bool condition = FALSE;
TSheet_field& sf = righe_sheet(); // prima di riscrive controllo se ci sono effetti nello sheet selezionati per l'eliminazione
bool condition = FALSE;
for (int i = 0; i < sf.items(); i++)
{
TToken_string& row = sf.row(i);
if (condition = *row.get(0) == 'X') break;// se trovo un effetto selezionato esco dal ciclo
TToken_string& row = sf.row(i);
if (condition = *row.get(0) == 'X') break; // se trovo un effetto selezionato esco dal ciclo
}
// solo se ho trovato effetti selezionati
if (condition)
if (yesno_box("Vuoi veramete eliminare gli effetti selezionati"))
elimina(); //elimino gli effetti nello sheet che sono selezionati con la "X"
int err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
// procedo con la riscrittura
char tipodist = m.get(F_TIPODIST)[0];
if (condition) // solo se ho trovato effetti selezionati
if (yesno_box("Vuoi veramete eliminare gli effetti selezionati"))
elimina(); //elimino gli effetti nello sheet che sono selezionati con la "X"
int err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
char tipodist = m.get(F_TIPODIST)[0]; // procedo con la riscrittura
long ndist = m.get_long(F_NUMBER);
aggiorna(); // aggiorno l'array
aggiorna(); // aggiorno l'array
err = _distinta->rewrite(common_f(m));
// riposiziono la relazione
if (err == NOERR)
if (err == NOERR) // riposiziono la relazione
{
_rel->lfile().setkey(4);
TRectype& curr = _rel->curr();
curr.put("TIPODIST", tipodist);
curr. put("NDIST", ndist);
curr. put("NRIGADIST", 1);
curr.put(EFF_TIPODIST, tipodist);
curr. put(EFF_NDIST, ndist);
curr. put(EFF_NRIGADIST, 1);
_rel->read();
}
return err;
@ -354,20 +351,20 @@ int TVariazione_distinte::rewrite(const TMask& m)
// scrive distinta
int TVariazione_distinte::write(const TMask& m)
{
int err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
{
int err = _distinta->reset(); //resetto l'array che contiene gli effetti nella distinta
char tipodist = m.get(F_TIPODIST)[0];
long ndist = m.get_long(F_NUMBER);
aggiorna(); // aggiorno l'array
long ndist = m.get_long(F_NUMBER);
aggiorna(); // aggiorno l'array
err = _distinta->write(TRUE, common_f(m));
//riposiziono la relazione
if (err == NOERR)
{
_rel->lfile().setkey(4);
TRectype& curr = _rel->curr();
curr.put("TIPODIST", tipodist);
curr. put("NDIST", ndist);
curr. put("NRIGADIST", 1);
curr.put(EFF_TIPODIST, tipodist);
curr. put(EFF_NDIST, ndist);
curr. put(EFF_NRIGADIST, 1);
_rel->read();
}
return err;
@ -423,8 +420,8 @@ bool TVariazione_distinte::user_destroy()
//Permette di caricare lo sheet per la selezione delle riba da aggiungere alla distinta:
// vengono presi tutti gli effetti sul file LF_EFFETTI che non hanno ancora un riferimento ad
// una distinta
void TVariazione_distinte::carica_riba()
// una distinta; inoltre è possibile inserire nella distinta effettiaventi lo stesso tipo di pagamento.
void TVariazione_distinte::carica_riba(int tipopag)
{
// deve caricare solo quegli effetti che non hanno riferimento alla distinta
// quindi setta i campi ad essa relativi a zero
@ -441,41 +438,52 @@ void TVariazione_distinte::carica_riba()
sf.reset();
int err, i = 0;
err = eff.read(f, tipodist, ndist, nrigadist);
while ( (err == NOERR) && (tipodist == 0) )
int tipop = eff.get_int(EFF_TIPOPAG);
while ( (err == NOERR) && (tipodist == 0))
{ //carico tutti gli effetti, che soddisfano alla condizione, nello sheet
riga.cut(0);
riga.add(' ');
const long numero = eff.get_long(EFF_NPROGTR);
riga.add(numero);
riga.add(eff.get(EFF_DATASCAD));
long codcf = eff.get_long(EFF_CODCF);
clifo->zero();
clifo->put("TIPOCF", 'C');
clifo->put("CODCF", codcf);
if (clifo->read() == NOERR) riga.add(clifo->get("RAGSOC"));
if (eff.fatt(numero)) //se l'effetto contiene solo una fattura metto i
{ //riferimenti al documento ed al numero di rata
const TRectype& rec_r = eff.row_r(1);
riga.add(rec_r.get(REFF_NFATT));
riga.add(rec_r.get(REFF_DATAFATT));
if (eff.rows_r() == 1) riga.add(rec_r.get(REFF_NRATA));
else riga.add(("Varie"));
}
else //se l'effetto contiene più di una fattura non metto i
{ //riferimenti al documento ed al numero di rata
riga.add(("Varie"));
riga.add(("Varie"));
riga.add(("Varie"));
}
riga.add(eff.get(EFF_CODVAL));
riga.add(eff.get(EFF_IMPORTO));
riga.add(eff.get(EFF_IMPORTOVAL));
sf.row(i) = riga;
i++;
bool condition = (tipopag == tipop);
// se effetti di tipo cambiario (pagherò, tratta, tratta accettata)
if (tipopag == 2 || tipopag ==5 || tipopag == 7)
condition = (tipop == 2 || tipop ==5 || tipop == 7);
// se non indico un tipo di effetto prendo il tipo del primo che seleziono
if (tipopag == 0) condition =TRUE;
if (condition)
{
riga.cut(0);
riga.add(' ');
const long numero = eff.get_long(EFF_NPROGTR);
riga.add(numero);
riga.add(eff.get(EFF_DATASCAD));
long codcf = eff.get_long(EFF_CODCF);
clifo->zero();
clifo->put("TIPOCF", 'C');
clifo->put("CODCF", codcf);
if (clifo->read() == NOERR) riga.add(clifo->get("RAGSOC"));
if (eff.fatt(numero)) //se l'effetto contiene solo una fattura metto i
{ //riferimenti al documento ed al numero di rata
const TRectype& rec_r = eff.row_r(1);
riga.add(rec_r.get(REFF_NFATT));
riga.add(rec_r.get(REFF_DATAFATT));
if (eff.rows_r() == 1) riga.add(rec_r.get(REFF_NRATA));
else riga.add(("Varie"));
}
else //se l'effetto contiene più di una fattura non metto i
{ //riferimenti al documento ed al numero di rata
riga.add(("Varie"));
riga.add(("Varie"));
riga.add(("Varie"));
}
riga.add(eff.get(EFF_CODVAL));
riga.add(eff.get(EFF_IMPORTO));
riga.add(eff.get(EFF_IMPORTOVAL));
sf.row(i) = riga;
i++;
}
f.setkey(4);
err = eff.next(f); // leggo l'effetto successivo e ne prendo il tipodistinta per il controllo
tipodist = eff.get("TIPODIST")[0];// della condizione del ciclo di caricamento
err = eff.next(f); //leggo l'effetto successivo e ne prendo il tipodistinta per il controllo
tipodist = eff.get(EFF_TIPODIST)[0];// della condizione del ciclo di caricamento
if (tipopag == 0) tipopag = tipop; // non avendo indicato un tipo di effetto prendo quello del primo
tipop = eff.get_int(EFF_TIPOPAG);
}
}
@ -509,13 +517,14 @@ bool TVariazione_distinte::importo_handler(TMask_field& f, KEY k)
TMask* m2 = app()._m2;
long imp_pres = m.get_long(F_TOTIMP);// importo presentato
long imp = m.get_long(F_IMP);// importo distinta
long impdist = imp - imp_pres;
long impdist = imp - imp_pres;
int tipopag = m.get_int(F_TIPOPAG);
// se importo distinta maggiore importo presentato si devono andare a caricare effetti in ...
// ... automatico per un valore minore uguale alla differenza dei suddetti importi
if (impdist > 0)
{
app().begin_wait();
carica_riba();
carica_riba(tipopag);
app().end_wait();
m2->reset(F_TOTIMPDIST);
m2->reset(F_IMPSEL);
@ -861,9 +870,11 @@ bool TVariazione_distinte::imp_notify(TSheet_field& s, int r, KEY key)
//non ancora assegnati, chiamato quando si aggiunge una riga allo sheet degli effetti della distinta
void TVariazione_distinte::aggiungi()
{
TMask* m = app()._msk;
TMask* m2 = app()._m2;
int tipopag = m->get_int(F_TIPOPAG);
app().begin_wait();
carica_riba();
carica_riba(tipopag);
app().end_wait();
m2->reset(F_TOTIMPDIST);
m2->reset(F_IMPSEL);

View File

@ -4,18 +4,19 @@
// campi maschera EF0300a.msk
#define F_TIPODIST 101
#define F_NUMBER 102
#define F_NUMBERRIGA 103
#define F_DATA 104
#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_CODABIP 106
#define F_CODCABP 107
#define F_TOTIMP 108
#define F_IMP 109
#define F_TOTIMPVAL 110
#define F_CODVAL 111
#define F_SHEET_RIBA 112
#define F_TOTIMP 108
#define F_IMP 109
#define F_TOTIMPVAL 110
#define F_CODVAL 111
#define F_TIPOPAG 112
#define F_SHEET_RIBA 113

View File

@ -6,12 +6,12 @@ ENDPAGE
PAGE "Gestione Distinte" 0 -1 0 19
GROUPBOX DLG_NULL 78 10
GROUPBOX DLG_NULL 78 11
BEGIN
PROMPT 1 0 ""
END
LIST F_TIPODIST 19
LIST F_TIPODIST 17
BEGIN
PROMPT 2 1 "Tipo Distinta "
KEY 4
@ -21,7 +21,7 @@ BEGIN
ITEM "S|Allo sconto"
END
LIST F_NUMBERRIGA 10
LIST F_NUMBERRIGA 12
BEGIN
PROMPT 1 60 "Numero Riga Distinta "
KEY 4
@ -51,7 +51,7 @@ END
DATE F_DATA
BEGIN
PROMPT 2 2 "Data Distinta "
FIELD LF_EFFETTI->DATADIST
FIELD LF_EFFETTI->DATADIST
END
TEXT DLG_NULL
@ -135,9 +135,24 @@ BEGIN
OUTPUT F_CODVAL CODTAB
END
LIST F_TIPOPAG 24
BEGIN
PROMPT 2 9 "Tipo Effetto "
FIELD LF_EFFETTI->TIPOPAG
ITEM "0| "
ITEM "2|Effetto cambiario"
ITEM "3|Ricevuta Bancaria"
ITEM "4|Cessione"
ITEM "5|Effetto cambiario"
ITEM "6|Lettera di credito"
ITEM "7|Effetto cambiario"
ITEM "8|Rapporti interb.diretti"
ITEM "9|Bonifici"
END
SPREADSHEET F_SHEET_RIBA 78 10
BEGIN
PROMPT 1 10 "RIGHE DISTINTA"
PROMPT 1 12 "RIGHE DISTINTA"
ITEM ""
ITEM "Nr. Ri.Ba."
ITEM "Scadenza"

View File

@ -11,9 +11,9 @@
#include "ef0101.h"
#include "ef0400.h"
/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Classe per l'eliminazione di effetti di effetti con selezione per gruppi //
/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
class TEliminazione_effetti: public TApplication
{
TMask *_msk;

View File

@ -51,6 +51,8 @@ BEGIN
DISPLAY "Data scadenza" DATASCAD
OUTPUT F_A_RIBA NPROGTR
CHECKTYPE NORMAL
/*NUM_EXPR {#THIS_FIELD>=#F_DA_RIBA}
WARNING "Limite superiore non valido"*/
END
GROUPBOX DLG_NULL 55 3
@ -84,7 +86,9 @@ BEGIN
DISPLAY "Nr. progressivo" NPROGTR
OUTPUT F_A_DATA DATASCAD
OUTPUT F_A_RIBA NPROGTR
CHECKTYPE NORMAL
CHECKTYPE NORMAL
/*VALIDATE DATE_CMP_FUNC >= F_DA_DATA
WARNING "Data limite superiore non valida" */
END
BUTTON DLG_OK 9 2

View File

@ -16,9 +16,9 @@
class TRiba_form;
class TDistinta_form;
///////////////////////////////////////////////////////////////////////
// Classe per l'emissione di effetti e distinte su carta o su floppy //
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
// Classe per l'emissione di effetti e distinte su carta o su floppy //
///////////////////////////////////////////////////////////////////////////////////////////////
class TEmissione: public TApplication
{
TMask* _msk;
@ -49,9 +49,9 @@ public:
// restituisce un riferimento all' applicazione
inline TEmissione& app() { return (TEmissione&) main_app();}
////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// Classe TRiba_form customizzata dalla Form per le Ri.Ba.//
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
class TRiba_form: public TForm
{
protected:
@ -61,9 +61,9 @@ public:
virtual ~TRiba_form(){};
};
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
// Classe TDistinta_form customizzata dalla Form per le Distinte //
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
class TDistinta_form: public TForm
{

File diff suppressed because it is too large Load Diff

View File

@ -18,5 +18,9 @@
#define F_ADIST 113
#define F_DA_DATA3 114
#define F_A_DATA3 115
#define F_DACLI 116
#define F_ACLI 117
#define F_DA_DATA4 118
#define F_A_DATA4 119
#endif

View File

@ -4,19 +4,21 @@ PAGE "Stampe di Controllo Effetti" -1 -1 60 13
DATE F_DATA_STAMPA
BEGIN
PROMPT 30 1 "Data di stampa "
PROMPT 30 0 "Data di stampa "
FLAGS "A"
END
RADIOBUTTON RDB_TIPOST 24
BEGIN
PROMPT 2 1 "Stampa per "
ITEM "1|Scadenza"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
ITEM "2|Banca"
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
PROMPT 2 0 "Stampa per "
ITEM "1|Banca"
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@|HIDE,4@
ITEM "2|Cliente"
MESSAGE SHOW,4@|HIDE,1@|HIDE,2@|HIDE,3@
ITEM "3|Distinta"
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|HIDE,4@
ITEM "4|Scadenza"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@
END
GROUPBOX DLG_NULL 55 3
@ -67,7 +69,7 @@ BEGIN
INPUT CODTAB F_ABAN
DISPLAY "Codice ABI" CODTAB[1,5]
DISPLAY "Denominazione@50" S0
OUTPUT F_ABAN CODTAB[1,5]
OUTPUT F_ABAN CODTAB[1,5]
CHECKTYPE NORMAL
END
@ -186,6 +188,54 @@ BEGIN
WARNING "Data limite superiore non valida"
END
GROUPBOX DLG_NULL 55 4
BEGIN
PROMPT 1 6 "Stampa effetti per Cliente"
GROUP 4
END
NUMBER F_DACLI 6
BEGIN
PROMPT 2 7 "Dal Cliente "
FLAGS "RZ"
GROUP 4
USE LF_CLIFO
INPUT TIPOCF "C"
INPUT CODCF F_DACLI
DISPLAY "Ragione sociale@60" RAGSOC
DISPLAY "Codice" CODCF
OUTPUT F_DACLI CODCF
CHECKTYPE NORMAL
END
NUMBER F_ACLI 6
BEGIN
PROMPT 30 7 "Al Cliente "
FLAGS "RZ"
GROUP 4
USE LF_CLIFO
INPUT TIPOCF "C"
INPUT CODCF F_ACLI
DISPLAY "Ragione sociale@60" RAGSOC
DISPLAY "Codice" CODCF
OUTPUT F_ACLI CODCF
CHECKTYPE NORMAL
END
DATA F_DA_DATA4
BEGIN
PROMPT 2 8 "Dalla Data "
GROUP 4
END
DATA F_A_DATA4
BEGIN
PROMPT 30 8 "Alla Data "
GROUP 4
VALIDATE DATE_CMP_FUNC >= F_DA_DATA2
WARNING "Data limite superiore non valida"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""