Modificata gestione deleghe IVA
git-svn-id: svn://10.65.10.50/trunk@812 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9c3b45cb4a
commit
9693095752
@ -13,9 +13,14 @@
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TLocalisamfile *_nditte, *_anag, *_comuni;
|
||||
TTable* _banche;
|
||||
|
||||
TArray_sheet* _ditte;
|
||||
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza;
|
||||
TFilename _profilo;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
@ -24,7 +29,7 @@ protected:
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
int select(bool cf);
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
@ -33,12 +38,22 @@ public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
TApplication::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.");
|
||||
|
||||
_nditte = new TLocalisamfile(LF_NDITTE);
|
||||
_anag = new TLocalisamfile(LF_ANAG);
|
||||
_comuni = new TLocalisamfile(LF_COMUNI);
|
||||
_banche = new TTable("%BAN");
|
||||
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare",
|
||||
"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipendenza");
|
||||
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
_azienda = c.get("CodABI");
|
||||
_dipendenza = c.get("CodCAB");
|
||||
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
@ -46,17 +61,22 @@ bool TStampa_deleghe_IVA::create()
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
|
||||
delete _nditte;
|
||||
delete _anag;
|
||||
delete _comuni;
|
||||
delete _banche;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
int TStampa_deleghe_IVA::select(bool cf)
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
TMask m(cf ? "cg1400b" : "cg1400a");
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
m.set(F_ABI, c.get("CodABI"));
|
||||
m.set(F_CAB, c.get("CodCAB"));
|
||||
m.set(F_ABI, _azienda);
|
||||
m.set(F_CAB, _dipendenza);
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
@ -67,67 +87,72 @@ int TStampa_deleghe_IVA::select()
|
||||
_anno = m.get_int(F_ANNO);
|
||||
_tipo = m.get_int(F_TIPO);
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_prova = !m.get_bool(F_DEFINITIVA);
|
||||
_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
|
||||
|
||||
if (m.get_bool(F_CONTOFIS))
|
||||
_profilo = m.get(F_PROFILO);
|
||||
else
|
||||
{
|
||||
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);
|
||||
_profilo = "del";
|
||||
_profilo << _azienda;
|
||||
}
|
||||
const TDate pd(m.get(F_DATA));
|
||||
printer().setdate(pd);
|
||||
|
||||
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;
|
||||
enable_menu_item(M_FILE_PRINT, ok);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
disable_menu_item(M_FILE_PRINT);
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
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)
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG mt)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
while ((s = select(mt == BAR_ITEM(2))) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
@ -135,8 +160,8 @@ 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");
|
||||
const bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
@ -149,30 +174,18 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
|
||||
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();
|
||||
_banche->put("CODTAB", codban);
|
||||
_banche->read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put(_banche->get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
@ -180,16 +193,18 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
row.put(_banche->get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
TString256 t("Dichiarazione ");
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
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);
|
||||
@ -212,24 +227,24 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
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();
|
||||
const TString16 cod(_ditte->row(i).get(1));
|
||||
_nditte->put("CODDITTA", cod);
|
||||
_nditte->read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
_anag->put("TIPOA", _nditte->get("TIPOA"));
|
||||
_anag->put("CODANAGR", _nditte->get("CODANAGR"));
|
||||
_anag->read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
_comuni->put("STATO", _anag->get("STATORF"));
|
||||
_comuni->put("COM", _anag->get("COMRF"));
|
||||
_comuni->read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
TParagraph_string dencom(_comuni->get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
row.put(_nditte->get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), TAB_SEDE);
|
||||
row.put(_comuni->get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
@ -243,7 +258,7 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
row.put(r, TAB_SEDE);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
@ -262,19 +277,17 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
TForm f(_profilo);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
const TString16 d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
TString16 chiave;
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file().read();
|
||||
@ -285,9 +298,9 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file().rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
@ -1,9 +1,19 @@
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DATA 103
|
||||
#define F_TIPO 104
|
||||
#define F_ANNO 105
|
||||
#define F_MESE 106
|
||||
#define F_AGGIORNA 107
|
||||
#define F_DISTINTA 108
|
||||
#define F_PROVA 109
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
|
||||
#define F_CONCESSIONE 120
|
||||
#define F_DESC_CONC 121
|
||||
#define F_SOLO_ABI 122
|
||||
#define F_SOLO_CAB 123
|
||||
#define F_DESC_SOLO_BAN 125
|
||||
#define F_CONTOFIS 126
|
||||
#define F_PROFILO 127
|
||||
|
||||
|
@ -5,8 +5,8 @@ PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice ABI "
|
||||
HELP "Codice ABI della banca per la presentazione della delega"
|
||||
FLAGS "RZ"
|
||||
HELP "Codice ABI della banca per la presentazione delle deleghe"
|
||||
FLAGS "Z"
|
||||
FIELD CNF_STUDIO->cg.CodABI
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
@ -14,16 +14,16 @@ BEGIN
|
||||
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]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 22 1 "Codice CAB "
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "RZ"
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
FIELD CNF_STUDIO->cg.CodCAB
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
@ -34,19 +34,20 @@ BEGIN
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
HELP "Data che viene stampata sulla delega"
|
||||
HELP "Data che viene stampata sulla delega"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
HELP "Tipo di delega da stampare"
|
||||
HELP "Tipo di delega da stampare"
|
||||
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
|
||||
@ -55,22 +56,21 @@ END
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
HELP "Anno di cui si vuole stampare la delega"
|
||||
HELP "Anno di cui si vuole stampare la delega"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
HELP "Mese di cui si vuole stampare la delega"
|
||||
HELP "Mese di cui si vuole stampare la delega"
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BOOLEAN F_DEFINITIVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
HELP "Indicare se si tratta di una stampa di controllo"
|
||||
PROMPT 1 7 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
@ -88,7 +88,7 @@ END
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
HELP "Selezione delle ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
|
@ -723,7 +723,7 @@ bool TCaus_app::fill_sheet(TMask& m)
|
||||
const int m770 = m.get_int(F_M_770);
|
||||
int tpr = m.get_int(F_TIPO_REG);
|
||||
|
||||
if (!m.running())
|
||||
if (!m.is_running())
|
||||
{
|
||||
TString16 chiave; chiave << anno_iva() << codreg;
|
||||
TTable reg("REG");
|
||||
|
227
cg/cg1400.cpp
227
cg/cg1400.cpp
@ -13,9 +13,14 @@
|
||||
|
||||
class TStampa_deleghe_IVA : public TApplication
|
||||
{
|
||||
TLocalisamfile *_nditte, *_anag, *_comuni;
|
||||
TTable* _banche;
|
||||
|
||||
TArray_sheet* _ditte;
|
||||
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza;
|
||||
TFilename _profilo;
|
||||
bool _stampa_distinte, _aggiorna_codici, _stampa_prova;
|
||||
|
||||
protected:
|
||||
@ -24,7 +29,7 @@ protected:
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
int select();
|
||||
int select(bool cf);
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
|
||||
@ -33,12 +38,22 @@ public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::create()
|
||||
{
|
||||
TApplication::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.");
|
||||
|
||||
_nditte = new TLocalisamfile(LF_NDITTE);
|
||||
_anag = new TLocalisamfile(LF_ANAG);
|
||||
_comuni = new TLocalisamfile(LF_COMUNI);
|
||||
_banche = new TTable("%BAN");
|
||||
|
||||
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare",
|
||||
"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipendenza");
|
||||
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
_azienda = c.get("CodABI");
|
||||
_dipendenza = c.get("CodCAB");
|
||||
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
@ -46,17 +61,22 @@ bool TStampa_deleghe_IVA::create()
|
||||
bool TStampa_deleghe_IVA::destroy()
|
||||
{
|
||||
delete _ditte;
|
||||
|
||||
delete _nditte;
|
||||
delete _anag;
|
||||
delete _comuni;
|
||||
delete _banche;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
|
||||
int TStampa_deleghe_IVA::select()
|
||||
int TStampa_deleghe_IVA::select(bool cf)
|
||||
{
|
||||
{
|
||||
TMask m("cg1400a");
|
||||
TMask m(cf ? "cg1400b" : "cg1400a");
|
||||
TConfig c(CONFIG_STUDIO, "cg");
|
||||
m.set(F_ABI, c.get("CodABI"));
|
||||
m.set(F_CAB, c.get("CodCAB"));
|
||||
m.set(F_ABI, _azienda);
|
||||
m.set(F_CAB, _dipendenza);
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
@ -67,67 +87,72 @@ int TStampa_deleghe_IVA::select()
|
||||
_anno = m.get_int(F_ANNO);
|
||||
_tipo = m.get_int(F_TIPO);
|
||||
|
||||
_stampa_prova = m.get_bool(F_PROVA);
|
||||
_stampa_prova = !m.get_bool(F_DEFINITIVA);
|
||||
_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
|
||||
|
||||
if (m.get_bool(F_CONTOFIS))
|
||||
_profilo = m.get(F_PROFILO);
|
||||
else
|
||||
{
|
||||
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);
|
||||
_profilo = "del";
|
||||
_profilo << _azienda;
|
||||
}
|
||||
const TDate pd(m.get(F_DATA));
|
||||
printer().setdate(pd);
|
||||
|
||||
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;
|
||||
enable_menu_item(M_FILE_PRINT, ok);
|
||||
}
|
||||
else
|
||||
{
|
||||
warning_box("Nessuna ditta ha deleghe da stampare");
|
||||
disable_menu_item(M_FILE_PRINT);
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
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)
|
||||
bool TStampa_deleghe_IVA::menu(MENU_TAG mt)
|
||||
{
|
||||
int s = 0;
|
||||
while ((s = select()) != 0)
|
||||
while ((s = select(mt == BAR_ITEM(2))) != 0)
|
||||
if (s == 1) print();
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
@ -135,8 +160,8 @@ 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");
|
||||
const bool ok = yesno_box("Inserire il modulo continuo nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
@ -149,30 +174,18 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
|
||||
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();
|
||||
_banche->put("CODTAB", codban);
|
||||
_banche->read();
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
|
||||
if (atol(_azienda))
|
||||
row.put(banca.get("S0"), 0);
|
||||
row.put(_banche->get("S0"), 0);
|
||||
row.put("DISTINTA DELEGHE DI VERSAMENTO", 60);
|
||||
row.put("Data @>", 110);
|
||||
row.put("Pag.@#", 124);
|
||||
@ -180,16 +193,18 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
|
||||
row.reset();
|
||||
if (atol(_dipendenza))
|
||||
row.put(banca.get("S1"), 0);
|
||||
row.put(_banche->get("S1"), 0);
|
||||
|
||||
TString t(132);
|
||||
t = "Dichiarazione ";
|
||||
TString256 t("Dichiarazione ");
|
||||
switch (_tipo)
|
||||
{
|
||||
case 2 : t << "annuale : "; break;
|
||||
case 7 : t << "acconti IVA : "; break;
|
||||
default: t << "periodica : " << _mese << '-'; break;
|
||||
}
|
||||
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);
|
||||
@ -212,24 +227,24 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
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();
|
||||
const TString16 cod(_ditte->row(i).get(1));
|
||||
_nditte->put("CODDITTA", cod);
|
||||
_nditte->read();
|
||||
|
||||
anag.put("TIPOA", ditta.get("TIPOA"));
|
||||
anag.put("CODANAGR", ditta.get("CODANAGR"));
|
||||
anagrafiche.read();
|
||||
_anag->put("TIPOA", _nditte->get("TIPOA"));
|
||||
_anag->put("CODANAGR", _nditte->get("CODANAGR"));
|
||||
_anag->read();
|
||||
|
||||
comune.put("STATO", anag.get("STATORF"));
|
||||
comune.put("COM", anag.get("COMRF"));
|
||||
comuni.read();
|
||||
_comuni->put("STATO", _anag->get("STATORF"));
|
||||
_comuni->put("COM", _anag->get("COMRF"));
|
||||
_comuni->read();
|
||||
|
||||
TParagraph_string dencom(comune.get("DENCOM"), 18);
|
||||
TParagraph_string dencom(_comuni->get("DENCOM"), 18);
|
||||
|
||||
row.reset();
|
||||
row.put(ditta.get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), 52);
|
||||
row.put(comune.get("PROVCOM"), TAB_PROV);
|
||||
row.put(_nditte->get("RAGSOC"), TAB_DITTA);
|
||||
row.put(dencom.get(), TAB_SEDE);
|
||||
row.put(_comuni->get("PROVCOM"), TAB_PROV);
|
||||
|
||||
TString imp(_ditte->row(i).get(3));
|
||||
row.put(imp, TAB_IMPORTO);
|
||||
@ -243,7 +258,7 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
while ((r = dencom.get()) != NULL)
|
||||
{
|
||||
row.reset();
|
||||
row.put(r, 52);
|
||||
row.put(r, TAB_SEDE);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
@ -262,19 +277,17 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TFilename name;
|
||||
name << "del" << _azienda;
|
||||
TForm f(name);
|
||||
TForm f(_profilo);
|
||||
|
||||
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||
if (_ditte->checked(i))
|
||||
{
|
||||
const TString d(_ditte->row(i).get(1));
|
||||
const TString16 d(_ditte->row(i).get(1));
|
||||
|
||||
TRectype& delega = f.cursor()->curr();
|
||||
|
||||
TString chiave(16);
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
TString16 chiave;
|
||||
chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
f.cursor()->file().read();
|
||||
@ -285,9 +298,9 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
delega.put("S8", _dipendenza);
|
||||
f.cursor()->file().rewrite();
|
||||
}
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
f.cursor()->read(); // Posiziona il cursore
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
|
28
cg/cg1400.h
28
cg/cg1400.h
@ -1,9 +1,19 @@
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DATA 103
|
||||
#define F_TIPO 104
|
||||
#define F_ANNO 105
|
||||
#define F_MESE 106
|
||||
#define F_AGGIORNA 107
|
||||
#define F_DISTINTA 108
|
||||
#define F_PROVA 109
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
|
||||
#define F_CONCESSIONE 120
|
||||
#define F_DESC_CONC 121
|
||||
#define F_SOLO_ABI 122
|
||||
#define F_SOLO_CAB 123
|
||||
#define F_DESC_SOLO_BAN 125
|
||||
#define F_CONTOFIS 126
|
||||
#define F_PROFILO 127
|
||||
|
||||
|
@ -5,8 +5,8 @@ PAGE "STAMPA DELEGHE IVA" -1 -1 58 11
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice ABI "
|
||||
HELP "Codice ABI della banca per la presentazione della delega"
|
||||
FLAGS "RZ"
|
||||
HELP "Codice ABI della banca per la presentazione delle deleghe"
|
||||
FLAGS "Z"
|
||||
FIELD CNF_STUDIO->cg.CodABI
|
||||
USE %BAN
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
@ -14,16 +14,16 @@ BEGIN
|
||||
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]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 22 1 "Codice CAB "
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "RZ"
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
FIELD CNF_STUDIO->cg.CodCAB
|
||||
COPY USE F_ABI
|
||||
INPUT CODTAB[1,5] F_ABI
|
||||
@ -34,19 +34,20 @@ BEGIN
|
||||
DISPLAY "Filiale@50" S1
|
||||
OUTPUT F_ABI CODTAB[1,5]
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
HELP "Data che viene stampata sulla delega"
|
||||
HELP "Data che viene stampata sulla delega"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_TIPO 21
|
||||
BEGIN
|
||||
PROMPT 28 3 "Tipo "
|
||||
HELP "Tipo di delega da stampare"
|
||||
HELP "Tipo di delega da stampare"
|
||||
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
|
||||
@ -55,22 +56,21 @@ END
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "Anno "
|
||||
HELP "Anno di cui si vuole stampare la delega"
|
||||
HELP "Anno di cui si vuole stampare la delega"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 10
|
||||
BEGIN
|
||||
PROMPT 13 5 "Mese "
|
||||
HELP "Mese di cui si vuole stampare la delega"
|
||||
HELP "Mese di cui si vuole stampare la delega"
|
||||
FLAGS "MA"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVA
|
||||
BOOLEAN F_DEFINITIVA
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa di prova"
|
||||
HELP "Indicare se si tratta di una stampa di controllo"
|
||||
PROMPT 1 7 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
@ -88,7 +88,7 @@ END
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT 45 6 "Selezione"
|
||||
HELP "Permette di selezionare le ditte di cui stampare le deleghe"
|
||||
HELP "Selezione delle ditte di cui stampare le deleghe"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user