Corrrzioni guido (da commentare)

git-svn-id: svn://10.65.10.50/trunk@388 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-10-14 19:14:40 +00:00
parent 8a2c77f75c
commit 41cac87df5
15 changed files with 383 additions and 444 deletions

View File

@ -147,10 +147,10 @@ BEGIN
ITEM "Co.@3"
ITEM "Sottoc.@6"
ITEM "D/A@1"
ITEM "Descrizione@50"
ITEM "Descr. agg."
ITEM "Descrizione conto@50"
ITEM "Descr. agg.@5"
ITEM "Iva"
ITEM "Cod.Iva"
ITEM "Cod.Iva@4"
END
ENDPAGE
@ -159,7 +159,7 @@ PAGE "" -1 -1 77 20
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 "@BCampi obbligatori in caricamento documenti"
PROMPT 1 0 "@BCampi obbligatori in immissione documenti"
END
BOOLEAN F_DATA_DOC

View File

@ -213,6 +213,7 @@ bool TPrimanota_application::changing_mask(int mode)
if (mode == MODE_QUERY)
{
const bool flag = _mode != MODE_QUERY;
if (flag && _iva != nessuna_iva)
{
WINDOW w = ivas().parent();
@ -221,6 +222,7 @@ bool TPrimanota_application::changing_mask(int mode)
process_events();
show_window(w, FALSE);
}
return flag;
}
_iva = iva_errata;
@ -304,15 +306,14 @@ void TPrimanota_application::init_mask(TMask& m)
if (valuta)
m.set(F_VISVAL, "X");
m.disable(DLG_NEWREC);
// m.disable(DLG_NEWREC);
}
void TPrimanota_application::init_query_mode(TMask& m)
{
read_firm_params();
enable_menu_item(M_FILE_PRINT);
m.enable(DLG_NEWREC);
// m.enable(DLG_NEWREC);
}
@ -335,16 +336,30 @@ void TPrimanota_application::fill_sheet(TMask& m) const
// Certified 100%
const char* TPrimanota_application::get_next_key()
{
return format("%d|%ld", F_NUMREG, _lastreg+1);
TToken_string k(80);
k.add(F_NUMREG); k.add(_lastreg+1);
TMask& m = curr_mask();
if (!m.query_mode())
{
k.add(F_CODCAUS); k.add(m.get(F_CODCAUS)); // Ricopia causale
k.add(F_DATAREG); k.add(m.get(F_DATAREG)); // data operazione
k.add(F_DATACOMP); k.add(m.get(F_DATACOMP)); // competenza
k.add(F_DATADOC); k.add(m.get(F_DATADOC)); // documento
const long n = m.get_long(F_NUMDOC);
if (n > 0)
{
k.add(F_NUMDOC); k.add(n+1); // incrementa numero documento
}
}
return strcpy(__tmp_string, k);
}
void TPrimanota_application::init_insert_mode(TMask& m)
{
m.set(F_DATAREG, _msk[0]->get(F_DATAREG));
m.set(F_DATACOMP, _msk[0]->get(F_DATACOMP));
m.set(F_ANNOES, _msk[0]->get(F_ANNOES));
m.set(F_ANNOIVA, _msk[0]->get(F_ANNOIVA));
if (iva() != nessuna_iva)
occas_mask().reset();

View File

@ -120,6 +120,8 @@ BEGIN
INPUT CODCAUS F_CODCAUS
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo" TIPODOC
DISPLAY "Registro" REG
OUTPUT F_CODCAUS CODCAUS
OUTPUT F_DESCRCAUS DESCR
CHECKTYPE NORMAL
@ -174,14 +176,14 @@ BEGIN
PROMPT 0 10 ""
ITEM "Dare@15"
ITEM "Avere@15"
ITEM " @1"
ITEM "C/F@1"
ITEM "Gr."
ITEM "Co."
ITEM "Sottoc.@6"
ITEM "Descrizione conto@50"
ITEM "Codice"
ITEM "Descrizione riga@50"
ITEM " @1"
ITEM "C/F@1"
ITEM "Gr./c@3"
ITEM "Co./c@3"
ITEM "Sottoc./c@6"

View File

@ -66,7 +66,7 @@ DATE F_DATAREG
BEGIN
PROMPT 1 3 "Data operazione "
FIELD LF_MOV->DATAREG
MESSAGE COPY,H_DATAREG|COPY,F_DATA74TER
MESSAGE COPY,H_DATAREG|COPY,F_DATA74TER|COPY,F_ANNOIVA,7,10
END
DATE F_DATACOMP
@ -95,7 +95,7 @@ NUMBER F_ANNOES 4
BEGIN
PROMPT 32 4 "Anno esercizio "
FIELD LF_MOV->ANNOES
FLAGS "DGRZ"
FLAGS "DGZ"
MESSAGE COPY,H_ANNOES
END
@ -512,7 +512,7 @@ END
NUMBER H_ANNOES 4
BEGIN
PROMPT 61 1 "Esercizio "
FLAGS "DRZ"
FLAGS "DZ"
END
STRING H_CODCAUS 3
@ -535,7 +535,7 @@ BEGIN
ITEM "Det@1"
ITEM "Imposta@15"
ITEM "C/R@1"
ITEM " "
ITEM "C/F@1"
ITEM "Gr."
ITEM "Co."
ITEM "Sottoc.@6"
@ -561,14 +561,14 @@ BEGIN
PROMPT 0 12 ""
ITEM "Dare@15"
ITEM "Avere@15"
ITEM " "
ITEM "C/F@1"
ITEM "Gr."
ITEM "Co."
ITEM "Sottoc.@6"
ITEM "Descrizione conto@50"
ITEM "Codice"
ITEM "Descrizione riga@50"
ITEM " "
ITEM "C/F@1"
ITEM "Gr./c@3"
ITEM "Co./c@3"
ITEM "Sottoc./c@6"

View File

@ -74,6 +74,7 @@ BEGIN
DISPLAY "Denominazione@50" DENCOM
OUTPUT O_COMUNE COM
OUTPUT O_DENCOM DENCOM
OUTPUT O_CAP CAPCOM
CHECKTYPE NORMAL
END

View File

@ -475,10 +475,8 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
const char* ss = saldo.string(".");
return f.error_box("Il movimento e' sbilanciato di %s lire.", ss);
}
else
if (app().get_cgs_imp(0).valore().is_zero())
return f.error_box("Il movimento non ha una prima riga contabile valida!");
bool empty = TRUE;
const int max = cg.items();
for (int i = 0; i < max; i++)
{
@ -486,13 +484,17 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
if (!im.valore().is_zero())
{
const TBill c(cg.row(i), 3, 0x0);
if ((c.gruppo() > 0 || c.sottoconto() > 0) && !c.ok())
if (!c.empty() && !c.ok())
return error_box("Il conto della riga %d non e' completo", i+1);
const TBill co(cg.row(i), 10, 0x0);
if ((co.gruppo() > 0 || co.sottoconto() > 0) && !co.ok())
if (!co.empty() && !co.ok())
return error_box("La contropartita della riga %d non e' completa", i+1);
empty = FALSE;
}
}
if (empty)
return error_box("Il movimento non ha nessuna riga contabile con un importo");
}
}
return TRUE;
@ -849,19 +851,18 @@ bool TPrimanota_application::iva_handler(TMask_field& f, KEY k)
bool TPrimanota_application::cg_conto_handler(TMask_field& f, KEY key)
{
if (key == K_TAB)
if (key == K_TAB || key == K_ENTER)
{
const TipoIVA i = app().iva();
if (i != nessuna_iva)
TMask& m = f.mask();
if (m.get(115)[0] == 'T')
{
TMask& m = f.mask();
const short id = f.dlg();
const short clifo = id + (i == iva_vendite ? 101 : 201);
if (!m.field(clifo).enabled())
const char cf = m.get(f.dlg()-2)[0];
char tipo = app().clifo();
if (app().causale().corrispettivi()) tipo = ' ';
if (cf != tipo)
{
char cf = m.get(id-2)[0];
if (cf != app().clifo())
return error_box("Tipo di conto incongruente col tipo di registrazione");
const char* d = tipo == ' ' ? "normale" : (tipo == 'C' ? "clienti" : "fornitori");
return f.error_box("E' richiesto un conto %s.", d);
}
}
}
@ -897,7 +898,6 @@ bool TPrimanota_application::cg_clifo_handler(TMask_field& f, KEY k)
// Handlers dei campi della testata
///////////////////////////////////////////////////////////
// Handler of the F_NUMREG field on the query mask
// Certified 90%
bool TPrimanota_application::num_handler(TMask_field& f, KEY key)
@ -1273,7 +1273,8 @@ void TPrimanota_application::add_cgs_rit(bool fiscali)
{
const int riga = fiscali ? 8 : 9;
TBill conto; _causale.bill(riga, conto);
set_cgs_row(-1, real2imp(imp, tipo), conto, _causale.desc_agg(riga), tipo);
const TString80 desc(_causale.desc_agg(riga));
set_cgs_row(-1, real2imp(imp, tipo), conto, desc, tipo);
}
else
set_cgs_imp(pos, real2imp(imp, tipo));
@ -1325,7 +1326,7 @@ bool TPrimanota_application::visval_handler(TMask_field& f, KEY key)
m.set_exchange(e);
else
{
error_box("Impostare un valore valido per il cambio");
error_box("Impostare un valore maggiore di zero per il cambio");
f.reset();
}
}

