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:
guy 1994-09-20 12:22:46 +00:00
parent a31f2fb728
commit 7147bd2803
17 changed files with 1065 additions and 1053 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -1,7 +1,10 @@
#include "cg0201.h"
<<<<<<< cg0201.cpp
=======
#include <lffiles.h>
#include <clifo.h>
#include <indsp.h>
>>>>>>> 1.4
extern bool gest_vend();

View File

@ -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);
}

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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[])

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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