Corretta barratura del libro giornale (spero)
Corretta gestione anno di esercizio nella maschera di query in prima nota Aggiornata stampa deleghe IVA coi nuovi moduli git-svn-id: svn://10.65.10.50/trunk@1526 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b72d034963
commit
fb9082e9ed
@ -21,10 +21,10 @@ class TStampa_deleghe_IVA : public TApplication
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza, _concessione;
|
||||
|
||||
TString16 _profilo;
|
||||
long _codice;
|
||||
TString16 _profilo; // Profilo base
|
||||
long _codice; // Codice profilo
|
||||
|
||||
bool _stampa_distinte, _aggiorna_codici, _definitiva, _contofis;
|
||||
bool _stampa_distinte, _aggiorna_codici, _definitiva;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
@ -32,6 +32,7 @@ protected:
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
char frequenza_versamenti(long firm, int year) const;
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
@ -80,6 +81,7 @@ int TStampa_deleghe_IVA::select()
|
||||
m.set(F_CAB, _dipendenza);
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
@ -90,11 +92,10 @@ int TStampa_deleghe_IVA::select()
|
||||
_definitiva = m.get_bool(F_DEFINITIVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
_contofis = m.get_bool(F_CONTOFIS);
|
||||
|
||||
_profilo = "del";
|
||||
if (_contofis) _profilo << "titcf";
|
||||
_codice = m.get_long(F_PROFILO);
|
||||
_profilo = m.get(F_PROFILO);
|
||||
_codice = m.get_long(F_CODICE);
|
||||
const bool contofis = _profilo != "DEL";
|
||||
|
||||
const TDate pd(m.get(F_DATA));
|
||||
printer().setdate(pd);
|
||||
@ -119,7 +120,7 @@ int TStampa_deleghe_IVA::select()
|
||||
if (_concessione.not_empty() && _concessione != con) continue;
|
||||
|
||||
const bool cf = anag.get_bool("TITCF");
|
||||
if (_contofis != cf) continue;
|
||||
if (contofis != cf) continue;
|
||||
|
||||
const long dit = _nditte->lfile().get_long("CODDITTA");
|
||||
chiave.format("%05ld%04d%02d%d", dit, _anno, _mese, _tipo);
|
||||
@ -172,16 +173,20 @@ bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
bool ok = yesno_box("Inserire il modulo prefincato nella stampante "
|
||||
"e confermare la stampa delle deleghe");
|
||||
if (ok)
|
||||
{
|
||||
const bool ok = yesno_box("Inserire il modulo di carta nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
ok = yesno_box("Inserire il modulo in carta bianca nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
@ -195,6 +200,7 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
_banche->put("CODTAB", codban);
|
||||
_banche->read();
|
||||
CHECK(_banche->status() == NOERR, "E' sparita nel nulla la banca");
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
@ -283,10 +289,34 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
printer().close();
|
||||
}
|
||||
|
||||
|
||||
// Calcola frequenza dei versamenti IVA di una ditta
|
||||
// Certified 99%
|
||||
char TStampa_deleghe_IVA::frequenza_versamenti(long firm, int year) const
|
||||
{
|
||||
char freq = 'M';
|
||||
|
||||
TString16 key; key.format("%05ld%d", firm, year);
|
||||
TTable lia("%LIA");
|
||||
lia.put("CODTAB", key);
|
||||
if (lia.read() != NOERR)
|
||||
{
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
nditte.put("CODDITTA", firm);
|
||||
nditte.read();
|
||||
freq = nditte.get_char("FREQVIVA");
|
||||
}
|
||||
else
|
||||
freq = lia.get_char("S7");
|
||||
CHECK(freq == 'M' || freq == 'T', "Frequenza versamenti IVA assurda");
|
||||
|
||||
return freq;
|
||||
}
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TForm f(_profilo, _codice);
|
||||
|
||||
@ -299,37 +329,79 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
TToken_string& r = _ditte->row(i);
|
||||
|
||||
const long d = r.get_long(1);
|
||||
chiave.format("%05ld%04d%02d%d", d, _anno, _mese, _tipo);
|
||||
const long firm = r.get_long(1);
|
||||
chiave.format("%05ld%04d%02d%d", firm, _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
cur.read(); // Posiziona il cursore
|
||||
const bool cera = delega.get_int("S7") != 0;
|
||||
if (!cera)
|
||||
|
||||
const bool cera_abi = _azienda.empty() || delega.get("S7").not_empty();
|
||||
if (!cera_abi)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
delega.put("S9", r.get(7));
|
||||
delega.rewrite();
|
||||
cur.repos(); // Riposiziona il cursore
|
||||
}
|
||||
|
||||
const bool cera_conc = (*r.get(7) <= ' ') || delega.get("S9").not_empty();
|
||||
if (!cera_conc)
|
||||
delega.put("S9", r.get(7)); // Concessione
|
||||
|
||||
const bool cera_tribu = delega.get("S6").not_empty();
|
||||
if (!cera_tribu) // Metti codice tributo
|
||||
{
|
||||
TString16 tributo;
|
||||
switch(_tipo)
|
||||
{
|
||||
case 1:
|
||||
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||
tributo << "603" << ((_mese-1)/3+1);
|
||||
else
|
||||
tributo << format("%02d", _mese);
|
||||
break;
|
||||
case 2:
|
||||
tributo = "6099"; // Annuale
|
||||
break;
|
||||
case 7:
|
||||
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||
tributo = "6035";
|
||||
else
|
||||
tributo = "6013";
|
||||
break;
|
||||
default:
|
||||
tributo = "";
|
||||
break;
|
||||
}
|
||||
delega.put("S6", tributo);
|
||||
}
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
bool scrivi = _aggiorna_codici && (!cera_abi || !cera_conc || !cera_tribu);
|
||||
|
||||
if (_definitiva)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
delega.put("S9", "");
|
||||
scrivi = TRUE;
|
||||
if (!_aggiorna_codici) // Cancella codici se non richiesti
|
||||
{
|
||||
if (!cera_abi)
|
||||
{
|
||||
delega.zero("S7");
|
||||
delega.zero("S8");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!cera_conc)
|
||||
{
|
||||
delega.zero("S9");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!cera_tribu)
|
||||
{
|
||||
delega.zero("S6");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
}
|
||||
if (scrivi)
|
||||
delega.rewrite();
|
||||
|
@ -1,19 +1,19 @@
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
|
||||
#define F_CONCESSIONE 120
|
||||
#define F_DESC_CONC 121
|
||||
#define F_SOLO_ABI 122
|
||||
#define F_SOLO_CAB 123
|
||||
#define F_DESC_SOLO_BAN 125
|
||||
#define F_CONTOFIS 126
|
||||
#define F_PROFILO 127
|
||||
#define F_CODICE 127
|
||||
#define F_PROFILO 128
|
||||
|
||||
|
@ -2,14 +2,41 @@
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 72 16
|
||||
|
||||
LIST F_PROFILO 8 16
|
||||
BEGIN
|
||||
PROMPT 1 1 "Stampa "
|
||||
ITEM "DEL|Delega"
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,1@|ENABLE,2@
|
||||
ITEM "DELTITCF|Delega C.F."
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
ITEM "DISTITCF|Distinta C.F."
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
ITEM "BOLTITCF|Bollettino C.F."
|
||||
MESSAGE CLEAR,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
END
|
||||
|
||||
NUMBER F_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 53 1 "Profilo "
|
||||
USE LF_FORM
|
||||
INPUT TIPOPROF F_PROFILO SELECT
|
||||
INPUT CODPROF F_CODICE
|
||||
DISPLAY "Tipo@8" TIPOPROF
|
||||
DISPLAY "Codice@8" CODPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_CODICE CODPROF
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Stampa solo"
|
||||
PROMPT 1 2 "Stampa solo"
|
||||
END
|
||||
|
||||
NUMBER F_CONCESSIONE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Concessione "
|
||||
PROMPT 2 3 "Concessione "
|
||||
HELP "Codice concessione in cui hanno residenza fiscale le ditte da gestire"
|
||||
USE %UCC
|
||||
FLAGS "Z"
|
||||
@ -19,22 +46,24 @@ BEGIN
|
||||
OUTPUT F_CONCESSIONE CODTAB
|
||||
OUTPUT F_DESC_CONC S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DESC_CONC 30
|
||||
BEGIN
|
||||
PROMPT 24 2 "Descrizione "
|
||||
PROMPT 24 3 "Descrizione "
|
||||
USE %UCC KEY 2
|
||||
INPUT S0 F_DESC_CONC
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CONCESSIONE
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_SOLO_ABI 5
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice ABI "
|
||||
PROMPT 2 4 "Codice ABI "
|
||||
HELP "Codice ABI della banca delle deleghe da stampare"
|
||||
FLAGS "Z"
|
||||
USE %BAN
|
||||
@ -47,20 +76,22 @@ BEGIN
|
||||
OUTPUT F_SOLO_CAB CODTAB[6,10]
|
||||
OUTPUT F_DESC_SOLO_BAN S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_SOLO_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 3 "Codice CAB "
|
||||
PROMPT 50 4 "Codice CAB "
|
||||
HELP "Codice CAB della banca delle deleghe da stampare"
|
||||
FLAGS "Z"
|
||||
COPY ALL F_SOLO_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC_SOLO_BAN 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Denominazione "
|
||||
PROMPT 2 5 "Denominazione "
|
||||
USE %BAN KEY 2
|
||||
INPUT S0 F_DESC_SOLO_BAN
|
||||
DISPLAY "Denominazione@50" S0
|
||||
@ -68,16 +99,17 @@ BEGIN
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
COPY OUTPUT F_SOLO_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 4
|
||||
BEGIN
|
||||
PROMPT 1 6 "Intesta deleghe a"
|
||||
PROMPT 1 7 "Intesta deleghe a"
|
||||
END
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice ABI "
|
||||
PROMPT 2 8 "Codice ABI "
|
||||
HELP "Codice ABI della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
USE %BAN SELECT CODTAB[6,10]?="?????"
|
||||
@ -88,38 +120,41 @@ BEGIN
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
OUTPUT F_DESC_BAN S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 7 "Codice CAB "
|
||||
PROMPT 50 8 "Codice CAB "
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
COPY ALL F_ABI
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "E' richiesto un codice CAB valido"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC_BAN 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Denominazione "
|
||||
PROMPT 2 9 "Denominazione "
|
||||
USE %BAN KEY 2 SELECT CODTAB[6,10]?="?????"
|
||||
INPUT S0 F_DESC_BAN
|
||||
COPY DISPLAY F_DESC_SOLO_BAN
|
||||
COPY OUTPUT F_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 10 "Anno "
|
||||
PROMPT 2 11 "Anno "
|
||||
HELP "Anno di cui si vogliono stampare le deleghe"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 2 11
|
||||
BEGIN
|
||||
PROMPT 18 10 "Mese "
|
||||
PROMPT 18 11 "Mese "
|
||||
HELP "Mese di cui si vogliono stampare le deleghe"
|
||||
FLAGS "AM"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
@ -127,7 +162,7 @@ END
|
||||
|
||||
LIST F_TIPO 1 24
|
||||
BEGIN
|
||||
PROMPT 2 11 "Tipo "
|
||||
PROMPT 2 12 "Tipo "
|
||||
HELP "Tipo di delega da stampare"
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
@ -139,38 +174,26 @@ END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 2 12 "Data "
|
||||
PROMPT 2 13 "Data "
|
||||
HELP "Data da stampare sulle deleghe"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
STRING F_PROFILO 5
|
||||
BEGIN
|
||||
PROMPT 2 13 "Profilo "
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 43 10 "Aggiorna codici banca"
|
||||
PROMPT 43 11 "Aggiorna codici banca"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 43 11 "Stampa distinta deleghe"
|
||||
PROMPT 43 12 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BOOLEAN F_DEFINITIVA
|
||||
BEGIN
|
||||
PROMPT 43 12 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BOOLEAN F_CONTOFIS
|
||||
BEGIN
|
||||
PROMPT 43 13 "Titolari Conto fiscale"
|
||||
PROMPT 43 13 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
|
130
cg/cg1400.cpp
130
cg/cg1400.cpp
@ -21,10 +21,10 @@ class TStampa_deleghe_IVA : public TApplication
|
||||
int _mese, _anno, _tipo;
|
||||
TString16 _azienda, _dipendenza, _concessione;
|
||||
|
||||
TString16 _profilo;
|
||||
long _codice;
|
||||
TString16 _profilo; // Profilo base
|
||||
long _codice; // Codice profilo
|
||||
|
||||
bool _stampa_distinte, _aggiorna_codici, _definitiva, _contofis;
|
||||
bool _stampa_distinte, _aggiorna_codici, _definitiva;
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
@ -32,6 +32,7 @@ protected:
|
||||
virtual bool menu(MENU_TAG);
|
||||
virtual void print();
|
||||
|
||||
char frequenza_versamenti(long firm, int year) const;
|
||||
int select();
|
||||
bool print_deleghe();
|
||||
void print_distinta();
|
||||
@ -80,6 +81,7 @@ int TStampa_deleghe_IVA::select()
|
||||
m.set(F_CAB, _dipendenza);
|
||||
if (m.run() != K_ENTER)
|
||||
return 0;
|
||||
|
||||
_azienda = m.get(F_ABI);
|
||||
_dipendenza = m.get(F_CAB);
|
||||
|
||||
@ -90,11 +92,10 @@ int TStampa_deleghe_IVA::select()
|
||||
_definitiva = m.get_bool(F_DEFINITIVA);
|
||||
_stampa_distinte = m.get_bool(F_DISTINTA);
|
||||
_aggiorna_codici = m.get_bool(F_AGGIORNA);
|
||||
_contofis = m.get_bool(F_CONTOFIS);
|
||||
|
||||
_profilo = "del";
|
||||
if (_contofis) _profilo << "titcf";
|
||||
_codice = m.get_long(F_PROFILO);
|
||||
_profilo = m.get(F_PROFILO);
|
||||
_codice = m.get_long(F_CODICE);
|
||||
const bool contofis = _profilo != "DEL";
|
||||
|
||||
const TDate pd(m.get(F_DATA));
|
||||
printer().setdate(pd);
|
||||
@ -119,7 +120,7 @@ int TStampa_deleghe_IVA::select()
|
||||
if (_concessione.not_empty() && _concessione != con) continue;
|
||||
|
||||
const bool cf = anag.get_bool("TITCF");
|
||||
if (_contofis != cf) continue;
|
||||
if (contofis != cf) continue;
|
||||
|
||||
const long dit = _nditte->lfile().get_long("CODDITTA");
|
||||
chiave.format("%05ld%04d%02d%d", dit, _anno, _mese, _tipo);
|
||||
@ -172,16 +173,20 @@ bool TStampa_deleghe_IVA::menu(MENU_TAG)
|
||||
|
||||
void TStampa_deleghe_IVA::print()
|
||||
{
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
bool ok = yesno_box("Inserire il modulo prefincato nella stampante "
|
||||
"e confermare la stampa delle deleghe");
|
||||
if (ok)
|
||||
{
|
||||
const bool ok = yesno_box("Inserire il modulo di carta nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
print_deleghe();
|
||||
if (_stampa_distinte)
|
||||
{
|
||||
ok = yesno_box("Inserire il modulo in carta bianca nella stampante "
|
||||
"e confermare la stampa della distinta");
|
||||
if (ok) print_distinta();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TStampa_deleghe_IVA::print_distinta()
|
||||
{
|
||||
enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78,
|
||||
@ -195,6 +200,7 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
codban = _azienda; codban << _dipendenza;
|
||||
_banche->put("CODTAB", codban);
|
||||
_banche->read();
|
||||
CHECK(_banche->status() == NOERR, "E' sparita nel nulla la banca");
|
||||
}
|
||||
|
||||
TPrintrow row;
|
||||
@ -283,10 +289,34 @@ void TStampa_deleghe_IVA::print_distinta()
|
||||
printer().close();
|
||||
}
|
||||
|
||||
|
||||
// Calcola frequenza dei versamenti IVA di una ditta
|
||||
// Certified 99%
|
||||
char TStampa_deleghe_IVA::frequenza_versamenti(long firm, int year) const
|
||||
{
|
||||
char freq = 'M';
|
||||
|
||||
TString16 key; key.format("%05ld%d", firm, year);
|
||||
TTable lia("%LIA");
|
||||
lia.put("CODTAB", key);
|
||||
if (lia.read() != NOERR)
|
||||
{
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
nditte.put("CODDITTA", firm);
|
||||
nditte.read();
|
||||
freq = nditte.get_char("FREQVIVA");
|
||||
}
|
||||
else
|
||||
freq = lia.get_char("S7");
|
||||
CHECK(freq == 'M' || freq == 'T', "Frequenza versamenti IVA assurda");
|
||||
|
||||
return freq;
|
||||
}
|
||||
|
||||
|
||||
bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
bool ok = printer().open();
|
||||
if (!ok) return FALSE;
|
||||
|
||||
TForm f(_profilo, _codice);
|
||||
|
||||
@ -299,37 +329,79 @@ bool TStampa_deleghe_IVA::print_deleghe()
|
||||
{
|
||||
TToken_string& r = _ditte->row(i);
|
||||
|
||||
const long d = r.get_long(1);
|
||||
chiave.format("%05ld%04d%02d%d", d, _anno, _mese, _tipo);
|
||||
const long firm = r.get_long(1);
|
||||
chiave.format("%05ld%04d%02d%d", firm, _anno, _mese, _tipo);
|
||||
delega.put("CODTAB", chiave);
|
||||
|
||||
cur.read(); // Posiziona il cursore
|
||||
const bool cera = delega.get_int("S7") != 0;
|
||||
if (!cera)
|
||||
|
||||
const bool cera_abi = _azienda.empty() || delega.get("S7").not_empty();
|
||||
if (!cera_abi)
|
||||
{
|
||||
delega.put("S7", _azienda);
|
||||
delega.put("S8", _dipendenza);
|
||||
delega.put("S9", r.get(7));
|
||||
delega.rewrite();
|
||||
cur.repos(); // Riposiziona il cursore
|
||||
}
|
||||
|
||||
const bool cera_conc = (*r.get(7) <= ' ') || delega.get("S9").not_empty();
|
||||
if (!cera_conc)
|
||||
delega.put("S9", r.get(7)); // Concessione
|
||||
|
||||
const bool cera_tribu = delega.get("S6").not_empty();
|
||||
if (!cera_tribu) // Metti codice tributo
|
||||
{
|
||||
TString16 tributo;
|
||||
switch(_tipo)
|
||||
{
|
||||
case 1:
|
||||
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||
tributo << "603" << ((_mese-1)/3+1);
|
||||
else
|
||||
tributo << format("%02d", _mese);
|
||||
break;
|
||||
case 2:
|
||||
tributo = "6099"; // Annuale
|
||||
break;
|
||||
case 7:
|
||||
if (frequenza_versamenti(firm, _anno) == 'T')
|
||||
tributo = "6035";
|
||||
else
|
||||
tributo = "6013";
|
||||
break;
|
||||
default:
|
||||
tributo = "";
|
||||
break;
|
||||
}
|
||||
delega.put("S6", tributo);
|
||||
}
|
||||
|
||||
ok = f.print(-1); // Stampa solo il record corrente
|
||||
if (!ok) break;
|
||||
|
||||
bool scrivi = _aggiorna_codici && !cera;
|
||||
bool scrivi = _aggiorna_codici && (!cera_abi || !cera_conc || !cera_tribu);
|
||||
|
||||
if (_definitiva)
|
||||
{
|
||||
delega.put("B0", "X"); // Stampato
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto
|
||||
{
|
||||
delega.put("S7", "");
|
||||
delega.put("S8", "");
|
||||
delega.put("S9", "");
|
||||
scrivi = TRUE;
|
||||
if (!_aggiorna_codici) // Cancella codici se non richiesti
|
||||
{
|
||||
if (!cera_abi)
|
||||
{
|
||||
delega.zero("S7");
|
||||
delega.zero("S8");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!cera_conc)
|
||||
{
|
||||
delega.zero("S9");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
if (!cera_tribu)
|
||||
{
|
||||
delega.zero("S6");
|
||||
scrivi = TRUE;
|
||||
}
|
||||
}
|
||||
if (scrivi)
|
||||
delega.rewrite();
|
||||
|
24
cg/cg1400.h
24
cg/cg1400.h
@ -1,19 +1,19 @@
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
#define F_ABI 101
|
||||
#define F_CAB 102
|
||||
#define F_DESC_BAN 103
|
||||
#define F_DATA 104
|
||||
#define F_TIPO 105
|
||||
#define F_ANNO 106
|
||||
#define F_MESE 107
|
||||
#define F_AGGIORNA 108
|
||||
#define F_DISTINTA 109
|
||||
#define F_DEFINITIVA 110
|
||||
|
||||
#define F_CONCESSIONE 120
|
||||
#define F_DESC_CONC 121
|
||||
#define F_SOLO_ABI 122
|
||||
#define F_SOLO_CAB 123
|
||||
#define F_DESC_SOLO_BAN 125
|
||||
#define F_CONTOFIS 126
|
||||
#define F_PROFILO 127
|
||||
#define F_CODICE 127
|
||||
#define F_PROFILO 128
|
||||
|
||||
|
@ -2,14 +2,41 @@
|
||||
|
||||
PAGE "STAMPA DELEGHE IVA" -1 -1 72 16
|
||||
|
||||
LIST F_PROFILO 8 16
|
||||
BEGIN
|
||||
PROMPT 1 1 "Stampa "
|
||||
ITEM "DEL|Delega"
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,1@|ENABLE,2@
|
||||
ITEM "DELTITCF|Delega C.F."
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
ITEM "DISTITCF|Distinta C.F."
|
||||
MESSAGE ENABLE,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
ITEM "BOLTITCF|Bollettino C.F."
|
||||
MESSAGE CLEAR,F_CODICE|CLEAR,2@|ENABLE,1@
|
||||
END
|
||||
|
||||
NUMBER F_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 53 1 "Profilo "
|
||||
USE LF_FORM
|
||||
INPUT TIPOPROF F_PROFILO SELECT
|
||||
INPUT CODPROF F_CODICE
|
||||
DISPLAY "Tipo@8" TIPOPROF
|
||||
DISPLAY "Codice@8" CODPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_CODICE CODPROF
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Stampa solo"
|
||||
PROMPT 1 2 "Stampa solo"
|
||||
END
|
||||
|
||||
NUMBER F_CONCESSIONE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Concessione "
|
||||
PROMPT 2 3 "Concessione "
|
||||
HELP "Codice concessione in cui hanno residenza fiscale le ditte da gestire"
|
||||
USE %UCC
|
||||
FLAGS "Z"
|
||||
@ -19,22 +46,24 @@ BEGIN
|
||||
OUTPUT F_CONCESSIONE CODTAB
|
||||
OUTPUT F_DESC_CONC S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DESC_CONC 30
|
||||
BEGIN
|
||||
PROMPT 24 2 "Descrizione "
|
||||
PROMPT 24 3 "Descrizione "
|
||||
USE %UCC KEY 2
|
||||
INPUT S0 F_DESC_CONC
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CONCESSIONE
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_SOLO_ABI 5
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice ABI "
|
||||
PROMPT 2 4 "Codice ABI "
|
||||
HELP "Codice ABI della banca delle deleghe da stampare"
|
||||
FLAGS "Z"
|
||||
USE %BAN
|
||||
@ -47,20 +76,22 @@ BEGIN
|
||||
OUTPUT F_SOLO_CAB CODTAB[6,10]
|
||||
OUTPUT F_DESC_SOLO_BAN S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_SOLO_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 3 "Codice CAB "
|
||||
PROMPT 50 4 "Codice CAB "
|
||||
HELP "Codice CAB della banca delle deleghe da stampare"
|
||||
FLAGS "Z"
|
||||
COPY ALL F_SOLO_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC_SOLO_BAN 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Denominazione "
|
||||
PROMPT 2 5 "Denominazione "
|
||||
USE %BAN KEY 2
|
||||
INPUT S0 F_DESC_SOLO_BAN
|
||||
DISPLAY "Denominazione@50" S0
|
||||
@ -68,16 +99,17 @@ BEGIN
|
||||
DISPLAY "Dipendenza" CODTAB[6,10]
|
||||
COPY OUTPUT F_SOLO_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 4
|
||||
BEGIN
|
||||
PROMPT 1 6 "Intesta deleghe a"
|
||||
PROMPT 1 7 "Intesta deleghe a"
|
||||
END
|
||||
|
||||
NUMBER F_ABI 5
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice ABI "
|
||||
PROMPT 2 8 "Codice ABI "
|
||||
HELP "Codice ABI della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
USE %BAN SELECT CODTAB[6,10]?="?????"
|
||||
@ -88,38 +120,41 @@ BEGIN
|
||||
OUTPUT F_CAB CODTAB[6,10]
|
||||
OUTPUT F_DESC_BAN S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 7 "Codice CAB "
|
||||
PROMPT 50 8 "Codice CAB "
|
||||
HELP "Codice CAB della banca per la presentazione della delega"
|
||||
FLAGS "Z"
|
||||
COPY ALL F_ABI
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "E' richiesto un codice CAB valido"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC_BAN 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Denominazione "
|
||||
PROMPT 2 9 "Denominazione "
|
||||
USE %BAN KEY 2 SELECT CODTAB[6,10]?="?????"
|
||||
INPUT S0 F_DESC_BAN
|
||||
COPY DISPLAY F_DESC_SOLO_BAN
|
||||
COPY OUTPUT F_ABI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 10 "Anno "
|
||||
PROMPT 2 11 "Anno "
|
||||
HELP "Anno di cui si vogliono stampare le deleghe"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
LIST F_MESE 2 11
|
||||
BEGIN
|
||||
PROMPT 18 10 "Mese "
|
||||
PROMPT 18 11 "Mese "
|
||||
HELP "Mese di cui si vogliono stampare le deleghe"
|
||||
FLAGS "AM"
|
||||
ITEM "13|Annuale" MESSAGE "2",F_TIPO
|
||||
@ -127,7 +162,7 @@ END
|
||||
|
||||
LIST F_TIPO 1 24
|
||||
BEGIN
|
||||
PROMPT 2 11 "Tipo "
|
||||
PROMPT 2 12 "Tipo "
|
||||
HELP "Tipo di delega da stampare"
|
||||
ITEM "1|Periodica" MESSAGE ENABLE,F_MESE
|
||||
ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE
|
||||
@ -139,38 +174,26 @@ END
|
||||
|
||||
DATA F_DATA
|
||||
BEGIN
|
||||
PROMPT 2 12 "Data "
|
||||
PROMPT 2 13 "Data "
|
||||
HELP "Data da stampare sulle deleghe"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
STRING F_PROFILO 5
|
||||
BEGIN
|
||||
PROMPT 2 13 "Profilo "
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BOOLEAN F_AGGIORNA
|
||||
BEGIN
|
||||
PROMPT 43 10 "Aggiorna codici banca"
|
||||
PROMPT 43 11 "Aggiorna codici banca"
|
||||
HELP "Scrive i codici banca sulle deleghe che non li riportano"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTINTA
|
||||
BEGIN
|
||||
PROMPT 43 11 "Stampa distinta deleghe"
|
||||
PROMPT 43 12 "Stampa distinta deleghe"
|
||||
HELP "Stampa un riepilogo su carta normale delle deleghe stampate"
|
||||
END
|
||||
|
||||
BOOLEAN F_DEFINITIVA
|
||||
BEGIN
|
||||
PROMPT 43 12 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BOOLEAN F_CONTOFIS
|
||||
BEGIN
|
||||
PROMPT 43 13 "Titolari Conto fiscale"
|
||||
PROMPT 43 13 "Stampa definitiva"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
|
@ -564,9 +564,7 @@ void TPrimanota_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
calcola_saldo(); // Verifica eventuali sbilanci contabili
|
||||
if (iva() != nessuna_iva)
|
||||
calcola_imp(); // Calcola totale imponibile ed imposte
|
||||
else
|
||||
if (iva() == nessuna_iva)
|
||||
_partite.destroy();
|
||||
}
|
||||
|
||||
@ -679,6 +677,7 @@ int TPrimanota_application::read(TMask& m)
|
||||
c.add_to(riga, 4, 0x7); // Conto 105-110
|
||||
}
|
||||
|
||||
calcola_imp(); // Calcola totale imponibile ed imposte
|
||||
TString16 dt(m.get(F_DATAREG));
|
||||
set_pagamento(m.get(F_CODPAG), dt);
|
||||
if (!read_scadenze(m))
|
||||
|
@ -41,6 +41,7 @@
|
||||
#define F_CAMBIO 127
|
||||
#define F_VISVAL 128
|
||||
#define F_PROVVISORIO 129
|
||||
#define F_TIPOMOV 130
|
||||
#define F_OCCASEDIT 131
|
||||
#define F_SOLAIVA 132
|
||||
#define F_CORRLIRE 133
|
||||
|
@ -72,7 +72,7 @@ BEGIN
|
||||
HELP "Codice della causale generante l'operazione"
|
||||
FLAGS "UZ"
|
||||
FIELD CODCAUS
|
||||
USE LF_CAUSALI KEY 1
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CODCAUS
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
@ -81,6 +81,7 @@ BEGIN
|
||||
OUTPUT F_CODCAUS CODCAUS
|
||||
OUTPUT F_DESCRCAUS DESCR
|
||||
OUTPUT F_TIPODOC TIPODOC
|
||||
OUTPUT F_TIPOMOV TIPOMOV
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -4
|
||||
MESSAGE COPY,K_CODCAUS
|
||||
@ -116,6 +117,13 @@ BEGIN
|
||||
MESSAGE COPY,K_TIPODOC
|
||||
END
|
||||
|
||||
NUMBER F_TIPOMOV 1
|
||||
BEGIN
|
||||
PROMPT 32 6 "Tipo movimento "
|
||||
FIELD LF_MOV->TIPOMOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATE F_DATADOC
|
||||
BEGIN
|
||||
PROMPT 1 7 "Data del documento "
|
||||
|
140
cg/cg2100c.uml
140
cg/cg2100c.uml
@ -104,6 +104,7 @@ BEGIN
|
||||
OUTPUT F_DESCRCAUS DESCR
|
||||
OUTPUT F_CODREG REG
|
||||
OUTPUT F_TIPODOC TIPODOC
|
||||
OUTPUT F_TIPOMOV TIPOMOV
|
||||
MESSAGE COPY,H_CODCAUS
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -4
|
||||
@ -141,6 +142,13 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_TIPOMOV 1
|
||||
BEGIN
|
||||
PROMPT 32 6 "Tipo movimento "
|
||||
FIELD LF_MOV->TIPOMOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 57 6 "Documento n. "
|
||||
@ -202,7 +210,7 @@ END
|
||||
|
||||
NUMBER F_RIEPILOGO 5
|
||||
BEGIN
|
||||
PROMPT 31 9 "Riepilogo fino al n. "
|
||||
PROMPT 25 9 "Riepilogo fino al n. "
|
||||
HELP "Numero finale del documento ripilogativo di protocollo IVA"
|
||||
FIELD LF_MOV->UPROTIVA
|
||||
NUM_EXPR {(#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)}
|
||||
@ -317,9 +325,71 @@ BEGIN
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
LIST F_STATOPAIV 16
|
||||
STRING F_COFICLIENTE 16
|
||||
BEGIN
|
||||
PROMPT 1 11 "Partita IVA "
|
||||
PROMPT 1 11 "C.F. "
|
||||
HELP "Codice fiscale del cliente del documento"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "C"
|
||||
INPUT COFI F_COFICLIENTE
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT F_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING F_COFIFORNITORE 16
|
||||
BEGIN
|
||||
PROMPT 1 11 "C.F. "
|
||||
HELP "Codice fiscale del fornitore del documento"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "F"
|
||||
INPUT COFI F_COFIFORNITORE
|
||||
COPY DISPLAY F_COFICLIENTE
|
||||
COPY OUTPUT F_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
STRING F_PIVACLIENTE 12
|
||||
BEGIN
|
||||
PROMPT 28 11 "Partita IVA "
|
||||
HELP "Partita IVA del cliente del documento"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "C"
|
||||
INPUT STATOPAIV F_STATOPAIV
|
||||
INPUT PAIV F_PIVACLIENTE
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT F_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING F_PIVAFORNITORE 12
|
||||
BEGIN
|
||||
PROMPT 28 11 "Partita IVA "
|
||||
HELP "Partita IVA del fornitore del documento"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "F"
|
||||
INPUT STATOPAIV F_STATOPAIV
|
||||
INPUT PAIV F_PIVAFORNITORE
|
||||
COPY DISPLAY F_PIVACLIENTE
|
||||
COPY OUTPUT F_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
LIST F_STATOPAIV 18
|
||||
BEGIN
|
||||
PROMPT 57 11 ""
|
||||
HELP "Codice ISO dello stato per la partita IVA"
|
||||
ITEM " |Italia o extra CEE"
|
||||
ITEM "BE|Belgio"
|
||||
@ -337,70 +407,6 @@ BEGIN
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
||||
STRING F_PIVACLIENTE 14
|
||||
BEGIN
|
||||
PROMPT 34 11 ""
|
||||
HELP "Partita IVA del cliente del documento"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "C"
|
||||
INPUT STATOPAIV F_STATOPAIV
|
||||
INPUT PAIV F_PIVACLIENTE
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT F_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING F_PIVAFORNITORE 14
|
||||
BEGIN
|
||||
PROMPT 34 11 ""
|
||||
HELP "Partita IVA del fornitore del documento"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "F"
|
||||
INPUT STATOPAIV F_STATOPAIV
|
||||
INPUT PAIV F_PIVAFORNITORE
|
||||
COPY DISPLAY F_PIVACLIENTE
|
||||
COPY OUTPUT F_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
STRING F_COFICLIENTE 16
|
||||
BEGIN
|
||||
PROMPT 54 11 "C.F. "
|
||||
HELP "Codice fiscale del cliente del documento"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "C"
|
||||
INPUT COFI F_COFICLIENTE
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT F_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING F_COFIFORNITORE 16
|
||||
BEGIN
|
||||
PROMPT 54 11 "C.F. "
|
||||
HELP "Codice fiscale del fornitore del documento"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "F"
|
||||
INPUT COFI F_COFIFORNITORE
|
||||
COPY DISPLAY F_COFICLIENTE
|
||||
COPY OUTPUT F_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
|
||||
BUTTON F_OCCASEDIT 56
|
||||
BEGIN
|
||||
PROMPT 1 11 "Dati anagrafici del cliente o fornitore occasionale"
|
||||
|
@ -81,11 +81,11 @@ int TMovimentoPN::read_mov_rows()
|
||||
|
||||
int TMovimentoPN::read(TIsamop op, TReclock lockop, TDate& atdate)
|
||||
{
|
||||
int err = file().read(op, lockop, atdate);
|
||||
const int err = TRelation::read(op, lockop, atdate);
|
||||
if (err == NOERR)
|
||||
{
|
||||
_olddate = file().get("DATAREG");
|
||||
read_mov_rows();
|
||||
_olddate = file().get("DATAREG"); // Memorizza data operazione per aggiornare i saldi
|
||||
read_mov_rows(); // Riempie i due record array
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
@ -113,25 +113,22 @@ bool TPrimanota_application::showpartite_handler(TMask_field& f, KEY k)
|
||||
TSheet_field& s = app().cgs();
|
||||
const int sel = s.selected();
|
||||
TToken_string& row = app().cgs().row(sel);
|
||||
if (row_type(row) <= ' ')
|
||||
{
|
||||
const int currig = sel+1;
|
||||
const int currig = sel+1;
|
||||
|
||||
const long curreg = app().curr_mask().get_long(F_NUMREG);
|
||||
TImporto importo; importo = row;
|
||||
TImporto speso = app()._partite.importo_speso(curreg, currig);
|
||||
|
||||
if (importo != speso)
|
||||
{
|
||||
ok = yesno_box("L'importo dei pagamenti %c %s\ne' diverso dall'importo sulla riga %d.\n"
|
||||
"Si desidera correggerlo?", speso.sezione(), speso.valore().string("."), currig);
|
||||
if (ok)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const bool dare = speso.sezione() == 'D';
|
||||
m.set(101, dare ? speso.valore().string() : "");
|
||||
m.set(102, dare ? "" : speso.valore().string());
|
||||
}
|
||||
const long curreg = app().curr_mask().get_long(F_NUMREG);
|
||||
TImporto importo; importo = row;
|
||||
TImporto speso = app()._partite.importo_speso(curreg, currig);
|
||||
|
||||
if (importo != speso)
|
||||
{
|
||||
ok = yesno_box("L'importo dei pagamenti %c %s\ne' diverso dall'importo sulla riga %d.\n"
|
||||
"Si desidera correggerlo?", speso.sezione(), speso.valore().string("."), currig);
|
||||
if (ok)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const bool dare = speso.sezione() == 'D';
|
||||
m.set(101, dare ? speso.valore().string() : "");
|
||||
m.set(102, dare ? "" : speso.valore().string());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -558,7 +555,7 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
return f.error_box("La contropartita della riga %d non e' completa", i+1);
|
||||
empty = FALSE;
|
||||
|
||||
if (app().iva() == nessuna_iva && app().is_saldaconto())
|
||||
if (row_type(r) <= ' ' && app().iva() == nessuna_iva && app().is_saldaconto())
|
||||
{
|
||||
const long numreg = f.mask().get_long(F_NUMREG);
|
||||
const int currig = i+1;
|
||||
@ -1417,7 +1414,7 @@ bool TPrimanota_application::datacomp_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
|
||||
if ((key == K_TAB && m.is_running()) || key == K_ENTER)
|
||||
if (key == K_TAB || key == K_ENTER)
|
||||
{
|
||||
const TDate dr(m.get(F_DATAREG)); // Data operazione
|
||||
|
||||
@ -1450,7 +1447,10 @@ bool TPrimanota_application::datacomp_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
}
|
||||
else
|
||||
return f.error_box("La data %s non appartiene a nessun esercizio", data);
|
||||
{
|
||||
if (m.is_running())
|
||||
return f.error_box("La data %s non appartiene a nessun esercizio", data);
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -201,15 +201,15 @@ void TPrimanota_application::set_scadenze(TMask& m)
|
||||
|
||||
bool TPrimanota_application::read_scadenze(TMask& m)
|
||||
{
|
||||
real imponibile(0.0);
|
||||
real imposta(0.0);
|
||||
real spese(0.0);
|
||||
|
||||
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
||||
|
||||
// should never happen but it doesn't hurt
|
||||
if (_rel->cg(0).empty()) return FALSE;
|
||||
|
||||
const real imponibile(m.get(F_IMPONIBILI));
|
||||
const real imposta(m.get(F_IMPOSTE));
|
||||
const real spese(0.0);
|
||||
|
||||
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
||||
|
||||
m.set(FS_RECALC, "X");
|
||||
|
||||
TPagamento& pag = pagamento();
|
||||
@ -217,28 +217,30 @@ bool TPrimanota_application::read_scadenze(TMask& m)
|
||||
|
||||
TLocalisamfile partita (LF_PARTITE);
|
||||
TLocalisamfile scadenza(LF_SCADENZE);
|
||||
|
||||
const TRectype& testa = _rel->lfile().curr();
|
||||
const long nreg = testa.get_long("NUMREG");
|
||||
const TString16 ndoc(testa.get("NUMDOC"));
|
||||
const int tmov = testa.get_int("TIPOMOV");
|
||||
const TDate ddoc(testa.get_date("DATADOC"));
|
||||
const TDate dreg(testa.get_date("DATAREG"));
|
||||
const TString16 reg (testa.get("REG"));
|
||||
const long protiva = testa.get_long("PROTIVA");
|
||||
const TString16 codcaus(testa.get("CODCAUS"));
|
||||
const TString16 codval (testa.get("CODVAL"));
|
||||
const real cambio(testa.get("CAMBIO"));
|
||||
|
||||
TString nreg(_rel->lfile().get("NUMREG"));
|
||||
TString ndoc(_rel->lfile().get("NUMDOC"));
|
||||
TString tmov(_rel->lfile().get("TIPOMOV"));
|
||||
TDate ddoc(_rel->lfile().get_date("DATADOC"));
|
||||
TDate dreg(_rel->lfile().get_date("DATAREG"));
|
||||
TString reg (_rel->lfile().get("REG"));
|
||||
TString protiva(_rel->lfile().get("PROTIVA"));
|
||||
TString codcaus(_rel->lfile().get("CODCAUS"));
|
||||
TString codval (_rel->lfile().get("CODVAL"));
|
||||
TString cambio (_rel->lfile().get("CAMBIO"));
|
||||
const TString16 numpart(m.get(F_NUMRIF));
|
||||
const int anno = m.get_int(F_ANNORIF);
|
||||
|
||||
TString numpart = m.get(F_NUMRIF);
|
||||
TString anno = m.get(F_ANNORIF);
|
||||
|
||||
char sezione = _rel->cg(0).get_char("SEZIONE"); // Dare/Avere
|
||||
char tipocf = _rel->cg(0).get_char("TIPOC"); // Cliente || Fornitore || Uncazzo
|
||||
int gruppo = (tipocf == 'C' || tipocf == 'F') ? 0 : _rel->cg(0).get_char("GRUPPO");
|
||||
int conto = (tipocf == 'C' || tipocf == 'F') ? 0 : _rel->cg(0).get_char("CONTO");
|
||||
long sottoconto = _rel->cg(0).get_long("SOTTOCONTO");
|
||||
int nriga = 1;
|
||||
int numrig = 1;
|
||||
const TRectype& prima = _rel->cg(0);
|
||||
const char sezione = prima.get_char("SEZIONE"); // Dare/Avere
|
||||
const char tipocf = prima.get_char("TIPOC"); // Cliente || Fornitore || Uncazzo
|
||||
const int gruppo = (tipocf == 'C' || tipocf == 'F') ? 0 : prima.get_int("GRUPPO");
|
||||
const int conto = (tipocf == 'C' || tipocf == 'F') ? 0 : prima.get_int("CONTO");
|
||||
const long sottoconto = prima.get_long("SOTTOCONTO");
|
||||
const int nriga = 1;
|
||||
const int numrig = 1;
|
||||
|
||||
partita.put(PART_ANNO, anno);
|
||||
partita.put(PART_NUMPART, numpart);
|
||||
@ -744,7 +746,7 @@ bool TPrimanota_application::edit_scadenze(int anno, const char* num)
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
const int rata = a.row().get_int(0);
|
||||
int nrig = a.row().get_int(4); // Numero riga pagamento corrente
|
||||
int nrig = a.row().get_int(5); // Numero riga pagamento corrente
|
||||
|
||||
TRectype part(LF_PARTITE);
|
||||
|
||||
|
@ -561,7 +561,7 @@ void CG3400_application::preprocess_footer()
|
||||
|
||||
riga.format ("@b@%dg%s@%dg%c %s @%dg%c @%dg%s",
|
||||
_stampa_width == 132 ? DARE132-STUMB : DARE198-STUMB,
|
||||
_nuovo_mese ? "Totale progressivi generali " : "A riportare ",
|
||||
(_nuovo_mese && !_forza_ariportare) ? "Totale progressivi generali " : "A riportare ",
|
||||
_stampa_width == 132 ? DARE132-3 : DARE198,
|
||||
'D',
|
||||
(const char *) dts,
|
||||
@ -938,13 +938,13 @@ print_action CG3400_application::postprocess_page(int file, int counter)
|
||||
righe_iva_settate = setta_righe_valuta(righe_iva_settate);
|
||||
}
|
||||
|
||||
_cur->save_status();
|
||||
_cur->save_status();
|
||||
++(*_cur);
|
||||
_data_succ = _cur->file(LF_MOV).get_date(MOV_DATAREG);
|
||||
_mese_succ = _data_succ.month();
|
||||
--(*_cur);
|
||||
_cur->restore_status();
|
||||
|
||||
_cur->restore_status();
|
||||
|
||||
if (_data_corr != _data_succ || _cur->pos() == _cur->items()-1)
|
||||
{
|
||||
_nuovo_mese = (_mese_succ != _mese_corr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user