Spostata la stampa delle deleghe/versamenti (CG1 -3) in BA2 (BA2 -4).
E' stato percio' finalmente rimosso l'embrione di gestione profili Estratto conto. Modificato anche prassi.mnu affinche' chiami il programma corretto. git-svn-id: svn://10.65.10.50/trunk@2307 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a7b59daaa6
commit
b1c995331b
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#include "ba2.h"
|
#include "ba2.h"
|
||||||
|
|
||||||
#define usage "Error - usage : %s -[0,1,2,3]"
|
#define usage "Error - usage : %s -[0,1,2,3,4]"
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
@ -23,6 +23,8 @@ int main(int argc, char** argv)
|
|||||||
#endif
|
#endif
|
||||||
case 3:
|
case 3:
|
||||||
rt = ba2400(argc, argv) ; break;
|
rt = ba2400(argc, argv) ; break;
|
||||||
|
case 4:
|
||||||
|
rt = ba2500(argc, argv) ; break;
|
||||||
default:
|
default:
|
||||||
error_box(usage, argv[0]) ; rt = 1; break;
|
error_box(usage, argv[0]) ; rt = 1; break;
|
||||||
}
|
}
|
||||||
|
1
ba/ba2.h
1
ba/ba2.h
@ -5,6 +5,7 @@ int ba2100(int argc, char* argv[]);
|
|||||||
int ba2200(int argc, char* argv[]);
|
int ba2200(int argc, char* argv[]);
|
||||||
int ba2300(int argc, char* argv[]);
|
int ba2300(int argc, char* argv[]);
|
||||||
int ba2400(int argc, char* argv[]);
|
int ba2400(int argc, char* argv[]);
|
||||||
|
int ba2500(int argc, char* argv[]);
|
||||||
|
|
||||||
#endif // __BA2_H
|
#endif // __BA2_H
|
||||||
|
|
||||||
|
@ -73,4 +73,7 @@ MENU BAR_ITEM(1)
|
|||||||
MENU MENU_BAR(3)
|
MENU MENU_BAR(3)
|
||||||
SUBMENU MENU_FILE "~File"
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(4)
|
||||||
|
|
||||||
|
MENU MENU_BAR(4)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
516
ba/ba2500.cpp
516
ba/ba2500.cpp
@ -1,132 +1,440 @@
|
|||||||
#include "baformed.h"
|
#include <applicat.h>
|
||||||
|
#include <config.h>
|
||||||
|
#include <form.h>
|
||||||
|
#include <mask.h>
|
||||||
|
#include <printer.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <sheet.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
#include <urldefid.h>
|
||||||
|
#include <utility.h>
|
||||||
|
|
||||||
class TForm_EC_editor : public TForm_editor
|
#include "ba2500.h"
|
||||||
|
|
||||||
|
class TStampa_deleghe_IVA : public TApplication
|
||||||
{
|
{
|
||||||
TMask* _msk;
|
TRelation *_nditte;
|
||||||
|
TTable* _banche;
|
||||||
|
|
||||||
|
TArray_sheet* _ditte;
|
||||||
|
|
||||||
|
int _mese, _anno, _tipo;
|
||||||
|
TString16 _azienda, _dipendenza, _concessione;
|
||||||
|
|
||||||
|
TString16 _profilo; // Profilo base
|
||||||
|
long _codice; // Codice profilo
|
||||||
|
|
||||||
|
bool _stampa_distinte, _aggiorna_codici, _definitiva;
|
||||||
|
TDate _pd;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
virtual bool destroy();
|
virtual bool destroy();
|
||||||
|
virtual bool menu(MENU_TAG);
|
||||||
|
virtual void print();
|
||||||
|
|
||||||
|
char frequenza_versamenti(long firm, int year) const;
|
||||||
|
int select();
|
||||||
|
bool print_deleghe();
|
||||||
|
void print_distinta();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TForm_EC_editor();
|
TStampa_deleghe_IVA() : _ditte(NULL) {}
|
||||||
virtual ~TForm_EC_editor();
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
TForm_EC_editor::TForm_EC_editor()
|
bool TStampa_deleghe_IVA::create()
|
||||||
{}
|
{
|
||||||
|
|
||||||
TForm_EC_editor::~TForm_EC_editor()
|
|
||||||
{}
|
|
||||||
|
|
||||||
bool TForm_EC_editor::create()
|
|
||||||
{
|
|
||||||
TApplication::create();
|
TApplication::create();
|
||||||
|
|
||||||
const char* form = NULL;
|
_nditte = new TRelation(LF_NDITTE);
|
||||||
const char* code = NULL;
|
_nditte->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR");
|
||||||
|
_nditte->add(LF_COMUNI, "COM=COMRF(COMRES)", 1, LF_ANAG);
|
||||||
|
|
||||||
for (int a = 2; a < argc(); a++)
|
_banche = new TTable("%BAN");
|
||||||
|
|
||||||
|
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare",
|
||||||
|
"@1|Cod.@5|Ragione Sociale@30|Importo@15r|Interessi@15r|ABI@5|CAB@5|Concessione|Tit. Conto Fis.");
|
||||||
|
|
||||||
|
_azienda = "" ;
|
||||||
|
_dipendenza = "" ;
|
||||||
|
|
||||||
|
dispatch_e_menu(BAR_ITEM(1));
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TStampa_deleghe_IVA::destroy()
|
||||||
|
{
|
||||||
|
delete _ditte;
|
||||||
|
delete _banche;
|
||||||
|
delete _nditte;
|
||||||
|
return TApplication::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int TStampa_deleghe_IVA::select()
|
||||||
|
{
|
||||||
|
TMask m("ba2500a");
|
||||||
|
|
||||||
|
m.set(F_CONCESSIONE, _concessione);
|
||||||
|
m.set(F_ABI, _azienda);
|
||||||
|
m.set(F_CAB, _dipendenza);
|
||||||
|
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);
|
||||||
|
|
||||||
|
_definitiva = m.get_bool(F_DEFINITIVA);
|
||||||
|
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||||
|
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||||
|
|
||||||
|
_profilo = m.get(F_PROFILO);
|
||||||
|
_codice = m.get_long(F_CODICE);
|
||||||
|
const bool contofis = _profilo.right(2) == "CF";
|
||||||
|
|
||||||
|
int del_dis_bol=0;
|
||||||
|
if (_profilo.left(3) == "DIS") del_dis_bol = 2;
|
||||||
|
else
|
||||||
|
if (_profilo.left(3) == "BOL") del_dis_bol = 1;
|
||||||
|
//const TDate pd(m.get(F_DATA));
|
||||||
|
//printer().setdate(pd);
|
||||||
|
|
||||||
|
_pd = m.get(F_DATA);
|
||||||
|
printer().setdate(_pd);
|
||||||
|
|
||||||
|
_concessione = m.get(F_CONCESSIONE);
|
||||||
|
const long soloabi = m.get_long(F_SOLO_ABI);
|
||||||
|
const long solocab = m.get_long(F_SOLO_CAB);
|
||||||
|
|
||||||
|
TTable deleghe("%DEL");
|
||||||
|
|
||||||
|
TString16 chiave;
|
||||||
|
TToken_string d(80);
|
||||||
|
|
||||||
|
_ditte->destroy();
|
||||||
|
begin_wait();
|
||||||
|
for (_nditte->first(); _nditte->good(); _nditte->next())
|
||||||
{
|
{
|
||||||
if (stricmp(argv(a), "-E") == 0)
|
TLocalisamfile& anag = _nditte->lfile(LF_ANAG);
|
||||||
{
|
TLocalisamfile& com = _nditte->lfile(LF_COMUNI); // Comune residenza fiscale
|
||||||
extra() = TRUE;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (form == NULL)
|
const TString16 con = com.get("UFFCONC");
|
||||||
form = argv(a);
|
if (_concessione.not_empty() && _concessione != con) continue;
|
||||||
else
|
|
||||||
if (code == 0)
|
const bool cf = anag.get_bool("TITCF");
|
||||||
code = argv(a);
|
if (contofis != cf) continue;
|
||||||
|
|
||||||
|
const int tstdel = anag.get_int("TIPOSTDEL");
|
||||||
|
if (tstdel != del_dis_bol) continue;
|
||||||
|
|
||||||
|
const long dit = _nditte->lfile().get_long("CODDITTA");
|
||||||
|
chiave.format("%05ld%04d%02d%d", dit, _anno, _mese, _tipo);
|
||||||
|
deleghe.put("CODTAB", chiave);
|
||||||
|
|
||||||
|
if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare
|
||||||
|
{
|
||||||
|
const long abi = deleghe.get_long("S7");
|
||||||
|
const long cab = deleghe.get_long("S8");
|
||||||
|
if ((soloabi == 0 || soloabi == abi) && (solocab == 0 || solocab == cab))
|
||||||
|
{
|
||||||
|
d = " "; // Selezione
|
||||||
|
d.add(dit); // Codice ditta
|
||||||
|
d.add(_nditte->lfile().get("RAGSOC").left(30)); // Cognome
|
||||||
|
d.add(deleghe.get_real("R0").string(".")); // Importo
|
||||||
|
d.add(deleghe.get_real("R1").string(".")); // Interesse
|
||||||
|
d.add(abi ? format("%05ld", abi) : ""); // Azienda
|
||||||
|
d.add(cab ? format("%05ld", cab) : ""); // Dipendenza
|
||||||
|
d.add(con); // Concessione
|
||||||
|
d.add(cf ? "X" : " "); // Conto fiscale
|
||||||
|
_ditte->add(d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end_wait();
|
||||||
|
|
||||||
|
int res = 1;
|
||||||
|
if (_ditte->items() > 0)
|
||||||
|
{
|
||||||
|
const bool ok = _ditte->run() == K_ENTER && _ditte->one_checked();
|
||||||
|
if (!ok) res = 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
warning_box("Nessuna ditta ha deleghe del tipo specificato");
|
||||||
|
res = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
enable_menu_item(M_FILE_PRINT, res == 1);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||||
|
{
|
||||||
|
int s;
|
||||||
|
while ((s = select()) != 0)
|
||||||
|
if (s == 1) print();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TStampa_deleghe_IVA::print()
|
||||||
|
{
|
||||||
|
bool ok = yesno_box("Inserire il modulo prefincato nella stampante "
|
||||||
|
"e confermare la stampa delle deleghe");
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
print_deleghe();
|
||||||
|
if (_stampa_distinte)
|
||||||
|
{
|
||||||
|
ok = yesno_box("Inserire il modulo in carta bianca 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();
|
||||||
|
|
||||||
|
TString16 codban;
|
||||||
|
if (_azienda.not_empty())
|
||||||
|
{
|
||||||
|
codban = _azienda; codban << _dipendenza;
|
||||||
|
_banche->put("CODTAB", codban);
|
||||||
|
_banche->read();
|
||||||
|
CHECK(_banche->status() == NOERR, "E' sparita nel nulla la banca");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool go = FALSE;
|
TPrintrow row;
|
||||||
|
|
||||||
if ((form && code) || (form && code == NULL && extra()))
|
if (atol(_azienda))
|
||||||
|
row.put(_banche->get("S0"), 0);
|
||||||
|
row.put("@bDISTINTA DELEGHE DI VERSAMENTO", TAB_SEDE);
|
||||||
|
row.put("Data @>", 106);
|
||||||
|
row.put("Pag.@#", 124);
|
||||||
|
printer().setheaderline(0, row);
|
||||||
|
|
||||||
|
row.reset();
|
||||||
|
if (atol(_dipendenza))
|
||||||
|
row.put(_banche->get("S1"), 0);
|
||||||
|
|
||||||
|
TString256 t("Dichiarazione ");
|
||||||
|
switch (_tipo)
|
||||||
{
|
{
|
||||||
set_form(new TForm(form, code, extra() ? 2 : 1));
|
case 2:
|
||||||
enable_menu_item(M_FILE_PRINT);
|
t << "annuale :"; break;
|
||||||
if (!extra()) dispatch_e_menu(MENU_ITEM(31));
|
case 3:
|
||||||
}
|
t << "articolo 74 : " << itom(_mese); break;
|
||||||
else
|
case 4:
|
||||||
{
|
t << "cessazione attivita' : " << itom(_mese); break;
|
||||||
_msk = new TMask("ba2500a");
|
case 5:
|
||||||
|
t << "integrativa : " << itom(_mese); break;
|
||||||
|
default:
|
||||||
|
t << "periodica : " << itom(_mese); break;
|
||||||
|
}
|
||||||
|
t << ' ' << _anno;
|
||||||
|
row.put(t, TAB_SEDE);
|
||||||
|
printer().setheaderline(1, row);
|
||||||
|
|
||||||
if (form)
|
t.fill('-', 130);
|
||||||
{
|
row.reset();
|
||||||
_msk->set(F_BASE, form);
|
row.put(t, 0);
|
||||||
_msk->disable(F_BASE);
|
printer().setheaderline(2, row);
|
||||||
}
|
printer().setheaderline(4, row);
|
||||||
|
|
||||||
TString16 s(code);
|
|
||||||
if (code)
|
|
||||||
{
|
|
||||||
_msk->set(F_CODEPR, s.mid(0,4));
|
|
||||||
_msk->set(F_CODEL, s.mid(4,1));
|
|
||||||
}
|
|
||||||
|
|
||||||
// choose form from mask
|
row.reset();
|
||||||
KEY k;
|
row.put("Ditta", TAB_DITTA);
|
||||||
while ((k = _msk->run()) != K_QUIT)
|
row.put("Sede" , TAB_SEDE);
|
||||||
{
|
row.put("Importo", TAB_IMPORTO+8);
|
||||||
TString16 fform = _msk->get(F_BASE);
|
row.put("Note", TAB_NOTE);
|
||||||
TString80 fdesc = _msk->get(F_DESCPR);
|
printer().setheaderline(3, row);
|
||||||
TString16 fcode = _msk->get(F_CODEPR);
|
|
||||||
fcode << _msk->get(F_CODEL);
|
real totale;
|
||||||
|
|
||||||
if (k == K_ENTER)
|
TLocalisamfile& com = _nditte->lfile(LF_COMUNI);
|
||||||
|
|
||||||
|
for (int i = 0; i < _ditte->items(); i++)
|
||||||
|
if (_ditte->checked(i))
|
||||||
|
{
|
||||||
|
TToken_string& riga = _ditte->row(i);
|
||||||
|
const TString16 cod(riga.get(1));
|
||||||
|
_nditte->lfile().put("CODDITTA", cod);
|
||||||
|
_nditte->read();
|
||||||
|
|
||||||
|
TParagraph_string dencom(com.get("DENCOM"), 18);
|
||||||
|
|
||||||
|
row.reset();
|
||||||
|
row.put(_nditte->lfile().get("RAGSOC"), TAB_DITTA);
|
||||||
|
row.put(dencom.get(), TAB_SEDE);
|
||||||
|
row.put(com.get("PROVCOM"), TAB_PROV);
|
||||||
|
|
||||||
|
const real imp(real::ita2eng(riga.get(3)));
|
||||||
|
row.put(imp.string("###.###.###.###"), TAB_IMPORTO);
|
||||||
|
printer().print(row);
|
||||||
|
totale += imp;
|
||||||
|
|
||||||
|
const char* r;
|
||||||
|
while ((r = dencom.get()) != NULL)
|
||||||
{
|
{
|
||||||
set_form(new TForm(fform, fcode, extra() ? 2 :1, fdesc));
|
row.reset();
|
||||||
form = fform;
|
row.put(r, TAB_SEDE);
|
||||||
go = TRUE;
|
printer().print(row);
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if (k == K_DEL)
|
|
||||||
{
|
|
||||||
if (yesno_box("Confermare la cancellazione del profilo %s", (const char*)fcode))
|
|
||||||
{
|
|
||||||
TLocalisamfile frm(LF_FORM);
|
|
||||||
frm.zero();
|
|
||||||
frm.put("TIPOPROF", fform);
|
|
||||||
frm.put("CODPROF", fcode);
|
|
||||||
if (frm.read() == NOERR)
|
|
||||||
frm.remove();
|
|
||||||
TLocalisamfile rfr(LF_RFORM);
|
|
||||||
rfr.zero();
|
|
||||||
rfr.put("TIPOPROF", fform);
|
|
||||||
rfr.put("CODPROF", fcode);
|
|
||||||
if (rfr.read() == NOERR)
|
|
||||||
{
|
|
||||||
for ( ; rfr.get("CODPROF") == fcode && rfr.get("TIPOPROF") == fform; rfr.next())
|
|
||||||
rfr.remove();
|
|
||||||
}
|
|
||||||
_msk->set(F_CODEPR,"");
|
|
||||||
_msk->set(F_CODEL,"");
|
|
||||||
_msk->set(F_BASE,"");
|
|
||||||
_msk->set(F_DESCPR,"");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (go)
|
row.reset();
|
||||||
{
|
printer().print(row);
|
||||||
enable_menu_item(M_FILE_PRINT);
|
row.put("@bTotale versamenti :", TAB_SEDE);
|
||||||
if (!extra()) dispatch_e_menu(MENU_ITEM(31));
|
row.put(totale.string("###.###.###.###"), TAB_IMPORTO);
|
||||||
}
|
printer().print(row);
|
||||||
|
|
||||||
return form != NULL;
|
printer().close();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TForm_EC_editor::destroy()
|
|
||||||
{
|
// Calcola frequenza dei versamenti IVA di una ditta
|
||||||
if (_msk)
|
// Certified 99%
|
||||||
delete _msk;
|
char TStampa_deleghe_IVA::frequenza_versamenti(long firm, int year) const
|
||||||
return TForm_editor::destroy();
|
{
|
||||||
|
char freq = 'M';
|
||||||
|
|
||||||
|
TString16 key; key.format("%05ld%d", firm, year);
|
||||||
|
TTable lia("%LIA");
|
||||||
|
lia.put("CODTAB", key);
|
||||||
|
if (lia.read() != NOERR)
|
||||||
|
{
|
||||||
|
TLocalisamfile nditte(LF_NDITTE);
|
||||||
|
nditte.put("CODDITTA", firm);
|
||||||
|
nditte.read();
|
||||||
|
freq = nditte.get_char("FREQVIVA");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
freq = lia.get_char("S7");
|
||||||
|
CHECK(freq == 'M' || freq == 'T', "Frequenza versamenti IVA assurda");
|
||||||
|
|
||||||
|
return freq;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool TStampa_deleghe_IVA::print_deleghe()
|
||||||
|
{
|
||||||
|
bool ok = printer().open();
|
||||||
|
bool arng = FALSE;
|
||||||
|
TForm f(_profilo, (_codice != 0) ? format("%05ld",_codice) : "");
|
||||||
|
|
||||||
|
TCursor& cur = *f.cursor();
|
||||||
|
TLocalisamfile& delega = cur.file();
|
||||||
|
TString16 chiave;
|
||||||
|
|
||||||
|
for (int i = 0; ok && i < _ditte->items(); i++)
|
||||||
|
if (_ditte->checked(i))
|
||||||
|
{
|
||||||
|
TToken_string& r = _ditte->row(i);
|
||||||
|
|
||||||
|
const long firm = r.get_long(1);
|
||||||
|
chiave.format("%05ld%04d%02d%d", firm, _anno, _mese, _tipo);
|
||||||
|
delega.put("CODTAB", chiave);
|
||||||
|
|
||||||
|
cur.read(); // Posiziona il cursore
|
||||||
|
|
||||||
|
if (_pd.ok())
|
||||||
|
delega.put("D0",_pd);
|
||||||
|
|
||||||
|
const bool cera_abi = _azienda.empty() || _dipendenza.empty();
|
||||||
|
if (!cera_abi)
|
||||||
|
{
|
||||||
|
delega.put("S7", _azienda);
|
||||||
|
delega.put("S8", _dipendenza);
|
||||||
|
delega.rewrite();
|
||||||
|
cur.read();
|
||||||
|
}
|
||||||
|
const bool cera_conc = (*r.get(7) <= ' ') || delega.get("S9").not_empty();
|
||||||
|
if (!cera_conc)
|
||||||
|
delega.put("S9", r.get(7)); // Concessione
|
||||||
|
|
||||||
|
const bool cera_tribu = delega.get("S6").not_empty();
|
||||||
|
if (!cera_tribu) // Metti codice tributo
|
||||||
|
{
|
||||||
|
TString16 tributo;
|
||||||
|
switch(_tipo)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||||
|
tributo << "603" << ((_mese-1)/3+1);
|
||||||
|
else
|
||||||
|
tributo << "60" << format("%02d", _mese);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
tributo = "6099"; // Annuale
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||||
|
tributo = "6035";
|
||||||
|
else
|
||||||
|
tributo = "6013";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
tributo = "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
delega.put("S6", tributo);
|
||||||
|
}
|
||||||
|
|
||||||
|
ok = f.print(-1); // Stampa solo il record corrente
|
||||||
|
if (!arng)
|
||||||
|
{ // Scopo di cio' e' far si' che esegua il
|
||||||
|
f.set_arrange(arng); // posizionamento solo la prima volta che chiama
|
||||||
|
arng = TRUE; // f.print()
|
||||||
|
}
|
||||||
|
if (!ok) break;
|
||||||
|
|
||||||
|
bool scrivi = _aggiorna_codici && (!cera_abi || !cera_conc || !cera_tribu);
|
||||||
|
|
||||||
|
if (_definitiva)
|
||||||
|
{
|
||||||
|
delega.put("B0", "X"); // Stampato
|
||||||
|
delega.put("D0", _pd);
|
||||||
|
scrivi = TRUE;
|
||||||
|
}
|
||||||
|
if (!_aggiorna_codici) // Cancella codici se non richiesti
|
||||||
|
{
|
||||||
|
if (!cera_abi)
|
||||||
|
{
|
||||||
|
delega.zero("S7");
|
||||||
|
delega.zero("S8");
|
||||||
|
scrivi = TRUE;
|
||||||
|
}
|
||||||
|
if (!cera_conc)
|
||||||
|
{
|
||||||
|
delega.zero("S9");
|
||||||
|
scrivi = TRUE;
|
||||||
|
}
|
||||||
|
if (!cera_tribu)
|
||||||
|
{
|
||||||
|
delega.zero("S6");
|
||||||
|
scrivi = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (scrivi)
|
||||||
|
delega.rewrite();
|
||||||
|
}
|
||||||
|
printer().close();
|
||||||
|
|
||||||
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int ba2500(int argc, char* argv[])
|
int ba2500(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TForm_EC_editor a;
|
TStampa_deleghe_IVA a;
|
||||||
a.run(argc, argv, "Gestione profili EC");
|
a.run(argc, argv, "Stampa Deleghe IVA");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
20
ba/ba2500.h
Executable file
20
ba/ba2500.h
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#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_CODICE 127
|
||||||
|
#define F_PROFILO 128
|
||||||
|
#define F_DESCR 129
|
||||||
|
|
267
ba/ba2500a.uml
267
ba/ba2500a.uml
@ -1,77 +1,220 @@
|
|||||||
#include "ba2100.h"
|
#include "ba2500.h"
|
||||||
|
|
||||||
PAGE "Scelta profilo" -1 -1 75 6
|
PAGE "STAMPA DELEGHE IVA" -1 -1 72 17
|
||||||
|
|
||||||
STRING F_BASE 8
|
LIST F_PROFILO 8 16
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Profilo base "
|
PROMPT 1 1 "Stampa "
|
||||||
HELP "Specificare il nome del profilo di base utilizzato"
|
ITEM "DELIVA|Delega"
|
||||||
USE LF_FORM SELECT CODPROF==""
|
MESSAGE ENABLE,3@|RESET,3@|CLEAR,1@|ENABLE,2@
|
||||||
INPUT TIPOPROF F_BASE
|
ITEM "DELIVACF|Delega C.F."
|
||||||
DISPLAY "Profilo base" TIPOPROF
|
MESSAGE ENABLE,3@|RESET,3@|CLEAR,1@|ENABLE,2@
|
||||||
DISPLAY "Descrizione@50" DESC
|
ITEM "DISIVACF|Distinta C.F."
|
||||||
OUTPUT F_BASE TIPOPROF
|
MESSAGE ENABLE,3@|RESET,3@|CLEAR,2@|ENABLE,1@
|
||||||
OUTPUT F_DESCPR DESC
|
ITEM "BOLIVACF|Bollettino C.F."
|
||||||
CHECKTYPE REQUIRED
|
MESSAGE CLEAR,F_CODICE|CLEAR,2@|ENABLE,1@|CLEAR,F_DESCR
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODEPR 4
|
NUMBER F_CODICE 5
|
||||||
BEGIN
|
|
||||||
PROMPT 2 2 "Codice profilo "
|
|
||||||
FLAGS "Z"
|
|
||||||
HELP "Codice del profilo"
|
|
||||||
USE LF_FORM
|
|
||||||
JOIN %LNG TO LF_FORM ALIAS 200 INTO CODTAB==CODPROF[5,5]
|
|
||||||
INPUT TIPOPROF F_BASE
|
|
||||||
INPUT CODPROF[1,4] F_CODEPR
|
|
||||||
INPUT CODPROF[5,5] F_CODEL
|
|
||||||
DISPLAY "Profilo base" TIPOPROF
|
|
||||||
DISPLAY "Codice" CODPROF[1,4]
|
|
||||||
DISPLAY "Lingua" CODPROF[5,5]
|
|
||||||
DISPLAY "Descrizione@50" DESC
|
|
||||||
DISPLAY "Desc. Lingua@50" -200->S0
|
|
||||||
OUTPUT F_BASE TIPOPROF
|
|
||||||
OUTPUT F_CODEPR CODPROF[1,4]
|
|
||||||
OUTPUT F_CODEL CODPROF[5,5]
|
|
||||||
OUTPUT F_DESCPR DESC
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_CODEL 1
|
|
||||||
BEGIN
|
|
||||||
PROMPT 40 2 "Codice lingua "
|
|
||||||
HELP "Codice lingua del profilo"
|
|
||||||
USE %LNG
|
|
||||||
INPUT CODTAB F_CODEL
|
|
||||||
DISPLAY "Codice lingua" CODTAB
|
|
||||||
DISPLAY "Decrizione@50" S0
|
|
||||||
OUTPUT F_CODEL CODTAB
|
|
||||||
CHECKTYPE NORMAL
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_DESCPR 50
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 3 "Descrizione "
|
|
||||||
HELP "Descrizione profilo utente"
|
|
||||||
COPY ALL F_CODEPR
|
|
||||||
VALIDATE NOT_EMPTY_FUNC
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 ""
|
PROMPT 53 1 "Profilo "
|
||||||
|
USE LF_FORM SELECT (TIPOPROF==#F_PROFILO) && (CODPROF!="")
|
||||||
|
INPUT TIPOPROF F_PROFILO
|
||||||
|
INPUT CODPROF F_CODICE
|
||||||
|
DISPLAY "Tipo@8" TIPOPROF
|
||||||
|
DISPLAY "Codice@8" CODPROF
|
||||||
|
DISPLAY "Descrizione@50" DESC
|
||||||
|
OUTPUT F_CODICE CODPROF
|
||||||
|
OUTPUT F_DESCR DESC
|
||||||
|
FLAGS "UZ"
|
||||||
|
GROUP 3
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_DELREC 10 2
|
STRING F_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -1 ""
|
PROMPT 1 2 "Descrizione "
|
||||||
MESSAGE EXIT,K_DEL
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 70 5
|
||||||
BUTTON DLG_QUIT 10 2
|
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -33 -1 ""
|
PROMPT 1 3 "Stampa solo"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CONCESSIONE 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Concessione "
|
||||||
|
HELP "Codice concessione in cui hanno residenza fiscale le ditte da gestire"
|
||||||
|
USE %UCC
|
||||||
|
FLAGS "Z"
|
||||||
|
INPUT CODTAB F_CONCESSIONE
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@30" S0
|
||||||
|
OUTPUT F_CONCESSIONE CODTAB
|
||||||
|
OUTPUT F_DESC_CONC S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESC_CONC 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 24 4 "Descrizione "
|
||||||
|
USE %UCC KEY 2
|
||||||
|
INPUT S0 F_DESC_CONC
|
||||||
|
DISPLAY "Descrizione@30" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
COPY OUTPUT F_CONCESSIONE
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SOLO_ABI 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 5 "Codice ABI "
|
||||||
|
HELP "Codice ABI della banca delle deleghe da stampare"
|
||||||
|
FLAGS "Z"
|
||||||
|
USE %BAN
|
||||||
|
INPUT CODTAB[1,5] F_SOLO_ABI
|
||||||
|
INPUT CODTAB[6,10] F_SOLO_CAB
|
||||||
|
DISPLAY "Azienda" CODTAB[1,5]
|
||||||
|
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||||
|
DISPLAY "Denominazione@50" S0
|
||||||
|
OUTPUT F_SOLO_ABI CODTAB[1,5]
|
||||||
|
OUTPUT F_SOLO_CAB CODTAB[6,10]
|
||||||
|
OUTPUT F_DESC_SOLO_BAN S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SOLO_CAB 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 50 5 "Codice CAB "
|
||||||
|
HELP "Codice CAB della banca delle deleghe da stampare"
|
||||||
|
FLAGS "Z"
|
||||||
|
COPY ALL F_SOLO_ABI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESC_SOLO_BAN 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 6 "Denominazione "
|
||||||
|
USE %BAN KEY 2
|
||||||
|
INPUT S0 F_DESC_SOLO_BAN
|
||||||
|
DISPLAY "Denominazione@50" S0
|
||||||
|
DISPLAY "Azienda" CODTAB[1,5]
|
||||||
|
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||||
|
COPY OUTPUT F_SOLO_ABI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 70 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Intesta deleghe a"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_ABI 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Codice ABI "
|
||||||
|
HELP "Codice ABI della banca per la presentazione della delega"
|
||||||
|
FLAGS "Z"
|
||||||
|
USE %BAN SELECT CODTAB[6,10]?="?????"
|
||||||
|
INPUT CODTAB[1,5] F_ABI
|
||||||
|
INPUT CODTAB[6,10] F_CAB
|
||||||
|
COPY DISPLAY F_SOLO_ABI
|
||||||
|
OUTPUT F_ABI CODTAB[1,5]
|
||||||
|
OUTPUT F_CAB CODTAB[6,10]
|
||||||
|
OUTPUT F_DESC_BAN S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CAB 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 50 9 "Codice CAB "
|
||||||
|
HELP "Codice CAB della banca per la presentazione della delega"
|
||||||
|
FLAGS "Z"
|
||||||
|
COPY ALL F_ABI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "E' richiesto un codice CAB valido"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESC_BAN 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Denominazione "
|
||||||
|
USE %BAN KEY 2 SELECT CODTAB[6,10]?="?????"
|
||||||
|
INPUT S0 F_DESC_BAN
|
||||||
|
COPY DISPLAY F_DESC_SOLO_BAN
|
||||||
|
COPY OUTPUT F_ABI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_ANNO 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Anno "
|
||||||
|
HELP "Anno di cui si vogliono stampare le deleghe"
|
||||||
|
FLAGS "A"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_MESE 2 11
|
||||||
|
BEGIN
|
||||||
|
PROMPT 18 12 "Mese "
|
||||||
|
HELP "Mese di cui si vogliono stampare le deleghe"
|
||||||
|
FLAGS "AM"
|
||||||
|
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_TIPO 1 24
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "Tipo "
|
||||||
|
HELP "Tipo di delega da stampare"
|
||||||
|
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||||
|
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||||
|
ITEM "3|Articolo 74" MESSAGE ENABLE,F_MESE
|
||||||
|
ITEM "4|Cessazione attivita'" MESSAGE ENABLE,F_MESE
|
||||||
|
ITEM "5|Integrativa" MESSAGE ENABLE,F_MESE
|
||||||
|
ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA F_DATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 14 "Data "
|
||||||
|
HELP "Data da stampare sulle deleghe"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_AGGIORNA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 43 12 "Aggiorna codici banca"
|
||||||
|
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_DISTINTA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 43 13 "Stampa distinta deleghe"
|
||||||
|
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_DEFINITIVA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 43 14 "Stampa definitiva"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_SELECT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 "Selezione"
|
||||||
|
HELP "Selezione delle ditte di cui stampare le deleghe"
|
||||||
|
MESSAGE EXIT,K_ENTER
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -194,7 +194,7 @@
|
|||||||
22|Gestione versamenti IVA|22
|
22|Gestione versamenti IVA|22
|
||||||
22|Estrazione versamenti|cg4 -2 -D
|
22|Estrazione versamenti|cg4 -2 -D
|
||||||
22|Gestione versamenti|ba3 -0 %del
|
22|Gestione versamenti|ba3 -0 %del
|
||||||
22|Stampa versamenti|cg1 -3
|
22|Stampa versamenti|ba2 -4
|
||||||
22|Gestione profili deleghe e distinte|ba2 -0
|
22|Gestione profili deleghe e distinte|ba2 -0
|
||||||
23|Saldaconto|2|13
|
23|Saldaconto|2|13
|
||||||
23|Stampa scadenzario|sc2 -1
|
23|Stampa scadenzario|sc2 -1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user