View File

@ -13,22 +13,25 @@ BEGIN
PROMPT 0 1 "@bScadenzario"
END
STRING F_IMPONIBILE 14
NUMBER F_IMPONIBILE 15
BEGIN
PROMPT 2 2 "Imponibile "
FLAGS "D"
PICTURE "."
FLAGS "DR"
END
STRING F_IMPOSTA 14
NUMBER F_IMPOSTA 15
BEGIN
PROMPT 29 2 "Imposta "
FLAGS "D"
PICTURE "."
FLAGS "DR"
END
STRING F_SPESE 14
NUMBER F_SPESE 15
BEGIN
PROMPT 53 2 "Spese "
FLAGS "D"
PICTURE "."
FLAGS "DR"
END
@ -72,8 +75,8 @@ BEGIN
ITEM "Scadenza@10"
ITEM "Percentuale@12"
ITEM "Importo@15"
ITEM "Tipo"
ITEM "Pagamento@32"
ITEM "Tipo"
ITEM "Pagamento@32"
END
ENDPAGE
@ -99,11 +102,11 @@ END
NUMBER 104 2 0
BEGIN
PROMPT 1 5 "Tipo pagamento "
HELP ""
SHEET "Codice|Tipo pagamento@32"
INPUT 104
OUTPUT 104
OUTPUT 105
HELP ""
SHEET "Codice|Tipo pagamento@32"
INPUT 104
OUTPUT 104
OUTPUT 105
ITEM "1|Rimessa diretta o contanti"
ITEM "2|Tratta"
ITEM "3|Ricevuta Bancaria"

