Corrrzioni guido (da commentare)
git-svn-id: svn://10.65.10.50/trunk@388 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8a2c77f75c
commit
41cac87df5
@ -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
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -74,6 +74,7 @@ BEGIN
|
||||
DISPLAY "Denominazione@50" DENCOM
|
||||
OUTPUT O_COMUNE COM
|
||||
OUTPUT O_DENCOM DENCOM
|
||||
OUTPUT O_CAP CAPCOM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
const TipoIVA i = app().iva();
|
||||
if (i != nessuna_iva)
|
||||
if (key == K_TAB || key == K_ENTER)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const short id = f.dlg();
|
||||
const short clifo = id + (i == iva_vendite ? 101 : 201);
|
||||
if (!m.field(clifo).enabled())
|
||||
if (m.get(115)[0] == 'T')
|
||||
{
|
||||
char cf = m.get(id-2)[0];
|
||||
if (cf != app().clifo())
|
||||
return error_box("Tipo di conto incongruente col tipo di registrazione");
|
||||
const char cf = m.get(f.dlg()-2)[0];
|
||||
char tipo = app().clifo();
|
||||
if (app().causale().corrispettivi()) tipo = ' ';
|
||||
if (cf != tipo)
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
169
cg/cg4400.cpp
169
cg/cg4400.cpp
@ -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);
|
||||
for (int j = 0; j < dit.items(); j++)
|
||||
sel.set(j, dit.checked(j));
|
||||
}
|
||||
app()._selected |= selected;
|
||||
selected.reset();
|
||||
}
|
||||
long numd = app()._selected.ones();
|
||||
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;
|
||||
|
||||
|
51
cg/cg4400.h
51
cg/cg4400.h
@ -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;
|
||||
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;
|
||||
TArray_sheet *_ditte;
|
||||
|
||||
TBit_array _selected;
|
||||
TArray _nomiditte; //array descrizioni ditte per sheet
|
||||
TArray_sheet *_ditte;
|
||||
|
||||
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() {}
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 "."
|
||||
|
@ -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; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user