Corrette maschere di stampa, esteticamente (bottone stampa e fine) e
funzionalmente (ricerche su tabelle che non esistono) git-svn-id: svn://10.65.10.50/trunk@270 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a31f2fb728
commit
7147bd2803
@ -1,314 +1,319 @@
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <form.h>
|
||||
#include <sheet.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "cg1400.h"
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TArray_sheet* _ditte;
|
||||
int _mese, _anno, _tipo;
|
||||
TString _azienda, _dipendenza;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
public:
|
||||
TStampa_deleghe_IVA() : _ditte(NULL) {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
CHECK(_ditte == NULL, "Eh la vaca!");
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend.");
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
if (m.run() != K_ENTER) return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
_mese = atoi(m.get(F_MESE));
|
||||
_anno = atoi(m.get(F_ANNO));
|
||||
_tipo = atoi(m.get(F_TIPO));
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
|
||||
TDate d(m.get(F_DATA));
|
||||
printer().setdate(d);
|
||||
}
|
||||
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
|
||||
TTable deleghe("%DEL");
|
||||
|
||||
TString chiave(16);
|
||||
TToken_string d(80);
|
||||
|
||||
_ditte->destroy();
|
||||
|
||||
for (nditte.first(); !nditte.eof(); nditte.next())
|
||||
{
|
||||
const long dit = atol(nditte.get("CODDITTA"));
|
||||
chiave = format("%05ld", dit);
|
||||
chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
deleghe.put("CODTAB", chiave);
|
||||
if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare
|
||||
{
|
||||
d = " "; // Selezione
|
||||
d.add(chiave.left(5)); // Codice ditta
|
||||
d.add(nditte.get("RAGSOC")); // Ragione sociale
|
||||
|
||||
real importo(deleghe.get("R0"));
|
||||
d.add(importo.string(".")); // Importo
|
||||
|
||||
const long az = atol(deleghe.get("I0"));
|
||||
d.add(format("%05ld", az)); // Azienda
|
||||
|
||||
const long di = atol(deleghe.get("I1"));
|
||||
d.add(format("%05ld", di)); // Dipendenza
|
||||
|
||||
_ditte->add(d);
|
||||
}
|
||||
}
|
||||
|
||||
if (_ditte->items() > 0)
|
||||
{
|
||||
const bool ok = _ditte->run() == K_ENTER;
|
||||
if (ok) enable_menu_item(M_FILE_PRINT);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
TAB_IMPORTO = 82, TAB_NOTE = 100 };
|
||||
|
||||
printer().open();
|
||||
|
||||
TLocalisamfile ditte(LF_NDITTE);
|
||||
TRectype& ditta = ditte.curr();
|
||||
|
||||
TLocalisamfile anagrafiche(LF_ANAG);
|
||||
TRectype& anag = anagrafiche.curr();
|
||||
|
||||
TLocalisamfile comuni(LF_COMUNI);
|
||||
TRectype& comune = comuni.curr();
|
||||
|
||||
TTable banche("%BAN");
|
||||
TRectype& banca = banche.curr();
|
||||
|
||||
TString codban(16);
|
||||
if (_azienda.not_empty())
|
||||
{
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
banca.put("CODTAB", codban);
|
||||
banche.read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
printer().setheaderline(0, row);
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
t << _anno;
|
||||
row.put(t, 60);
|
||||
printer().setheaderline(1, row);
|
||||
|
||||
t.fill('-', 130);
|
||||
row.reset();
|
||||
row.put(t, 0);
|
||||
printer().setheaderline(2, row);
|
||||
printer().setheaderline(4, row);
|
||||
|
||||
row.reset();
|
||||
row.put("Ditta", TAB_DITTA);
|
||||
row.put("Sede" , TAB_SEDE);
|
||||
row.put("Importo", TAB_IMPORTO+8);
|
||||
row.put("Note", TAB_NOTE);
|
||||
printer().setheaderline(3, row);
|
||||
|
||||
real totale;
|
||||
|
||||
for (int i = 0; i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString cod(_ditte->row(i).get(1));
|
||||
ditta.put("CODDITTA", cod);
|
||||
ditte.read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
imp.strip(".");
|
||||
real importo(imp);
|
||||
totale += importo;
|
||||
|
||||
const char* r;
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
|
||||
row.reset();
|
||||
printer().print(row);
|
||||
row.put("@BTotale versamenti :", TAB_SEDE);
|
||||
row.put(totale.string("###.###.###.###"), TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
printer().close();
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file()->read();
|
||||
const bool cera = atoi(delega.get("S7")) != 0;
|
||||
if (!cera)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
||||
if (!_stampa_prova)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (scrivi)
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
printer().close();
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
int cg1400(int argc, char* argv[])
|
||||
{
|
||||
TStampa_deleghe_IVA a;
|
||||
a.run(argc, argv, "Stampa Deleghe IVA");
|
||||
return 0;
|
||||
}
|
||||
#include <applicat.h>
|
||||
#include <config.h>
|
||||
#include <form.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <sheet.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "cg1400.h"
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TArray_sheet* _ditte;
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
public:
|
||||
TStampa_deleghe_IVA() : _ditte(NULL) {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
CHECK(_ditte == NULL, "Eh la vaca!");
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend.");
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
m.set(F_ABI, c.get("CodABI"));
|
||||
m.set(F_CAB, c.get("CodCAB"));
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
_mese = m.get_int(F_MESE);
|
||||
_anno = m.get_int(F_ANNO);
|
||||
_tipo = m.get_int(F_TIPO);
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
|
||||
const TDate d(m.get(F_DATA));
|
||||
printer().setdate(d);
|
||||
}
|
||||
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
|
||||
TTable deleghe("%DEL");
|
||||
|
||||
TString16 chiave;
|
||||
TToken_string d(80);
|
||||
|
||||
_ditte->destroy();
|
||||
|
||||
for (nditte.first(); !nditte.eof(); nditte.next())
|
||||
{
|
||||
const long dit = nditte.get_long("CODDITTA");
|
||||
chiave.format("%05ld", dit);
|
||||
chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
deleghe.put("CODTAB", chiave);
|
||||
if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare
|
||||
{
|
||||
d = " "; // Selezione
|
||||
d.add(chiave.left(5)); // Codice ditta
|
||||
d.add(nditte.get("RAGSOC")); // Ragione sociale
|
||||
|
||||
const real importo(deleghe.get("R0"));
|
||||
d.add(importo.string(".")); // Importo
|
||||
|
||||
const long az = deleghe.get_long("I0");
|
||||
d.add(format("%05ld", az)); // Azienda
|
||||
|
||||
const long di = deleghe.get_long("I1");
|
||||
d.add(format("%05ld", di)); // Dipendenza
|
||||
|
||||
_ditte->add(d);
|
||||
}
|
||||
}
|
||||
|
||||
if (_ditte->items() > 0)
|
||||
{
|
||||
const bool ok = _ditte->run() == K_ENTER;
|
||||
if (ok) enable_menu_item(M_FILE_PRINT);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
TAB_IMPORTO = 82, TAB_NOTE = 100 };
|
||||
|
||||
printer().open();
|
||||
|
||||
TLocalisamfile ditte(LF_NDITTE);
|
||||
TRectype& ditta = ditte.curr();
|
||||
|
||||
TLocalisamfile anagrafiche(LF_ANAG);
|
||||
TRectype& anag = anagrafiche.curr();
|
||||
|
||||
TLocalisamfile comuni(LF_COMUNI);
|
||||
TRectype& comune = comuni.curr();
|
||||
|
||||
TTable banche("%BAN");
|
||||
TRectype& banca = banche.curr();
|
||||
|
||||
TString16 codban;
|
||||
if (_azienda.not_empty())
|
||||
{
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
banca.put("CODTAB", codban);
|
||||
banche.read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
printer().setheaderline(0, row);
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
t << _anno;
|
||||
row.put(t, 60);
|
||||
printer().setheaderline(1, row);
|
||||
|
||||
t.fill('-', 130);
|
||||
row.reset();
|
||||
row.put(t, 0);
|
||||
printer().setheaderline(2, row);
|
||||
printer().setheaderline(4, row);
|
||||
|
||||
row.reset();
|
||||
row.put("Ditta", TAB_DITTA);
|
||||
row.put("Sede" , TAB_SEDE);
|
||||
row.put("Importo", TAB_IMPORTO+8);
|
||||
row.put("Note", TAB_NOTE);
|
||||
printer().setheaderline(3, row);
|
||||
|
||||
real totale;
|
||||
|
||||
for (int i = 0; i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString cod(_ditte->row(i).get(1));
|
||||
ditta.put("CODDITTA", cod);
|
||||
ditte.read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
imp.strip(".");
|
||||
real importo(imp);
|
||||
totale += importo;
|
||||
|
||||
const char* r;
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
|
||||
row.reset();
|
||||
printer().print(row);
|
||||
row.put("@BTotale versamenti :", TAB_SEDE);
|
||||
row.put(totale.string("###.###.###.###"), TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
printer().close();
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file()->read();
|
||||
const bool cera = atoi(delega.get("S7")) != 0;
|
||||
if (!cera)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
||||
if (!_stampa_prova)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (scrivi)
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
printer().close();
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
int cg1400(int argc, char* argv[])
|
||||
{
|
||||
TStampa_deleghe_IVA a;
|
||||
a.run(argc, argv, "Stampa Deleghe IVA");
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,93 +1,95 @@
|
||||
#include "cg1400.h"
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice Azienda "
|
||||
FLAGS "RZ"
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 25 1 "Codice Dipendenza "
|
||||
FLAGS "RZ"
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 1 8 "Aggiorna codici banca sulle deleghe"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 8 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "cg1400.h"
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice ABI "
|
||||
FLAGS "RZ"
|
||||
FIELD CNF_STUDIO->cg.CodABI
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 22 1 "Codice CAB "
|
||||
FLAGS "RZ"
|
||||
FIELD CNF_STUDIO->cg.CodCAB
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 1 8 "Aggiorna codici banca sulle deleghe"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 8 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -1,7 +1,10 @@
|
||||
#include "cg0201.h"
|
||||
<<<<<<< cg0201.cpp
|
||||
=======
|
||||
#include <lffiles.h>
|
||||
#include <clifo.h>
|
||||
#include <indsp.h>
|
||||
>>>>>>> 1.4
|
||||
|
||||
|
||||
extern bool gest_vend();
|
||||
|
123
cg/cg0500.cpp
123
cg/cg0500.cpp
@ -263,34 +263,27 @@ bool CG0500_application::leggi_riga(int r, KEY k)
|
||||
|
||||
bool filtra_reg(const TRelation * r)
|
||||
{
|
||||
const TString codtab(r->lfile()->get("CODTAB"));
|
||||
int tiporeg = r->lfile()->get_int("I0");
|
||||
bool corrisp = r->lfile()->get_bool("B0");
|
||||
|
||||
const int anno = atoi(codtab.left(4));
|
||||
|
||||
switch (app()->_filtro)
|
||||
TFixed_string codtab(r->lfile()->get("CODTAB"));
|
||||
const int anno = atoi(codtab.cut(4));
|
||||
if (anno == anno_iva())
|
||||
{
|
||||
case 1:
|
||||
if (anno == anno_iva() && tiporeg == 1)
|
||||
return TRUE;
|
||||
break;
|
||||
case 2:
|
||||
if (anno == anno_iva() && tiporeg == 1 && corrisp)
|
||||
return TRUE;
|
||||
break;
|
||||
case 3:
|
||||
if (anno == anno_iva() && tiporeg == 2)
|
||||
return TRUE;
|
||||
break;
|
||||
case 4: // tiporeg 1 senza corrisp OPPURE 2 (NC ST ND AF)
|
||||
if (anno == anno_iva())
|
||||
if ( (tiporeg == 1 && !corrisp) || tiporeg == 2 )
|
||||
return TRUE;
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
const int tiporeg = r->lfile()->get_int("I0");
|
||||
const bool corrisp = r->lfile()->get_bool("B0");
|
||||
|
||||
switch (app()->_filtro)
|
||||
{
|
||||
case 1:
|
||||
return (tiporeg == 1);
|
||||
case 2:
|
||||
return (tiporeg == 1 && corrisp);
|
||||
case 3:
|
||||
return (tiporeg == 2);
|
||||
case 4: // tiporeg 1 senza corrisp OPPURE 2 (NC ST ND AF)
|
||||
return ( (tiporeg == 1 && !corrisp) || tiporeg == 2 );
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -405,25 +398,25 @@ bool CG0500_application::tipodoc_hndl (TMask_field& f, KEY k)
|
||||
}
|
||||
|
||||
// Ma davvero esiste il registro ?
|
||||
TString16 codreg=f.mask().get(F_COD_REG);
|
||||
const TString16 codreg=f.mask().get(F_COD_REG);
|
||||
if (codreg.not_empty())
|
||||
{
|
||||
TRegistro registro(codreg, anno_iva());
|
||||
if (!registro.read(codreg, anno_iva()))
|
||||
return f.warning_box("Non esiste il registro %s per l'anno %d",
|
||||
(const char *)codreg, anno_iva());
|
||||
const TRegistro registro(codreg, anno_iva());
|
||||
if (!registro.ok())
|
||||
return f.error_box("Non esiste il registro %s per l'anno %d",
|
||||
(const char*)codreg, anno_iva());
|
||||
}
|
||||
|
||||
app()->MostraCampi(f);
|
||||
if (f.focusdirty())
|
||||
app()->fill_sheet(f.mask());
|
||||
app()->fill_sheet(f.mask());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool CG0500_application::tipomov_hndl (TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE) {
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
app()->MostraCampi(f);
|
||||
if (f.focusdirty()) app()->fill_sheet(f.mask());
|
||||
}
|
||||
@ -434,14 +427,15 @@ bool CG0500_application::tipomov_hndl (TMask_field& f, KEY k)
|
||||
// essere puramente contabile (= codreg vuoto e tpm = Nessuno
|
||||
bool CG0500_application::codcausim_hndl (TMask_field& f, KEY k)
|
||||
{
|
||||
if (f.to_check(k)) {
|
||||
TString16 causim(f.get());
|
||||
if (f.to_check(k))
|
||||
{
|
||||
const TString16 causim(f.get());
|
||||
TLocalisamfile& caus = *app()->_rel->lfile(LF_CAUSALI);
|
||||
caus.zero();
|
||||
caus.put(CAU_CODCAUS, causim);
|
||||
if (caus.read() == NOERR)
|
||||
{
|
||||
const int tpm = caus.get_int(CAU_TIPOMOV);
|
||||
const int tpm = caus.get_int(CAU_TIPOMOV);
|
||||
TString16 codreg = caus.get(CAU_REG);
|
||||
if (codreg.not_empty() || tpm != 0)
|
||||
return f.warning_box("La causale per l'incasso immediato specificata (%s) deve essere puramente contabile",
|
||||
@ -455,8 +449,8 @@ bool CG0500_application::codcausim_hndl (TMask_field& f, KEY k)
|
||||
bool CG0500_application::MostraCampi(TMask_field& f)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const int tpm = m.get_int(F_TIPO_MOV);
|
||||
TString16 codreg = m.get(F_COD_REG);
|
||||
const int tpm = m.get_int(F_TIPO_MOV);
|
||||
const TString16 codreg = m.get(F_COD_REG);
|
||||
if (codreg.empty())
|
||||
{
|
||||
m.hide(F_AUTO_FAT);
|
||||
@ -464,9 +458,10 @@ bool CG0500_application::MostraCampi(TMask_field& f)
|
||||
m.hide(F_FAT_RITARDO);
|
||||
m.hide(F_OP_INTRACOM);
|
||||
m.hide(F_VALINTRA);
|
||||
if (salda_conto()) m.hide(F_COD_CAUS_IM);
|
||||
|
||||
switch (tpm) {
|
||||
if (salda_conto())
|
||||
m.hide(F_COD_CAUS_IM);
|
||||
switch (tpm)
|
||||
{
|
||||
case 0:
|
||||
m.show(F_OP_FINE_ANNO);
|
||||
m.show(F_COLL_CESP);
|
||||
@ -487,7 +482,8 @@ bool CG0500_application::MostraCampi(TMask_field& f)
|
||||
break;
|
||||
}
|
||||
}
|
||||
else { // codreg non vuoto
|
||||
else
|
||||
{ // codreg non vuoto
|
||||
m.hide(F_OP_FINE_ANNO);
|
||||
m.hide(F_MOV_SEZ);
|
||||
if (gestione_valuta()) m.show(F_MOV_VALU);
|
||||
@ -504,9 +500,11 @@ bool CG0500_application::MostraCampi(TMask_field& f)
|
||||
|
||||
bool CG0500_application::cod_reg_hndl (TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB) {
|
||||
if (k == K_TAB)
|
||||
{
|
||||
app()->MostraCampi(f);
|
||||
if (f.focusdirty()) app()->fill_sheet(f.mask());
|
||||
if (f.focusdirty())
|
||||
app()->fill_sheet(f.mask());
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -528,7 +526,8 @@ bool CG0500_application::cod_reg_hndl (TMask_field& f, KEY k)
|
||||
i = (TipoIVA)tabtpd.get_int("I0"); // IVA acquisti, vendite, generica
|
||||
const TipoIVA ri = grog.iva();
|
||||
if (i == iva_generica) i = ri;
|
||||
if (i != ri) {
|
||||
if (i != ri)
|
||||
{
|
||||
return f.warning_box("Tipo documento incompatibile con tipo registro");
|
||||
i = iva_errata;
|
||||
}
|
||||
@ -765,7 +764,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int
|
||||
{
|
||||
if (salda_conto())
|
||||
{
|
||||
switch (tpm) {
|
||||
switch (tpm)
|
||||
{
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
@ -774,7 +774,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int
|
||||
case 0:
|
||||
if (m770 == 6)
|
||||
_righe_rcaus.CausaleRitenutaOccas();
|
||||
else {
|
||||
else
|
||||
{
|
||||
_forcedCopy = TRUE;
|
||||
_righe_rcaus.ClearDescr();
|
||||
_righe_rcaus.CaricaRigheLibere();
|
||||
@ -787,7 +788,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int
|
||||
break;
|
||||
}
|
||||
}
|
||||
else { // NO saldaconto
|
||||
else
|
||||
{ // NO saldaconto
|
||||
_forcedCopy = TRUE;
|
||||
_righe_rcaus.ClearDescr();
|
||||
_righe_rcaus.CaricaRigheLibere();
|
||||
@ -913,18 +915,22 @@ bool CG0500_application::descr2array(TMask& m, bool fromHandler)
|
||||
int tpm, m770, tpr;
|
||||
|
||||
// if (m.mode() == MODE_MOD && !fromHandler)
|
||||
if (fromHandler) {
|
||||
if (fromHandler)
|
||||
{
|
||||
codreg = m.field(F_COD_REG).get();
|
||||
tpd = m.field(F_TIPO_DOC).get();
|
||||
tpm = m.get_int(F_TIPO_MOV);
|
||||
m770 = m.get_int(F_M_770);
|
||||
} else if (m.mode() == MODE_MOD) {
|
||||
}
|
||||
else if (m.mode() == MODE_MOD)
|
||||
{
|
||||
codreg = caus.get("REG");
|
||||
tpd = caus.get("TIPODOC");
|
||||
tpm = caus.get_int("TIPOMOV");
|
||||
m770 = caus.get_int("M770");
|
||||
}
|
||||
else { // sono in inserimento e prima di entrare negli handler
|
||||
else
|
||||
{ // sono in inserimento e prima di entrare negli handler
|
||||
codreg = m.field(F_COD_REG).get();
|
||||
tpd = m.field(F_TIPO_DOC).get();
|
||||
tpm = m.get_int(F_TIPO_MOV);
|
||||
@ -933,12 +939,13 @@ bool CG0500_application::descr2array(TMask& m, bool fromHandler)
|
||||
|
||||
if (fromHandler)
|
||||
tpr = m.get_int(F_TIPO_REG);
|
||||
else {
|
||||
else
|
||||
{
|
||||
TString16 chiave; chiave << anno_iva() << codreg;
|
||||
TTable reg("REG");
|
||||
reg.put("CODTAB", chiave);
|
||||
reg.read();
|
||||
tpr = reg.get_int("I0");
|
||||
tpr = reg.get_int("I0");
|
||||
}
|
||||
|
||||
// carico le descrizioni fisse nell'array Righe_rcaus
|
||||
@ -1094,13 +1101,15 @@ bool CG0500_application::user_create()
|
||||
|
||||
_msk = new TMask("cg0500a");
|
||||
|
||||
if (!salda_conto()) {
|
||||
if (!salda_conto())
|
||||
{
|
||||
_msk->hide (F_MOV_SEZ);
|
||||
_msk->hide (F_TIPO_MOV_1);
|
||||
_msk->hide (F_TIPO_MOV_2);
|
||||
_msk->show (F_COD_CAUS_IM);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
_msk->show (F_MOV_SEZ);
|
||||
_msk->hide (F_COD_CAUS_IM);
|
||||
}
|
||||
|
@ -157,9 +157,9 @@ BEGIN
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 105 SOTTOCONTO
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
// MESSAGE COPY, 207
|
||||
// MESSAGE COPY, 307
|
||||
|
@ -11,12 +11,17 @@ const char* iva2name(TipoIVA iva)
|
||||
const char* i;
|
||||
switch(iva)
|
||||
{
|
||||
case nessuna_iva : i = "Nessuna IVA"; break;
|
||||
case iva_acquisti: i = "IVA Acquisti"; break;
|
||||
case iva_vendite : i = "IVA Vendite"; break;
|
||||
case iva_generica: i = "IVA Generica"; break;
|
||||
default : i = "IVA ERRATA!"; break;
|
||||
}
|
||||
case nessuna_iva :
|
||||
i = "Nessuna IVA"; break;
|
||||
case iva_acquisti:
|
||||
i = "IVA Acquisti"; break;
|
||||
case iva_vendite :
|
||||
i = "IVA Vendite"; break;
|
||||
case iva_generica:
|
||||
i = "IVA Generica"; break;
|
||||
default :
|
||||
i = "IVA ERRATA!"; break;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
633
cg/cg1400.cpp
633
cg/cg1400.cpp
@ -1,314 +1,319 @@
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <form.h>
|
||||
#include <sheet.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "cg1400.h"
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TArray_sheet* _ditte;
|
||||
int _mese, _anno, _tipo;
|
||||
TString _azienda, _dipendenza;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
public:
|
||||
TStampa_deleghe_IVA() : _ditte(NULL) {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
CHECK(_ditte == NULL, "Eh la vaca!");
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend.");
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
if (m.run() != K_ENTER) return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
_mese = atoi(m.get(F_MESE));
|
||||
_anno = atoi(m.get(F_ANNO));
|
||||
_tipo = atoi(m.get(F_TIPO));
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
|
||||
TDate d(m.get(F_DATA));
|
||||
printer().setdate(d);
|
||||
}
|
||||
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
|
||||
TTable deleghe("%DEL");
|
||||
|
||||
TString chiave(16);
|
||||
TToken_string d(80);
|
||||
|
||||
_ditte->destroy();
|
||||
|
||||
for (nditte.first(); !nditte.eof(); nditte.next())
|
||||
{
|
||||
const long dit = atol(nditte.get("CODDITTA"));
|
||||
chiave = format("%05ld", dit);
|
||||
chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
deleghe.put("CODTAB", chiave);
|
||||
if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare
|
||||
{
|
||||
d = " "; // Selezione
|
||||
d.add(chiave.left(5)); // Codice ditta
|
||||
d.add(nditte.get("RAGSOC")); // Ragione sociale
|
||||
|
||||
real importo(deleghe.get("R0"));
|
||||
d.add(importo.string(".")); // Importo
|
||||
|
||||
const long az = atol(deleghe.get("I0"));
|
||||
d.add(format("%05ld", az)); // Azienda
|
||||
|
||||
const long di = atol(deleghe.get("I1"));
|
||||
d.add(format("%05ld", di)); // Dipendenza
|
||||
|
||||
_ditte->add(d);
|
||||
}
|
||||
}
|
||||
|
||||
if (_ditte->items() > 0)
|
||||
{
|
||||
const bool ok = _ditte->run() == K_ENTER;
|
||||
if (ok) enable_menu_item(M_FILE_PRINT);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
TAB_IMPORTO = 82, TAB_NOTE = 100 };
|
||||
|
||||
printer().open();
|
||||
|
||||
TLocalisamfile ditte(LF_NDITTE);
|
||||
TRectype& ditta = ditte.curr();
|
||||
|
||||
TLocalisamfile anagrafiche(LF_ANAG);
|
||||
TRectype& anag = anagrafiche.curr();
|
||||
|
||||
TLocalisamfile comuni(LF_COMUNI);
|
||||
TRectype& comune = comuni.curr();
|
||||
|
||||
TTable banche("%BAN");
|
||||
TRectype& banca = banche.curr();
|
||||
|
||||
TString codban(16);
|
||||
if (_azienda.not_empty())
|
||||
{
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
banca.put("CODTAB", codban);
|
||||
banche.read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
printer().setheaderline(0, row);
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
t << _anno;
|
||||
row.put(t, 60);
|
||||
printer().setheaderline(1, row);
|
||||
|
||||
t.fill('-', 130);
|
||||
row.reset();
|
||||
row.put(t, 0);
|
||||
printer().setheaderline(2, row);
|
||||
printer().setheaderline(4, row);
|
||||
|
||||
row.reset();
|
||||
row.put("Ditta", TAB_DITTA);
|
||||
row.put("Sede" , TAB_SEDE);
|
||||
row.put("Importo", TAB_IMPORTO+8);
|
||||
row.put("Note", TAB_NOTE);
|
||||
printer().setheaderline(3, row);
|
||||
|
||||
real totale;
|
||||
|
||||
for (int i = 0; i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString cod(_ditte->row(i).get(1));
|
||||
ditta.put("CODDITTA", cod);
|
||||
ditte.read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
imp.strip(".");
|
||||
real importo(imp);
|
||||
totale += importo;
|
||||
|
||||
const char* r;
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
|
||||
row.reset();
|
||||
printer().print(row);
|
||||
row.put("@BTotale versamenti :", TAB_SEDE);
|
||||
row.put(totale.string("###.###.###.###"), TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
printer().close();
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file()->read();
|
||||
const bool cera = atoi(delega.get("S7")) != 0;
|
||||
if (!cera)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
||||
if (!_stampa_prova)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (scrivi)
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
printer().close();
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
int cg1400(int argc, char* argv[])
|
||||
{
|
||||
TStampa_deleghe_IVA a;
|
||||
a.run(argc, argv, "Stampa Deleghe IVA");
|
||||
return 0;
|
||||
}
|
||||
#include <applicat.h>
|
||||
#include <config.h>
|
||||
#include <form.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <sheet.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "cg1400.h"
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TArray_sheet* _ditte;
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
public:
|
||||
TStampa_deleghe_IVA() : _ditte(NULL) {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
CHECK(_ditte == NULL, "Eh la vaca!");
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend.");
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
m.set(F_ABI, c.get("CodABI"));
|
||||
m.set(F_CAB, c.get("CodCAB"));
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
_mese = m.get_int(F_MESE);
|
||||
_anno = m.get_int(F_ANNO);
|
||||
_tipo = m.get_int(F_TIPO);
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
|
||||
const TDate d(m.get(F_DATA));
|
||||
printer().setdate(d);
|
||||
}
|
||||
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
|
||||
TTable deleghe("%DEL");
|
||||
|
||||
TString16 chiave;
|
||||
TToken_string d(80);
|
||||
|
||||
_ditte->destroy();
|
||||
|
||||
for (nditte.first(); !nditte.eof(); nditte.next())
|
||||
{
|
||||
const long dit = nditte.get_long("CODDITTA");
|
||||
chiave.format("%05ld", dit);
|
||||
chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
deleghe.put("CODTAB", chiave);
|
||||
if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare
|
||||
{
|
||||
d = " "; // Selezione
|
||||
d.add(chiave.left(5)); // Codice ditta
|
||||
d.add(nditte.get("RAGSOC")); // Ragione sociale
|
||||
|
||||
const real importo(deleghe.get("R0"));
|
||||
d.add(importo.string(".")); // Importo
|
||||
|
||||
const long az = deleghe.get_long("I0");
|
||||
d.add(format("%05ld", az)); // Azienda
|
||||
|
||||
const long di = deleghe.get_long("I1");
|
||||
d.add(format("%05ld", di)); // Dipendenza
|
||||
|
||||
_ditte->add(d);
|
||||
}
|
||||
}
|
||||
|
||||
if (_ditte->items() > 0)
|
||||
{
|
||||
const bool ok = _ditte->run() == K_ENTER;
|
||||
if (ok) enable_menu_item(M_FILE_PRINT);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
TAB_IMPORTO = 82, TAB_NOTE = 100 };
|
||||
|
||||
printer().open();
|
||||
|
||||
TLocalisamfile ditte(LF_NDITTE);
|
||||
TRectype& ditta = ditte.curr();
|
||||
|
||||
TLocalisamfile anagrafiche(LF_ANAG);
|
||||
TRectype& anag = anagrafiche.curr();
|
||||
|
||||
TLocalisamfile comuni(LF_COMUNI);
|
||||
TRectype& comune = comuni.curr();
|
||||
|
||||
TTable banche("%BAN");
|
||||
TRectype& banca = banche.curr();
|
||||
|
||||
TString16 codban;
|
||||
if (_azienda.not_empty())
|
||||
{
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
banca.put("CODTAB", codban);
|
||||
banche.read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
printer().setheaderline(0, row);
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
t << _anno;
|
||||
row.put(t, 60);
|
||||
printer().setheaderline(1, row);
|
||||
|
||||
t.fill('-', 130);
|
||||
row.reset();
|
||||
row.put(t, 0);
|
||||
printer().setheaderline(2, row);
|
||||
printer().setheaderline(4, row);
|
||||
|
||||
row.reset();
|
||||
row.put("Ditta", TAB_DITTA);
|
||||
row.put("Sede" , TAB_SEDE);
|
||||
row.put("Importo", TAB_IMPORTO+8);
|
||||
row.put("Note", TAB_NOTE);
|
||||
printer().setheaderline(3, row);
|
||||
|
||||
real totale;
|
||||
|
||||
for (int i = 0; i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString cod(_ditte->row(i).get(1));
|
||||
ditta.put("CODDITTA", cod);
|
||||
ditte.read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
imp.strip(".");
|
||||
real importo(imp);
|
||||
totale += importo;
|
||||
|
||||
const char* r;
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
|
||||
row.reset();
|
||||
printer().print(row);
|
||||
row.put("@BTotale versamenti :", TAB_SEDE);
|
||||
row.put(totale.string("###.###.###.###"), TAB_IMPORTO);
|
||||
printer().print(row);
|
||||
|
||||
printer().close();
|
||||
}
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file()->read();
|
||||
const bool cera = atoi(delega.get("S7")) != 0;
|
||||
if (!cera)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
||||
if (!_stampa_prova)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (scrivi)
|
||||
f.cursor()->file()->rewrite();
|
||||
}
|
||||
printer().close();
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
int cg1400(int argc, char* argv[])
|
||||
{
|
||||
TStampa_deleghe_IVA a;
|
||||
a.run(argc, argv, "Stampa Deleghe IVA");
|
||||
return 0;
|
||||
}
|
||||
|
188
cg/cg1400a.uml
188
cg/cg1400a.uml
@ -1,93 +1,95 @@
|
||||
#include "cg1400.h"
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice Azienda "
|
||||
FLAGS "RZ"
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 25 1 "Codice Dipendenza "
|
||||
FLAGS "RZ"
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 1 8 "Aggiorna codici banca sulle deleghe"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 8 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "cg1400.h"
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice ABI "
|
||||
FLAGS "RZ"
|
||||
FIELD CNF_STUDIO->cg.CodABI
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 22 1 "Codice CAB "
|
||||
FLAGS "RZ"
|
||||
FIELD CNF_STUDIO->cg.CodCAB
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
INPUT CODTAB[6,10] F_CAB
|
||||
DISPLAY "Azienda" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 1 8 "Aggiorna codici banca sulle deleghe"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 8 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -20,8 +20,8 @@ enum descr {causale, conto};
|
||||
|
||||
class CG1700_application : public TPrintapp
|
||||
{
|
||||
TLocalisamfile * _caus, * _rcaus, * _clifo, * _pcon, * _nditte, * _anag, * _com;
|
||||
TRelation * _rel;
|
||||
TLocalisamfile * _clifo, * _pcon, * _nditte, * _anag, * _com;
|
||||
TCursor * _cur;
|
||||
TMask * _msk;
|
||||
TParagraph_string * _descr_causale, * _descr_conto;
|
||||
@ -108,7 +108,7 @@ void CG1700_application::get_dati_ditta()
|
||||
int CG1700_application::stampa_intestazione_ditta()
|
||||
{
|
||||
int r = 1;
|
||||
TString codice_ditta;
|
||||
TString16 codice_ditta;
|
||||
TString riga(132);
|
||||
|
||||
get_dati_ditta();
|
||||
@ -237,10 +237,7 @@ void CG1700_application::setta_righe_descr(TParagraph_string* str, enum descr de
|
||||
|
||||
bool CG1700_application::set_print(int)
|
||||
{
|
||||
KEY tasto;
|
||||
|
||||
tasto = _msk->run();
|
||||
|
||||
const KEY tasto = _msk->run();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
_data = _msk->get(F_DATASTAMPA);
|
||||
@ -259,8 +256,6 @@ void CG1700_application::user_create()
|
||||
_cur = new TCursor (_rel,"", 1);
|
||||
add_cursor(_cur);
|
||||
|
||||
_caus = new TLocalisamfile(LF_CAUSALI);
|
||||
_rcaus = new TLocalisamfile(LF_RCAUSALI);
|
||||
_com = new TLocalisamfile(LF_COMUNI);
|
||||
_pcon = new TLocalisamfile(LF_PCON);
|
||||
_clifo = new TLocalisamfile(LF_CLIFO);
|
||||
@ -279,9 +274,7 @@ void CG1700_application::user_destroy()
|
||||
delete _cur;
|
||||
delete _rel;
|
||||
delete _clifo;
|
||||
delete _caus;
|
||||
delete _com;
|
||||
delete _rcaus;
|
||||
delete _pcon;
|
||||
delete _nditte;
|
||||
delete _anag;
|
||||
|
@ -27,9 +27,10 @@ BEGIN
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "cg3100.h"
|
||||
|
||||
PAGE "" -1 -1 76 20
|
||||
PAGE "Lista Movimenti" -1 -1 76 20
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
@ -199,9 +199,10 @@ BEGIN
|
||||
END
|
||||
*/
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BUTTON DLG_PRINT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
|
@ -1,19 +1,18 @@
|
||||
#include "cg3200.h"
|
||||
|
||||
PAGE "" -1 -1 78 20
|
||||
|
||||
PAGE "Mastrini" -1 -1 78 20
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 4 1 "Ditta "
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
@ -558,9 +557,10 @@ BEGIN
|
||||
ITEM "2|Due"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BUTTON DLG_PRINT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
|
@ -1,10 +1,7 @@
|
||||
// cg3400 - Stampa libro giornale
|
||||
|
||||
#include <applicat.h>
|
||||
#include <isam.h>
|
||||
#include <date.h>
|
||||
#include <mask.h>
|
||||
#include <lffiles.h>
|
||||
#include <utility.h>
|
||||
#include <tabutil.h>
|
||||
#include <urldefid.h>
|
||||
@ -176,7 +173,7 @@ bool CG3400_application::IsInEsercizio (TDate& da, TDate& a, int anno_eser)
|
||||
|
||||
if (!da.ok() || !a.ok()) return FALSE;
|
||||
|
||||
codtab.format ("%-4d", anno_eser);
|
||||
codtab.format ("%04d", anno_eser);
|
||||
TabEs.zero();
|
||||
TabEs.put ("CODTAB", codtab);
|
||||
TabEs.read();
|
||||
@ -1146,16 +1143,21 @@ int CG3400_application::setta_righe_iva()
|
||||
set_row(r, "@58gCodice Iva@68g%3s", (const char*)riga._codiva);
|
||||
switch (riga._tipodet)
|
||||
{
|
||||
case 0 : set_row(r, "@73gDetraibile");
|
||||
break;
|
||||
case 1 : set_row(r, "@73gIndetraibile su op.es.");
|
||||
break;
|
||||
case 3 : set_row(r, "@73gPassaggi interni");
|
||||
break;
|
||||
case 9 : set_row(r, "@73gIndetraibile art.19");
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
case 0 :
|
||||
set_row(r, "@73gDetraibile");
|
||||
break;
|
||||
case 1 :
|
||||
set_row(r, "@73gIndetraibile su op.es.");
|
||||
break;
|
||||
case 3 :
|
||||
set_row(r, "@73gPassaggi interni");
|
||||
break;
|
||||
case 9 :
|
||||
set_row(r, "@73gIndetraibile art.19");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
_iva_array.destroy();
|
||||
return r;
|
||||
@ -1303,7 +1305,7 @@ HIDDEN int date2esc(const TDate& d, int* prevesc)
|
||||
|
||||
bool CG3400_application::mask_a_data (TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_ENTER)
|
||||
if (k == K_TAB && f.focusdirty() || k == K_ENTER)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const TDate data_a(f.get());
|
||||
@ -1313,26 +1315,28 @@ bool CG3400_application::mask_a_data (TMask_field& f, KEY k)
|
||||
if (ae == 0)
|
||||
return f.error_box("La data specificata non appartiene a nessun esercizio");
|
||||
|
||||
TRegistro reg(codreg, ae);
|
||||
const TRegistro reg(codreg, ae);
|
||||
|
||||
if (!reg.ok())
|
||||
return f.warning_box("Non trovo il registro %s per l'esercizio %d",
|
||||
(const char *) codreg, ae);
|
||||
(const char *)codreg, ae);
|
||||
if (reg.tipo() != 5)
|
||||
return f.warning_box("Il registro %s non e' di tipo libro giornale",
|
||||
(const char *) codreg);
|
||||
(const char *)codreg);
|
||||
|
||||
if (definitiva)
|
||||
if (!definitiva)
|
||||
{
|
||||
const TDate data_da(m.get(DATA_DA));
|
||||
|
||||
// se la stampa e' di prova DALLA_DATA e' obbligatoria
|
||||
if (!data_da.ok())
|
||||
return f.warning_box("Manca la data di partenza");
|
||||
|
||||
if (data_da < app()->_inizioEs || data_a > app()->_fineEs);
|
||||
return f.warning_box("Le date specificate non appartengono allo stesso esercizio");
|
||||
if (data_da < app()->_inizioEs);
|
||||
return f.error_box("La data iniziale non appartiene all'esercizio %d, che inizia il %s",
|
||||
ae, (app()->_inizioEs).string());
|
||||
}
|
||||
if (data_a > app()->_fineEs);
|
||||
return f.error_box("La data finale non appartiene all'esercizio %d, che termina il %s)",
|
||||
ae, (app()->_fineEs).string());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -1359,15 +1363,13 @@ bool CG3400_application::mask_a_cod_reg (TMask_field& f, KEY k)
|
||||
|
||||
a->leggi_tabreg(reg_cod, a->_ae);
|
||||
|
||||
TString pag(8), stok(8);
|
||||
pag << (a->_pagine_stampate+1);
|
||||
stok << a->_stampa_ok;
|
||||
|
||||
if (definitiva)
|
||||
{
|
||||
if (a->_stampa_ok == -1) // stampa precedente andata bene
|
||||
m.field(PAGINA_DA).set(pag);
|
||||
m.set(PAGINA_DA, a->_pagine_stampate+1);
|
||||
else
|
||||
m.field(PAGINA_DA).set(stok);
|
||||
m.set(PAGINA_DA, a->_stampa_ok);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -1380,13 +1382,12 @@ bool CG3400_application::mask_a_cod_reg (TMask_field& f, KEY k)
|
||||
//
|
||||
bool CG3400_application::mask_b_ripristina (TMask_field& f, KEY k)
|
||||
{
|
||||
CG3400_application * a = (CG3400_application*) MainApp();
|
||||
|
||||
if (k == K_TAB)
|
||||
{
|
||||
f.mask().field(PROGR_DARE).set(a->_tot_dare.string());
|
||||
f.mask().field(ULTIMA_DATA).set(a->_last_data.string());
|
||||
f.mask().field(N_RIGA_STAMPATO).set(format ("%6d", a->_nprog_da));
|
||||
CG3400_application& a = (CG3400_application&)main_app();
|
||||
f.mask().set(PROGR_DARE, a._tot_dare.string());
|
||||
f.mask().set(ULTIMA_DATA, a._last_data.string());
|
||||
f.mask().set(N_RIGA_STAMPATO, a._nprog_da);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -1394,13 +1395,11 @@ bool CG3400_application::mask_b_ripristina (TMask_field& f, KEY k)
|
||||
bool CG3400_application::set_print(int)
|
||||
{
|
||||
TMask ma ("cg3400a");
|
||||
TMask mb ("cg3400b");
|
||||
KEY tasto;
|
||||
|
||||
ma.set_handler (CODREG, mask_a_cod_reg);
|
||||
// ma.set_handler (DATA_DA, mask_a_data);
|
||||
ma.set_handler (DATA_A, mask_a_data);
|
||||
mb.set_handler (DLG_RIPRISTINA, mask_b_ripristina);
|
||||
|
||||
// m.set_handler (REG_ANNO, mask_set_pagina_da);
|
||||
// m.set_handler (REG_DESC, mask_set_pagina_da);
|
||||
@ -1410,12 +1409,12 @@ bool CG3400_application::set_print(int)
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
_reg_cod = ma.get(CODREG);
|
||||
_stampa_definitiva = (bool) (ma.get(STAMPA_DEF) == "X");
|
||||
_stampa_definitiva = ma.get_bool(STAMPA_DEF);
|
||||
_data_da = ma.get(DATA_DA);
|
||||
_data_a = ma.get(DATA_A);
|
||||
_pagina_da = atoi(ma.get(PAGINA_DA));
|
||||
_stampa_width = (int)ma.get_long(STAMPA_WIDTH);
|
||||
_stampa_len = (int)ma.get_long(STAMPA_LEN);
|
||||
_pagina_da = ma.get_int(PAGINA_DA);
|
||||
_stampa_width = ma.get_int(STAMPA_WIDTH);
|
||||
_stampa_len = ma.get_int(STAMPA_LEN);
|
||||
|
||||
// Se stampa definita DALLA_DATA e' l'ultima data di stampa del
|
||||
// registro, se indicata, oppure la data di inizio esercizio
|
||||
@ -1438,14 +1437,15 @@ bool CG3400_application::set_print(int)
|
||||
|
||||
if (_stampa_definitiva)
|
||||
{
|
||||
TMask mb("cg3400b");
|
||||
mb.set_handler (DLG_RIPRISTINA, mask_b_ripristina);
|
||||
mb.set (PROGR_DARE, _tot_dare.string());
|
||||
mb.set (N_RIGA_STAMPATO, _nprog_da);
|
||||
mb.set (ULTIMA_DATA, _last_data.string());
|
||||
tasto = mb.run();
|
||||
return (tasto == K_ENTER);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
return (tasto == K_ENTER);
|
||||
}
|
||||
|
||||
int cg3400 (int argc, char * argv[])
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "cg3400a.h"
|
||||
|
||||
PAGE "" -1 -1 70 15
|
||||
PAGE "Stampa Libro Giornale" -1 -1 70 15
|
||||
|
||||
STRING CODREG 3
|
||||
BEGIN
|
||||
@ -12,13 +12,13 @@ BEGIN
|
||||
DISPLAY "Codice" CODTAB[5,7]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo" I0
|
||||
// OUTPUT ANNO_ESER CODTAB[1,4]
|
||||
// OUTPUT ANNO_ESER CODTAB[1,4]
|
||||
OUTPUT CODREG CODTAB[5,7]
|
||||
OUTPUT REG_DESC S0
|
||||
OUTPUT PAGINA_DA I1
|
||||
// OUTPUT DATA_DA D0
|
||||
// OUTPUT DATA_A D1
|
||||
// CHECKTYPE NORMAL
|
||||
// CHECKTYPE NORMAL
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
@ -30,9 +30,8 @@ BEGIN
|
||||
DISPLAY "Anno" CODTAB
|
||||
DISPLAY "Data inizio " D0
|
||||
DISPLAY "Data fine " D1
|
||||
DISPLAY "Data scarico" D2
|
||||
OUTPUT ANNO_ESER CODTAB
|
||||
// CHECKTYPE REQUIRED
|
||||
// CHECKTYPE REQUIRED
|
||||
FLAGS "HRZ"
|
||||
END
|
||||
|
||||
@ -91,17 +90,18 @@ END
|
||||
|
||||
BOOLEAN STAMPA_DEF
|
||||
BEGIN
|
||||
PROMPT 34 10 "Stampa definitiva"
|
||||
PROMPT 34 10 "Stampa definitiva"
|
||||
MESSAGE TRUE DISABLE,DATA_DA | CLEAR, DATA_DA
|
||||
MESSAGE FALSE ENABLE,DATA_DA
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BUTTON DLG_PRINT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
@ -10,13 +10,13 @@ LISTBOX TIPO_STAMPA 2 27
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo stampa "
|
||||
ITEM "1|Libri bollati della ditta"
|
||||
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||
ITEM "2|Libri unici dello studio"
|
||||
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
|
||||
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
|
||||
ITEM "3|Stampa di prova"
|
||||
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO
|
||||
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO
|
||||
ITEM "4|Stampa libri con riferimenti al libro giornale"
|
||||
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||
END
|
||||
*/
|
||||
|
||||
@ -33,7 +33,7 @@ BEGIN
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 5
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 20 1 "Scelta ditte"
|
||||
END
|
||||
|
||||
@ -74,8 +74,8 @@ END
|
||||
|
||||
BUTTON F_ANNULLA 9
|
||||
BEGIN
|
||||
PROMPT 42 3 "Annulla"
|
||||
//MESSAGE EXIT,F_ANNULLA
|
||||
PROMPT 42 3 "Azzera"
|
||||
MESSAGE RESET,DA_CODICE|RESET,A_CODICE
|
||||
END
|
||||
|
||||
BUTTON F_VERIFICA 9
|
||||
@ -220,12 +220,13 @@ BEGIN
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BUTTON DLG_PRINT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
@ -9,12 +9,12 @@ END
|
||||
|
||||
NUMBER FLD_CODABI 5
|
||||
BEGIN
|
||||
PROMPT 3 2 "Codice az. banca "
|
||||
PROMPT 3 2 "Codice ABI "
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] FLD_CODABI
|
||||
DISPLAY "Banca" CODTAB[1,5]
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT FLD_CODABI CODTAB[1,5]
|
||||
OUTPUT FLD_CODCAB CODTAB[6,10]
|
||||
OUTPUT FLD_RAGSOCB S0
|
||||
@ -25,9 +25,9 @@ END
|
||||
|
||||
NUMBER FLD_CODCAB 5
|
||||
BEGIN
|
||||
PROMPT 37 2 "Codice dipendenza "
|
||||
PROMPT 37 2 "Codice CAB "
|
||||
COPY ALL FLD_CODABI
|
||||
INPUT CODTAB[6,10] FLD_CODABI
|
||||
INPUT CODTAB[6,10] FLD_CODCAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CodCAB
|
||||
FLAGS "RZ"
|
||||
|
149
cg/cg5100a.uml
149
cg/cg5100a.uml
@ -4,12 +4,12 @@
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
BUTTON DLG_OK 8 2
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 8 2
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
@ -22,7 +22,6 @@ PAGE "Impostazione parametri ditta" -1 -1 77 8
|
||||
NUMBER FLD_ANLIIV 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA "
|
||||
FLAGS "A"
|
||||
FIELD AnLiIv
|
||||
END
|
||||
|
||||
@ -55,7 +54,7 @@ BEGIN
|
||||
FIELD RifPar
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 10
|
||||
GROUPBOX DLG_NULL 76 11
|
||||
BEGIN
|
||||
PROMPT 2 7 ""
|
||||
END
|
||||
@ -90,60 +89,61 @@ END
|
||||
|
||||
BOOLEAN CHK_NRCFDX
|
||||
BEGIN
|
||||
PROMPT 4 12 "N. Rif. allineato a destra per clienti/fornitori "
|
||||
PROMPT 4 12 "N. Rif. allineato a destra per clienti"
|
||||
HELP ""
|
||||
MESSAGE TRUE ENABLE,FLD_CMSGPC
|
||||
MESSAGE FALSE DISABLE,FLD_CMSGPC
|
||||
FIELD NrCfDx
|
||||
FIELD NrCliDx
|
||||
END
|
||||
|
||||
NUMBER FLD_CMSGPC 1
|
||||
BEGIN
|
||||
PROMPT 56 12 " / "
|
||||
PROMPT 4 13 "N. Rif. allineato a destra per fornitori"
|
||||
HELP ""
|
||||
FIELD CmSgPc
|
||||
FIELD NrForDx
|
||||
END
|
||||
|
||||
BOOLEAN CHK_GESVAL
|
||||
BEGIN
|
||||
PROMPT 4 13 "Gestione Valuta"
|
||||
PROMPT 4 14 "Gestione Valuta"
|
||||
HELP ""
|
||||
FIELD GesVal
|
||||
FIELD GesVal
|
||||
END
|
||||
|
||||
BOOLEAN CHK_GELIDI
|
||||
BEGIN
|
||||
PROMPT 4 14 "Gestione liquidazione differita"
|
||||
PROMPT 4 15 "Gestione liquidazione differita"
|
||||
HELP ""
|
||||
FIELD GeLiDi
|
||||
END
|
||||
|
||||
BOOLEAN CHK_GESVEN
|
||||
BEGIN
|
||||
PROMPT 4 15 "Gestione vendite"
|
||||
PROMPT 4 16 "Gestione vendite"
|
||||
HELP ""
|
||||
FIELD GesVen
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Impostazione parametri ditta" -1 -1 77 8
|
||||
|
||||
GROUPBOX DLG_NULL 55 12
|
||||
BEGIN
|
||||
PROMPT 2 5 "Codici sottoconto"
|
||||
PROMPT 2 5 "Codici sottoconto per chiusura automatica dei conti"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 20 12
|
||||
BEGIN
|
||||
PROMPT 57 5 "Ratei/Riscontri"
|
||||
PROMPT 57 5 "Ratei/Risconti"
|
||||
END
|
||||
|
||||
NUMBER FLD_CODLIC 5
|
||||
BEGIN
|
||||
PROMPT 1 2 "Codice libro incassi/pagamenti "
|
||||
HELP ""
|
||||
USE ITL
|
||||
USE %ITL
|
||||
INPUT CODTAB FLD_CODLIC
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -152,15 +152,16 @@ BEGIN
|
||||
FIELD CodLic
|
||||
END
|
||||
|
||||
NUMBER FLD_CODLIN 5
|
||||
STRING FLD_CODLIN 1
|
||||
BEGIN
|
||||
PROMPT 42 2 "Codice lingua "
|
||||
HELP ""
|
||||
USE %LIN
|
||||
USE %LNG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione " S0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FLD_CODLIN CODTAB
|
||||
INPUT CODTAB FLD_CODLIN
|
||||
INPUT CODTAB FLD_CODLIN
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CodLin
|
||||
END
|
||||
|
||||
@ -168,8 +169,8 @@ STRING FLD_COCACH 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Codice causale chiusura "
|
||||
HELP ""
|
||||
USE LF_CAUSALI SELECT TIPODOC=""
|
||||
INPUT CODCAUS FLD_COCACH
|
||||
USE LF_CAUSALI SELECT MOVAP="C"
|
||||
INPUT CODCAUS FLD_COCACH
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT FLD_COCACH CODCAUS
|
||||
@ -181,15 +182,14 @@ STRING FLD_COCAAP 3
|
||||
BEGIN
|
||||
PROMPT 42 3 "Codice causale apertura "
|
||||
HELP ""
|
||||
COPY USE FLD_COCACH
|
||||
INPUT CODCAUS FLD_COCAAP
|
||||
USE LF_CAUSALI SELECT MOVAP="A"
|
||||
INPUT CODCAUS FLD_COCAAP
|
||||
COPY DISPLAY FLD_COCACH
|
||||
OUTPUT FLD_COCAAP CODCAUS
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CoCaAp
|
||||
END
|
||||
|
||||
|
||||
NUMBER FLD_CRIVAP 15
|
||||
BEGIN
|
||||
PROMPT 1 -2 "Credito IVA anno precedente "
|
||||
@ -198,7 +198,6 @@ BEGIN
|
||||
FIELD CrIvAp
|
||||
END
|
||||
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 32 6 "Gruppo Conto Sottoconto"
|
||||
@ -206,17 +205,17 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 31 7 "------------------------"
|
||||
PROMPT 31 7 "________________________"
|
||||
END
|
||||
|
||||
NUMBER FLD_CSBICHG 3
|
||||
BEGIN
|
||||
PROMPT 3 8 "Bilancio di chiusura "
|
||||
HELP ""
|
||||
USE LF_PCON SELECT CONTO==""
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO FLD_CSBICHG
|
||||
INPUT CONTO FLD_CSBICHC
|
||||
INPUT CONTO FLD_CSBICHS
|
||||
INPUT SOTTOCONTO FLD_CSBICHS
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
@ -239,7 +238,7 @@ END
|
||||
NUMBER FLD_CSBICHS 6
|
||||
BEGIN
|
||||
PROMPT 46 8 ""
|
||||
COPY ALL FLD_CSBICHC
|
||||
COPY ALL FLD_CSBICHG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsBiChS
|
||||
END
|
||||
@ -256,23 +255,22 @@ BEGIN
|
||||
INPUT GRUPPO FLD_CSPRPEG
|
||||
INPUT CONTO FLD_CSPRPEC
|
||||
INPUT SOTTOCONTO FLD_CSPRPES
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPrPeG
|
||||
END
|
||||
|
||||
NUMBER FLD_CSPRPEC 3
|
||||
BEGIN
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPRPEG
|
||||
COPY INPUT FLD_CSPRPEG
|
||||
COPY ALL FLD_CSPRPEG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPrPeC
|
||||
PROMPT 39 9 ""
|
||||
END
|
||||
|
||||
NUMBER FLD_CSPRPES 6
|
||||
BEGIN
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPRPEG
|
||||
COPY INPUT FLD_CSPRPEG
|
||||
COPY ALL FLD_CSPRPEG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPrPeS
|
||||
PROMPT 46 9 ""
|
||||
END
|
||||
@ -289,25 +287,23 @@ BEGIN
|
||||
INPUT CONTO FLD_CSBIAPC
|
||||
INPUT SOTTOCONTO FLD_CSBIAPS
|
||||
HELP ""
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsBiApG
|
||||
END
|
||||
|
||||
NUMBER FLD_CSBIAPC 3
|
||||
BEGIN
|
||||
PROMPT 39 10 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSBIAPG
|
||||
COPY INPUT FLD_CSBIAPG
|
||||
COPY ALL FLD_CSBIAPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsBiApC
|
||||
END
|
||||
|
||||
NUMBER FLD_CSBIAPS 6
|
||||
BEGIN
|
||||
PROMPT 46 10 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSBIAPG
|
||||
COPY INPUT FLD_CSBIAPG
|
||||
COPY ALL FLD_CSBIAPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsBiApS
|
||||
END
|
||||
|
||||
@ -323,24 +319,21 @@ BEGIN
|
||||
INPUT GRUPPO FLD_CSUECPG
|
||||
INPUT CONTO FLD_CSUECPC
|
||||
INPUT SOTTOCONTO FLD_CSUECPS
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCpG
|
||||
END
|
||||
NUMBER FLD_CSUECPC 3
|
||||
BEGIN
|
||||
PROMPT 39 11 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSUECPG
|
||||
COPY INPUT FLD_CSUECPG
|
||||
COPY ALL FLD_CSUECPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCpC
|
||||
END
|
||||
NUMBER FLD_CSUECPS 6
|
||||
BEGIN
|
||||
PROMPT 46 11 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSUECPG
|
||||
COPY INPUT FLD_CSUECPG
|
||||
COPY ALL FLD_CSUECPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCpS
|
||||
END
|
||||
|
||||
@ -356,24 +349,22 @@ BEGIN
|
||||
INPUT GRUPPO FLD_CSPECPG
|
||||
INPUT CONTO FLD_CSPECPC
|
||||
INPUT SOTTOCONTO FLD_CSPECPS
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCpG
|
||||
END
|
||||
|
||||
NUMBER FLD_CSPECPC 3
|
||||
BEGIN
|
||||
PROMPT 39 12 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPECPG
|
||||
COPY INPUT FLD_CSPECPG
|
||||
COPY ALL FLD_CSPECPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCpC
|
||||
END
|
||||
NUMBER FLD_CSPECPS 6
|
||||
BEGIN
|
||||
PROMPT 46 12 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPECPG
|
||||
COPY INPUT FLD_CSPECPG
|
||||
COPY ALL FLD_CSPECPG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCpS
|
||||
END
|
||||
|
||||
@ -389,24 +380,21 @@ BEGIN
|
||||
INPUT GRUPPO FLD_CSUECEG
|
||||
INPUT CONTO FLD_CSUECEC
|
||||
INPUT SOTTOCONTO FLD_CSUECES
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCeG
|
||||
END
|
||||
NUMBER FLD_CSUECEC 3
|
||||
BEGIN
|
||||
PROMPT 39 13 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSUECEG
|
||||
COPY INPUT FLD_CSUECEG
|
||||
COPY ALL FLD_CSUECEG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCeC
|
||||
END
|
||||
NUMBER FLD_CSUECES 6
|
||||
BEGIN
|
||||
PROMPT 46 13 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSUECEG
|
||||
COPY INPUT FLD_CSUECEG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY ALL FLD_CSUECEG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsUeCeS
|
||||
END
|
||||
|
||||
@ -422,24 +410,21 @@ BEGIN
|
||||
INPUT GRUPPO FLD_CSPECEG
|
||||
INPUT CONTO FLD_CSPECEC
|
||||
INPUT SOTTOCONTO FLD_CSPECES
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCeG
|
||||
END
|
||||
NUMBER FLD_CSPECEC 3
|
||||
BEGIN
|
||||
PROMPT 39 14 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPECEG
|
||||
COPY INPUT FLD_CSPECEG
|
||||
COPY ALL FLD_CSBICHG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCeC
|
||||
END
|
||||
NUMBER FLD_CSPECES 6
|
||||
BEGIN
|
||||
PROMPT 46 14 ""
|
||||
COPY USE FLD_CSBICHG
|
||||
COPY DISPLAY FLD_CSBICHG
|
||||
COPY OUTPUT FLD_CSPECEG
|
||||
COPY INPUT FLD_CSPECEG
|
||||
COPY ALL FLD_CSBICHG
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CsPeCeS
|
||||
END
|
||||
|
||||
@ -467,7 +452,7 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 58 12 "Causale riscontri"
|
||||
PROMPT 58 12 "Causale risconti"
|
||||
END
|
||||
|
||||
|
||||
@ -475,10 +460,10 @@ NUMBER FLD_RRCCRA 5
|
||||
BEGIN
|
||||
PROMPT 64 11 ""
|
||||
HELP ""
|
||||
COPY USE FLD_COCACH
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS FLD_RRCCRA
|
||||
COPY DISPLAY FLD_COCACH
|
||||
OUTPUT FLD_RRCCRA CODCAUS
|
||||
INPUT CODCAUS FLD_RRCCRA
|
||||
FIELD RrCcRa
|
||||
END
|
||||
|
||||
@ -486,10 +471,10 @@ NUMBER FLD_RRCCRI 5
|
||||
BEGIN
|
||||
PROMPT 64 13 ""
|
||||
HELP ""
|
||||
COPY USE FLD_COCACH
|
||||
COPY USE FLD_RRCCRA
|
||||
INPUT CODCAUS FLD_RRCCRI
|
||||
COPY DISPLAY FLD_COCACH
|
||||
OUTPUT FLD_RRCCRI CODCAUS
|
||||
INPUT CODCAUS FLD_RRCCRI
|
||||
FIELD RrCcRi
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user