View File

@ -6,14 +6,14 @@ PAGE "" -1 -1 73 16
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 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
@ -62,7 +62,7 @@ BEGIN
ITEM "F|Fornitori"
MESSAGE HIDE,2@|SHOW,1@|RESET,1@
ITEM "E|Entrambi"
MESSAGE HIDE,1@|SHOW,2@|RESET,2@
MESSAGE HIDE,1@|SHOW,2@|CLEAR,2@
END
NUMBER F_CODICEINI 6
@ -136,12 +136,12 @@ BEGIN
END
*/
BUTTON DLG_OK 9 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 9 2
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -22 -1 ""
END

View File

@ -19,7 +19,6 @@ BEGIN
// OUTPUT DATA_DA D0
// OUTPUT DATA_A D1
// CHECKTYPE NORMAL
FLAGS "RZ"
END
NUMBER ANNO_ESER 4
@ -33,7 +32,7 @@ BEGIN
DISPLAY "Data scarico" D2
OUTPUT ANNO_ESER CODTAB
// CHECKTYPE REQUIRED
FLAGS "HRZ"
FLAGS "HR"
END
STRING REG_DESC 50

View File

@ -334,22 +334,6 @@ bool CG4300_App::set_liquidazione()
_selected.reset();
m.reset(CG43_FLD_SELECTED);
break;
/*
case CG43_BUT_CHK:
{
_ditte->destroy();
for (i = 0; i < _nomiditte.items(); i++)
{
TToken_string& d = (TToken_string&)_nomiditte[i];
_ditte->add(d);
if (_selected[i]) _ditte->check(i);
}
_ditte->disable_check();
_ditte->run();
_ditte->enable_check();
}
break;
*/
}
}
while (k != K_ENTER && k != K_ESC);

View File

