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:
parent
bba6d28579
commit
ab75919061
@ -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
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __RECARRAY_H
|
||||
#include <recarray.h>
|
||||
#include <relation.h>
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
253
ef/ef0300.cpp
253
ef/ef0300.cpp
@ -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);
|
||||
|
21
ef/ef0300.h
21
ef/ef0300.h
@ -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
|
||||
|
||||
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
887
ef/ef0600.cpp
887
ef/ef0600.cpp
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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 ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user