Patch level : 12.00 1360

Files correlati     : cg0.exe cg1.exe cg1300l.msk

Commento:
Aggiunto il flag  OnlyOnePaIV nel paragrafo cg ddi ditta.ini per bloccare l'inserimento dei clienti/fornitori per gli utenti che non sono supervisori.
Nella stampa del bilancio avanzata aggiunta la possibilità di stampare solo gruppi o solo i conti.
Risistemato il controllo clienti/fornitori.
This commit is contained in:
Alessandro Bonazzi 2024-10-09 10:43:22 +02:00
parent 2df1e5348b
commit a0bf99ffb6
3 changed files with 67 additions and 34 deletions

View File

@ -6,8 +6,8 @@
#define S_DIRTY 101
#define S_CODCF 102
#define S_RAGSOC 103
#define S_PAIV 104
#define S_COFI 105
#define S_ALLEG 106
#define S_SOSPESO 107
#define S_SOSPESO 104
#define S_PAIV 105
#define S_COFI 106
#define S_ALLEG 107
#define S_ERROR 108

View File

@ -38,10 +38,10 @@ BEGIN
ITEM "@1"
ITEM "Codice@7"
ITEM "Ragione Sociale@50"
ITEM "Sospeso"
ITEM "Partita IVA"
ITEM "Codice Fiscale@16"
ITEM "Allegato@28"
ITEM "Sospeso"
ITEM "Problema riscontrato@50"
END
@ -70,7 +70,7 @@ END
BOOLEAN S_SOSPESO
BEGIN
PROMPT 1 6 "Sospeso"
PROMPT 1 3 "Sospeso"
END
STRING S_PAIV 12
@ -88,17 +88,21 @@ BEGIN
PROMPT -1 4 "Allinea"
END
LIST_BOX S_ALLEG 1 28
LISTBOX S_ALLEG 1 28
BEGIN
PROMPT 1 6 "Allegato "
ITEM "0|Valido per allegato IVA"
ITEM "1|Non valido per allegato IVA"
ITEM "2|Occasionale"
ITEM "3|Documenti riepilogativi"
ITEM "4|Codice fiscale già inserito"
ITEM "5|Estero CEE"
ITEM "6|Privato"
ITEM "7|Ente pubblico"
ITEM "0|Valido per allegato IVA"
ITEM "1|Non valido per allegato IVA"
ITEM "2|Occasionale"
ITEM "3|Documenti riepilogativi"
ITEM "4|Codice fiscale già inserito"
ITEM "5|Estero CEE"
ITEM "6|Privato"
ITEM "7|Ente pubblico"
ITEM "8|Fallimento/proc.concorsuale"
ITEM "9|Estero NON CEE"
ITEM "C|Scheda carburante"
ITEM "G|Gruppo IVA"
END
MEMO S_ERROR 50 3

View File

@ -15,6 +15,9 @@
class TCheck_PIVA_mask : public TAutomask
{
TToken_string _row;
int _last_row;
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
@ -25,7 +28,7 @@ protected:
public:
TCheck_PIVA_mask() : TAutomask("cg1300l") {}
TCheck_PIVA_mask() : TAutomask("cg1300l"), _last_row(0) {}
};
// Carica lo sheet in base alle impostazioni correnti (F_CLIFO, F_COFI)
@ -133,6 +136,8 @@ void TCheck_PIVA_mask::load_sheet()
}
}
s.force_update();
_row = s.items() > 0 ? s.row(0) : EMPTY_STRING;
_last_row = 0;
}
// Salva le righe spuntate dello sheet
@ -216,6 +221,21 @@ bool TCheck_PIVA_mask::on_field_event(TOperable_field& o, TField_event e, long j
s.force_update();
}
break;
case F_CLIFO:
if (e == se_query_modify || e == se_enter)
{
TSheet_field& s = sfield(F_CLIFO);
int r = s.selected();
if (_last_row != r && _row != s.row(_last_row))
{
s.set_row_cell(S_DIRTY, true, _last_row);
s.force_update(_last_row);
}
_row = s.row(r);
_last_row = r;
}
break;
case DLG_SAVEREC:
if (e == fe_button)
{
@ -229,32 +249,31 @@ bool TCheck_PIVA_mask::on_field_event(TOperable_field& o, TField_event e, long j
case S_PAIV:
if (e == fe_modify)
{
if (pi_check("", o.get()))
dirty_sheet_row();
else
return o.error_box("Partita IVA errata");
if (!pi_check("", o.get()))
return o.error_box("Partita IVA errata");
}
break;
case S_COFI:
if (e == fe_modify)
{
if (cf_check("", o.get()))
dirty_sheet_row();
else
return o.error_box("Codice fiscale errato");
if (!cf_check("", o.get()))
return o.error_box("Codice fiscale errato");
}
break;
case S_ALLEG:
if (e == fe_modify)
dirty_sheet_row();
break;
case S_SOSPESO:
if (e == fe_modify)
dirty_sheet_row();
{
TSheet_field& s = sfield(F_CLIFO);
int r = s.selected();
s.set_row_cell(S_SOSPESO, o.get_bool(), r);
s.force_update(r);
}
break;
case DLG_USER:
if (e == fe_button)
{
TSheet_field& s = sfield(F_CLIFO);
TMask& m = o.mask();
TLocalisamfile clifo(LF_CLIFO); // Riempio la chiave 1 di CLIFO
@ -264,10 +283,20 @@ bool TCheck_PIVA_mask::on_field_event(TOperable_field& o, TField_event e, long j
{
if (clifo.read() == NOERR) // Se riesco a rileggerlo ...
{
m.set(S_RAGSOC, clifo.get(CLI_RAGSOC)); // aggiorno la ragione sociale,
m.set(S_COFI, clifo.get(CLI_COFI)); // il codice fiscale
m.set(S_PAIV, clifo.get(CLI_PAIV)); // e la partita IVA
dirty_sheet_row();
int r = s.selected();
s.set_row_cell(S_RAGSOC, clifo.get(CLI_RAGSOC), r); // aggiorno la ragione sociale,
s.set_row_cell(S_COFI, clifo.get(CLI_COFI), r); // il codice fiscale
s.set_row_cell(S_PAIV, clifo.get(CLI_PAIV), r); // la partita IVA
TString4 alleg = clifo.get(CLI_ALLEG);
if (alleg.blank())
alleg = "0";
s.set_row_cell(S_ALLEG, alleg, r); // l'allegato
s.set_row_cell(S_SOSPESO, clifo.get(CLI_SOSPESO), r); // il sospeso
s.force_update(r);
}
}
}