@ -8,10 +8,10 @@ static TString256 TMP;
inline CG4400_application& app() { return (CG4400_application&)main_app(); }
bool filter_func (const TRelation * r)
bool CG4400_application::filter_func (const TRelation * r)
{
TLocalisamfile & mov = r->lfile(LF_MOV);
TString codreg = mov.get(MOV_REG);
TString16 codreg = mov.get(MOV_REG);
TDate datareg = mov.get_date(MOV_DATAREG);
int annoiva = mov.get_int(MOV_ANNOIVA);
@ -33,16 +33,16 @@ HIDDEN int compare_rows(const TObject** o1, const TObject** o2)
return (strcmp((const char*)r1->_codiva, (const char*)r2->_codiva));
}
HIDDEN int compare(const TObject** o1, const TObject** o2)
HIDDEN int compare_fields(const TObject** o1, const TObject** o2)
{
TRigaiva* r1 = (TRigaiva*)*o1;
TRigaiva* r2 = (TRigaiva*)*o2;
TString campo1;
TString campo2;
TString16 campo1;
TString16 campo2;
campo1.format("%d%4s", r1->_tipodet, (const char*)r1->_codiva);
campo2.format("%d%4s", r2->_tipodet, (const char*)r2->_codiva);
return (strcmp((const char*)campo1, (const char*)campo2));
return strcmp(campo1, campo2);
}
/*
@ -54,116 +54,68 @@ HIDDEN int compare(const TObject** o1, const TObject** o2)
}
*/
bool mask_select (TMask_field& f, KEY k)
{
long j, cnt, chk; int i;
TString from = f.mask().get(DA_CODICE);
TString to = f.mask().get(A_CODICE);
TBit_array selected = app()._selected;
// build sheet
bool CG4400_application::mask_select (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
f.mask().field(DA_CODICE).set("");
f.mask().field(A_CODICE).set("");
app()._ditte->destroy(); chk = 0l;
for (i = 0; i < app()._nomiditte.items(); i++)
{
if (app()._selected[i]) continue;
TToken_string d = (const char*)((TToken_string&)app()._nomiditte[i]);
TString cod = d.get(1);
app()._ditte->add(d);
TBit_array& sel = app()._selected;
TArray_sheet& dit = *app()._ditte;
for (int j = 0; j < dit.items(); j++)
dit.check(j, sel[j]);
if (!from.empty() || !to.empty())
{
if (from.empty()) from = "0";
if (to.empty()) to = "999999";
if (atol(cod) >= atol(from) && atol(cod) <= atol(to))
{
selected.set(chk++);
app()._ditte->check(chk++);
}
}
}
// seleziona e aggiungi alle gia' selezionate
if (app()._ditte->run() == K_ENTER)
if (dit.run() == K_ENTER)
{
cnt = 0;
for (j = 0l; j < app()._n_ditte; j++)
{
if (app()._selected[j]) continue;
if (app()._ditte->checked(cnt++))
selected.set(j);
}
app()._selected |= selected;
selected.reset();
for (int j = 0; j < dit.items(); j++)
sel.set(j, dit.checked(j));
}
long numd = app()._selected.ones();
f.mask().set(F_SELECT,numd);
const long numd = sel.ones();
f.mask().set(F_SELECT, numd);
}
return TRUE;
}
bool mask_verifica (TMask_field& f, KEY k)
{
int i;
if (k == K_SPACE)
{
app()._ditte->destroy();
for (i = 0; i < app()._nomiditte.items(); i++)
{
TToken_string d = (const char*)((TToken_string&)app()._nomiditte[i]);
app()._ditte->add(d);
if (app()._selected[i]) app()._ditte->check(i);
}
app()._ditte->disable_check();
app()._ditte->run();
app()._ditte->enable_check();
}
return TRUE;
}
bool mask_annulla (TMask_field& f, KEY k)
bool CG4400_application::mask_azzera (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
app()._selected.reset();
f.mask().set(F_SELECT, "0");
app()._ditte->uncheck(-1);
f.mask().reset(F_SELECT);
}
return TRUE;
}
bool mask_from_to (TMask_field& f, KEY k)
bool CG4400_application::mask_firm_to (TMask_field& f, KEY k)
{
if (k == K_TAB)
if (k == K_TAB && f.focusdirty())
{
app()._selected.reset();
TString from, to;
const short id = f.dlg();
from = f.mask().get(id-1);
to = f.mask().get(id);
int i;
if (!from.empty() || !to.empty())
TMask& m = f.mask();
const long from = m.get_long(DA_CODICE);
long to = m.get_long(A_CODICE);
if (from != 0 || to != 0)
{
long chk = 0l;
if (from.empty()) from = "0";
if (to.empty()) to = "999999";
for (i = 0; i < app()._nomiditte.items(); i++)
TBit_array& sel = app()._selected;
if (to == 0) to = 99999;
for (int i = 0; i < app()._ditte->items(); i++)
{
TToken_string d = (const char*)((TToken_string&)app()._nomiditte[i]);
TString cod = d.get(1);
if (atol(cod) >= atol(from) && atol(cod)<= atol(to))
app()._selected.set(chk++);
TToken_string& d = app()._ditte->row(i);
const long cod = d.get_long(1);
if (cod >= from && cod <= to)
sel.set(i);
}
m.reset(DA_CODICE);
m.reset(A_CODICE);
const long numd = sel.ones();
f.mask().set(F_SELECT, numd);
}
}
return TRUE;
}
bool mask_mese (TMask_field& f, KEY k)
bool CG4400_application::mask_mese (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
@ -171,22 +123,20 @@ bool mask_mese (TMask_field& f, KEY k)
int umese = f.mask().get_int(ULTIMO_MESE);
if (mese != umese+1)
{
f.warning_box ("Le stampe devono essere richieste mese per mese! I mesi successivi a %s non sono ancora stati stampati.", itom(umese));
return FALSE;
}
return f.warning_box ("Le stampe devono essere richieste mese per mese!\n"
"I mesi successivi a %s non sono ancora stati stampati.", itom(umese));
}
return TRUE;
}
bool mask_cod (TMask_field& f, KEY k)
bool CG4400_application::mask_cod (TMask_field& f, KEY k)
{
TTable TabLbu ("%LBU");
TString codtab;
int anno;
//if ( (k == K_TAB) && f.mask().is_running() )
if ( (k == K_SPACE)||(k == K_TAB) )
if (k == K_SPACE || k == K_TAB)
{
TString codlib = f.mask().get(CODICE_LIB_UN);
anno = f.mask().get_int(ANNO);
@ -205,14 +155,12 @@ bool mask_cod (TMask_field& f, KEY k)
return TRUE;
}
bool mask_data (TMask_field& f, KEY k)
bool CG4400_application::mask_data (TMask_field& f, KEY k)
{
const short id = f.dlg();
if (k == K_ENTER)
{
int anno = f.mask().get_int(ANNO);
TDate data = f.mask().get(id);
const int anno = f.mask().get_int(ANNO);
TDate data(f.get());
if (data.ok())
if (data.year() != anno)
{
@ -294,7 +242,7 @@ bool mask_data (TMask_field& f, KEY k)
*/
//da una SHEET non e' possibile mandare messaggi nella maschera!!!
HIDDEN bool my_handler (TMask_field& f, KEY k)
bool CG4400_application::tipostampa_handler (TMask_field& f, KEY k)
{
if (k == K_TAB)
{
@ -352,7 +300,7 @@ HIDDEN bool my_handler (TMask_field& f, KEY k)
const char * CG4400_application::descr_doc(const char * tipo)
{
TTable tab_tpd("%TPD");
TString codtab = format ("%-2s", tipo);
const TString16 codtab(format("%-2s", tipo));
tab_tpd.zero();
tab_tpd.put("CODTAB", codtab);
@ -367,7 +315,7 @@ const char * CG4400_application::descr_doc(const char * tipo)
const char * CG4400_application::descr_iva(const char * cod)
{
TTable tab_iva("%IVA");
TString codtab = format ("%-4s", cod);
const TString16 codtab(format ("%-4s", cod));
tab_iva.zero();
tab_iva.put("CODTAB", codtab);
@ -423,16 +371,16 @@ void CG4400_application::user_create()
_nditte = new TLocalisamfile(LF_NDITTE);
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Ditte",
"@1|Cod.@5|Ragione Sociale@50");
_n_ditte = 0l;
for (_nditte->first(); !_nditte->eof(); _nditte->next())
{
TString cod = _nditte->get("CODDITTA");
_n_ditte++;
TToken_string* d = new TToken_string(" ");
d->add(cod);
TToken_string* d = new TToken_string(64);
d->add(" ");
d->add(_nditte->get("CODDITTA"));
d->add(_nditte->get("RAGSOC"));
_nomiditte.add(d);
_ditte->add(d);
}
_n_ditte = _ditte->items();
_tab = new TLocalisamfile(LF_TAB);
_tabcom = new TLocalisamfile(LF_TABCOM);
_tabreg = new TTable("REG");
@ -827,7 +775,7 @@ void CG4400_application::set_page_tot_reg()
int rw = row;
tot_imponib = tot_imposta = tot_imponibp = tot_impostap = 0.00;
_iva_array.sort(compare);
_iva_array.sort(compare_fields);
for (int s = 0; s < _iva_array.items(); s++)
{
TRigaiva& riga = (TRigaiva&)_iva_array[s];
@ -1475,15 +1423,14 @@ bool CG4400_application::set_ditte(TMask& m)
m.field(A_CODICE).set("");
m.field(TIPO_STAMPA).set("1");
m.set_handler (TIPO_STAMPA, my_handler);
m.set_handler (A_CODICE, mask_from_to);
m.set_handler (TIPO_STAMPA, tipostampa_handler);
m.set_handler (A_CODICE, mask_firm_to);
m.set_handler (DA_DATA, mask_data);
m.set_handler (A_DATA, mask_data);
m.set_handler (MESE, mask_mese);
m.set_handler (CODICE_LIB_UN, mask_cod);
m.set_handler (DLG_SELECT, mask_select);
m.set_handler (F_ANNULLA, mask_annulla);
m.set_handler (F_VERIFICA, mask_verifica);
m.set_handler (F_ANNULLA, mask_azzera);
KEY tasto;

View File

@ -2,13 +2,10 @@
// cg4400.h
//
#include <isam.h>
#include <lffiles.h>
#include <printapp.h>
#include <mask.h>
#include <strings.h>
#include <tabutil.h>
#include <utility.h>
#include <stdlib.h>
#include <urldefid.h>
#include <sheet.h>
#include <config.h>
@ -27,27 +24,18 @@
//enum STAMPA { bollati=1, unici=2 };
const int TABREG = (int)TTable::name2log("REG");
bool filter_func (const TRelation*);
bool my_handler (TMask_field&, KEY);
bool mask_from_to (TMask_field&, KEY);
bool mask_cod (TMask_field&, KEY);
bool mask_data (TMask_field&, KEY);
bool mask_mese (TMask_field&, KEY);
bool mask_fino_a_mese (TMask_field&, KEY);
bool mask_select (TMask_field&, KEY);
bool mask_verifica (TMask_field&, KEY);
bool mask_annulla (TMask_field&, KEY);
class TDati_ditta : public TObject
{
TLocalisamfile * _nditte, * _anag, *_comuni;
TString _ragsoc, _cofi, _paiva;
TString _comunefis, _viafis, _provfis, _cap;
long _codditta;
int _stampa_width;
TString80 _ragsoc, _viafis;
TString16 _cofi, _paiva, _comunefis, _provfis, _cap;
long _codditta;
int _stampa_width;
protected:
void get_dati_ditta();
TRectype& look_com (const char * codice);
public:
const char* prima_riga ();
const char* seconda_riga ();
@ -57,15 +45,6 @@ public:
class CG4400_application : public TPrintapp
{
friend bool filter_func (const TRelation *r);
friend bool mask_cod (TMask_field&, KEY);
friend bool mask_from_to (TMask_field&, KEY);
friend bool mask_mese (TMask_field&, KEY);
friend bool my_handler (TMask_field&, KEY);
friend bool mask_select (TMask_field&, KEY);
friend bool mask_verifica (TMask_field&, KEY);
friend bool mask_annulla (TMask_field&, KEY);
TCursor * _cur;
TRelation *_rel;
TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom;
@ -73,9 +52,10 @@ class CG4400_application : public TPrintapp
TRigaiva_array _iva_array, _riga_rmi;
TTipodoc_array _doc_array;
TRiga_array _tot_iva_array;
TBit_array _selected;
TArray_sheet *_ditte;
TBit_array _selected;
TArray _nomiditte; //array descrizioni ditte per sheet
TRecnotype _nrec;
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri;
char _frequiva;
@ -87,7 +67,7 @@ class CG4400_application : public TPrintapp
TString _codreg, _desc_lib, _codatt, _attivita;
TString _tipodoc, _descr_doc, _codlib;
public:
protected:
const char* desc_attivita (const char * codatt);
const char* descr_doc (const char * tipo);
const char* descr_iva (const char * cod);
@ -117,9 +97,20 @@ public:
print_action postprocess_page (int, int);
void preprocess_header();
CG4400_application() : TPrintapp(),_ditte(NULL),_selected(10000),
_nomiditte(100) {}
static bool filter_func (const TRelation * r);
static bool tipostampa_handler (TMask_field&, KEY);
static bool mask_firm_to (TMask_field&, KEY);
static bool mask_cod (TMask_field&, KEY);
static bool mask_data (TMask_field&, KEY);
static bool mask_mese (TMask_field&, KEY);
static bool mask_fino_a_mese (TMask_field&, KEY);
static bool mask_select (TMask_field&, KEY);
static bool mask_azzera (TMask_field&, KEY);
public:
CG4400_application() : TPrintapp(), _ditte(NULL) {}
virtual ~CG4400_application() {}
};

View File

@ -3,23 +3,24 @@
#include "cg4400a.h"
PAGE "Stampa registri IVA" -1 -1 56 19
PAGE "Stampa registri IVA" -1 -1 56 16
/*
LISTBOX TIPO_STAMPA 2 27
LISTBOX TIPO_STAMPA 1 48
BEGIN
PROMPT 2 1 "Tipo stampa "
PROMPT 2 1 "Tipo "
ITEM "1|Libri bollati della ditta"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
ITEM "2|Libri unici dello studio"
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
ITEM "3|Stampa di prova"
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO
ITEM "4|Stampa libri con riferimenti al libro giornale"
ITEM "4|Libri con riferimenti al libro giornale"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
END
*/
/*
NUMBER TIPO_STAMPA 1
BEGIN
PROMPT 2 1 "Tipo stampa "
@ -31,15 +32,16 @@ BEGIN
ITEM "3|Stampa di prova"
ITEM "4|Libri con riferimenti al libro giornale"
END
*/
GROUPBOX DLG_NULL 35 5
BEGIN
PROMPT 20 1 "Scelta ditte"
PROMPT 20 2 "Scelta ditte"
END
NUMBER DA_CODICE 6
BEGIN
PROMPT 21 2 "Da codice "
PROMPT 21 3 "Da codice "
HELP "Immettere codice ditta di partenza per la selezione"
USE LF_NDITTE KEY 1
CHECKTYPE NORMAL
@ -51,7 +53,7 @@ END
NUMBER A_CODICE 6
BEGIN
PROMPT 21 3 "A codice "
PROMPT 21 4 "A codice "
HELP "Immettere codice ditta di fine selezione"
COPY USE DA_CODICE
CHECKTYPE NORMAL
@ -62,46 +64,39 @@ END
STRING F_SELECT 6
BEGIN
PROMPT 21 4 "Scelte n. "
PROMPT 21 5 "Scelte n. "
FLAGS "D"
END
BUTTON DLG_SELECT 9
BUTTON DLG_SELECT 9 2
BEGIN
PROMPT 42 2 "Selezione"
//MESSAGE EXIT,DLG_SELECT
PROMPT 42 3 "~Selezione"
END
BUTTON F_ANNULLA 9
BEGIN
PROMPT 42 3 "Azzera"
PROMPT 42 5 "A~zzera"
MESSAGE RESET,DA_CODICE|RESET,A_CODICE
END
BUTTON F_VERIFICA 9
BEGIN
PROMPT 42 4 "Verifica"
//MESSAGE EXIT,F_VERIFICA
END
DATE DATA_STAMPA
BEGIN
PROMPT 2 6 "Data stampa "
PROMPT 28 7 "Data stampa "
FLAG "AH"
GROUP 3
END
NUMBER ANNO 4
BEGIN
PROMPT 2 7 "Anno "
PROMPT 2 3 "Anno "
FLAGS "A"
CHECKTYPE REQUIRED
END
STRING CODICE_LIBRO 3
BEGIN
PROMPT 20 7 "Codice libro "
HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
PROMPT 2 7 "Codice libro "
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO
@ -117,8 +112,8 @@ END
STRING CODICE_LIBRO_PROVA 3
BEGIN
PROMPT 20 7 "Codice libro "
HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
PROMPT 2 7 "Codice libro "
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO_PROVA
@ -134,8 +129,8 @@ END
STRING CODICE_LIB_UN 3
BEGIN
PROMPT 20 7 "Cod.libro unico "
HELP "Specificare il codice del libro unico su cui deve essere effettuata la stampa"
PROMPT 2 7 "Libro unico "
HELP "Codice del libro unico su cui deve essere effettuata la stampa"
USE %LBU SELECT CODTAB[1,4]==#111
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIB_UN
@ -151,38 +146,38 @@ END
GROUPBOX DLG_NULL 52 3
BEGIN
PROMPT 2 9 "Stampa movimenti"
PROMPT 2 8 "Stampa movimenti"
END
DATE DA_DATA
BEGIN
PROMPT 5 10 "Dalla data "
PROMPT 5 9 "Dalla data "
GROUP 3
END
DATE A_DATA
BEGIN
PROMPT 30 10 "Alla data "
PROMPT 30 9 "Alla data "
GROUP 3
END
LISTBOX FINO_A_MESE 10
BEGIN
PROMPT 5 10 "Fino al mese "
PROMPT 5 9 "Fino al mese "
FLAGS "M"
GROUP 1
END
LISTBOX MESE 10
BEGIN
PROMPT 5 10 "Mese "
PROMPT 5 9 "Mese "
FLAGS "M"
GROUP 2
END
LISTBOX TIPO_RIEPILOGATIVO 11
BEGIN
PROMPT 2 12 "Tipo riepilogativo "
PROMPT 2 11 "Tipo riepilogativo "
HELP "Selezionare Del periodo/Annuale a seconda che si desideri la stampa della liquidazione periodica/annuale"
ITEM "P|Del periodo"
ITEM "A|Annuale"
@ -191,21 +186,21 @@ END
LISTBOX ULTIMO_MESE 10
BEGIN
PROMPT 2 13 "Ultimo mese stampa su libro unico "
PROMPT 2 11 "Ultimo mese stampa su libro unico "
FLAGS "MD"
GROUP 2
END
NUMBER ULTIMA_PAGINA 4
BEGIN
PROMPT 2 14 "Ultimo numero di pagina stampata libro unico "
PROMPT 2 12 "Ultimo numero di pagina stampata libro unico "
FLAGS "R"
GROUP 2
END
STRING CODICE_LIBRO_IVA 3
BEGIN
PROMPT 2 15 "Eventuale codice libro IVA "
PROMPT 2 13 "Eventuale codice libro IVA "
HELP "Se non viene indicato nessun cod. libro IVA, vengono stampati tutti i registri delle ditte selezionate"
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
@ -220,13 +215,13 @@ BEGIN
GROUP 2
END
BUTTON DLG_PRINT 9 2
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END

View File

@ -75,9 +75,9 @@ BEGIN
FLAGS "R"
END
SPREADSHEET F_SHEET_PLA 75 6
SPREADSHEET F_SHEET_PLA 78 6
BEGIN
PROMPT 4 10 "Parametri attivita'"
PROMPT 1 10 "Parametri attivita'"
ITEM "Attivita'"
ITEM "Tipo"
ITEM "Pro-rata@15"
@ -113,14 +113,14 @@ END
LIST F_TIPOATT 26
BEGIN
PROMPT 4 3 "Tipo "
FLAGS "R"
FLAGS "U"
ITEM " |Altre"
ITEM "M|Mista"
ITEM "E|Mista evidenziata"
ITEM "S|Servizio o mista generica"
END
NUMBER F_PRORATA 15 0
NUMBER F_PRORATA 15
BEGIN
PROMPT 4 5 "Pro-Rata "
PICTURE "."
@ -128,7 +128,7 @@ BEGIN
GROUP 1
END
NUMBER F_P8 15 0
NUMBER F_P8 15
BEGIN
PROMPT 4 7 "Plafond art. 8 "
PICTURE "."
@ -136,7 +136,7 @@ BEGIN
GROUP 1
END
NUMBER F_P8B 15 0
NUMBER F_P8B 15
BEGIN
PROMPT 4 9 "Plafond art. 8b "
PICTURE "."
@ -144,7 +144,7 @@ BEGIN
GROUP 1
END
NUMBER F_P9 15 0
NUMBER F_P9 15
BEGIN
PROMPT 4 11 "Plafond art. 9 "
PICTURE "."

View File

@ -33,6 +33,7 @@ public:
const TBill& add_to(TToken_string& ts, int from, int mode = 0);
virtual bool ok() const; // Gruppo, Conto e Sottoconto non nulli
bool empty() const { return _gruppo==0 && _conto==0 && _sottoconto == 0; }
char tipo() const { return _tipo; }
int gruppo() const { return _gruppo; }