Prima versione 770 del 2014

git-svn-id: svn://10.65.10.50/branches/R_10_00@22961 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2014-06-24 12:41:53 +00:00
parent 6bdcff9121
commit 94d1f9bf28
4 changed files with 127 additions and 135 deletions

View File

@ -273,28 +273,29 @@ void M71310_application::init_modify_mode(TMask& m)
void M71310_application::set_field_note(TMask& m) void M71310_application::set_field_note(TMask& m)
{ {
const TString& note = _rel->lfile().get(QUL_QLNOTE); const TString& note = _rel->curr().get(QUL_QLNOTE);
for (int i = note.len()-1; i >= 0; i--) if (note[i] > ' ') for (int i = note.len()-1; i >= 0; i--) if (note[i] >= 'A')
{ {
const short dlg = F_NOTEA + int(note[i] - 'A'); const short dlg = F_NOTEA + note[i] - 'A';
m.set(dlg, "X"); TMask_field* f = m.find_by_id(dlg);
if (f != NULL)
f->set("X");
} }
} }
void M71310_application::build_note(const TMask& m) void M71310_application::build_note(const TMask& m)
{ {
int index = 0; TString16 note;
TString note; note.spaces(20); for (short dlg = F_NOTEA; dlg <= F_NOTEZ; dlg++)
for (short dlg = F_NOTEA; dlg <= F_NOTEZ; dlg++) if (m.id2pos(dlg) > 0)
{ {
if (!m.get(dlg).blank()) TMask_field* f = m.find_by_id(dlg);
if (f != NULL && f->get().full())
{ {
char letter = 'A' + dlg - F_NOTEA; const char letter = 'A' + dlg - F_NOTEA;
note[index] = letter; note << letter;
} }
index++;
} }
_rel->lfile().put(QUL_QLNOTE, note); _rel->curr().put(QUL_QLNOTE, note);
} }
// Arrotonda l'importo versato // Arrotonda l'importo versato

View File

@ -309,115 +309,73 @@ END
BOOLEAN F_NOTEB BOOLEAN F_NOTEB
BEGIN BEGIN
PROMPT 7 15 "B" PROMPT 8 15 "B"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEC BOOLEAN F_NOTEC
BEGIN BEGIN
PROMPT 12 15 "C" PROMPT 14 15 "C"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTED BOOLEAN F_NOTED
BEGIN BEGIN
PROMPT 17 15 "D" PROMPT 20 15 "D"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEE BOOLEAN F_NOTEE
BEGIN BEGIN
PROMPT 22 15 "E" PROMPT 26 15 "E"
GROUP G_NOTE
END
BOOLEAN F_NOTEF
BEGIN
PROMPT 27 15 "F"
GROUP G_NOTE
END
BOOLEAN F_NOTEG
BEGIN
PROMPT 32 15 "G"
GROUP G_NOTE
END
BOOLEAN F_NOTEH
BEGIN
PROMPT 37 15 "H"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEK BOOLEAN F_NOTEK
BEGIN BEGIN
PROMPT 42 15 "K" PROMPT 32 15 "K"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEL BOOLEAN F_NOTEL
BEGIN BEGIN
PROMPT 47 15 "L" PROMPT 38 15 "L"
GROUP G_NOTE
END
BOOLEAN F_NOTEM
BEGIN
PROMPT 52 15 "M"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEN BOOLEAN F_NOTEN
BEGIN BEGIN
PROMPT 57 15 "N" PROMPT 44 15 "N"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEP BOOLEAN F_NOTEP
BEGIN BEGIN
PROMPT 62 15 "P" PROMPT 50 15 "P"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEQ BOOLEAN F_NOTEQ
BEGIN BEGIN
PROMPT 67 15 "Q" PROMPT 56 15 "Q"
GROUP G_NOTE
END
BOOLEAN F_NOTER
BEGIN
PROMPT 72 15 "R"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTES BOOLEAN F_NOTES
BEGIN BEGIN
PROMPT 2 16 "S" PROMPT 64 15 "S"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTET BOOLEAN F_NOTET
BEGIN BEGIN
PROMPT 7 16 "T" PROMPT 70 15 "T"
GROUP G_NOTE
END
BOOLEAN F_NOTEU
BEGIN
PROMPT 12 16 "U"
GROUP G_NOTE
END
BOOLEAN F_NOTEW
BEGIN
PROMPT 17 16 "W"
GROUP G_NOTE GROUP G_NOTE
END END
BOOLEAN F_NOTEZ BOOLEAN F_NOTEZ
BEGIN BEGIN
PROMPT 22 16 "Z" PROMPT 76 15 "Z"
GROUP G_NOTE GROUP G_NOTE
END END

View File

@ -28,7 +28,7 @@
// Codice fiscale di Sirio spa // Codice fiscale di Sirio spa
#define CF_PRODUTTORE "04879210963" #define CF_PRODUTTORE "04879210963"
const int ANNO_DIC = 2012; const int ANNO_DIC = 2013;
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TForm770 // TForm770
@ -132,9 +132,6 @@ public:
const TRectype& get(int num, const char* key); const TRectype& get(int num, const char* key);
const TRectype& get(int num, long key); const TRectype& get(int num, long key);
void destroy(); void destroy();
TCache770() { }
virtual ~TCache770() { }
} _cache770; } _cache770;
class TRecord770 : public TObject class TRecord770 : public TObject
@ -790,7 +787,9 @@ TTracciato770::TTracciato770(char tipo) : _tipo(tipo)
add_field("Firma", CB, 952, 1); // 106 add_field("Firma", CB, 952, 1); // 106
add_field("Codice fiscale", CF, 953,16); add_field("Codice fiscale", CF, 953,16);
add_field("Soggetto", NU, 969, 1); add_field("Soggetto", NU, 969, 1);
add_field("Firma", CB, 970, 1); // 107 add_field("Firma", CB, 970, 1); // 109
add_field("Non trasmissione ST, SV e/o SX", NU, 971, 1);
add_field("Casella Attestazione", CB, 972, 1);
add_field("Situazioni particolari", NU,1180,2, 116); // 116 add_field("Situazioni particolari", NU,1180,2, 116); // 116
@ -881,7 +880,8 @@ TTracciato770::~TTracciato770()
const TTracciato770& TTracciati770::tracciato(char tipo) const TTracciato770& TTracciati770::tracciato(char tipo)
{ {
const int pos = tipo-AN; CHECK(tipo >= 'A' && tipo <= 'Z');
const int pos = tipo - 'A';
TTracciato770* trc = (TTracciato770*)_trc.objptr(pos); TTracciato770* trc = (TTracciato770*)_trc.objptr(pos);
if (trc == NULL) if (trc == NULL)
{ {
@ -891,6 +891,8 @@ const TTracciato770& TTracciati770::tracciato(char tipo)
return *trc; return *trc;
} }
// Determina a partire dal codice quadro (LA o ST) il tipo record (H o E) ed il numero di record per modulo (1 o 12)
// Ritorna il form da cui prelevare i codici (come AUXXX010) da inserire nei tracciati
TForm770& TTracciati770::form(const char* quadro, char& tiporec, int& rpm) TForm770& TTracciati770::form(const char* quadro, char& tiporec, int& rpm)
{ {
CHECK(quadro && *quadro != '\0' && quadro[1] != '\0', CHECK(quadro && *quadro != '\0' && quadro[1] != '\0',
@ -1207,7 +1209,7 @@ TRecord770::~TRecord770()
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
const char* TTrasferimento770::default_name() const const char* TTrasferimento770::default_name() const
{ return "MOD77013"; } { return "MOD77014"; }
bool TTrasferimento770::open(const char* path, char mode, int volume) bool TTrasferimento770::open(const char* path, char mode, int volume)
{ {
@ -1549,7 +1551,7 @@ bool TTrasferimento770::split(const char* path)
if (_save_headers) if (_save_headers)
{ {
rec.tipo_record('A'); // Compila record di testata A rec.tipo_record('A'); // Compila record di testata A
rec.set(3, "77S13"); // Codice fornitura rec.set(3, "77S14"); // Codice fornitura
rec.set(4, 1); // Tipo fornitore 01 = Soggetto che invia la propria dichiarazione rec.set(4, 1); // Tipo fornitore 01 = Soggetto che invia la propria dichiarazione
rec.set(5, cod_fis_dic()); // Codice fiscale del fornitore rec.set(5, cod_fis_dic()); // Codice fiscale del fornitore
if (volumes > 1) if (volumes > 1)

View File

@ -123,6 +123,14 @@ BEGIN
GROUP 1 GROUP 1
END END
STRINGA 12
BEGIN
KEY "CODICE COMUNE"
PROMPT 78 5 ""
FIELD 218@->COMRES
SPECIAL STRING TRASFER "AU001011" "AN"
END
STRINGA 101 STRINGA 101
BEGIN BEGIN
KEY "VIA RES. FISC." KEY "VIA RES. FISC."
@ -145,182 +153,205 @@ STRINGA 11
BEGIN BEGIN
KEY "VIA RF + NUMCIVRF" KEY "VIA RF + NUMCIVRF"
PROMPT 78 5 "" PROMPT 78 5 ""
SPECIAL STRING TRASFER "AU001011" "AN" SPECIAL STRING TRASFER "AU001012" "AN"
MESSAGE COPY,14 MESSAGE COPY,17
END
STRINGA 14
BEGIN
KEY "CODICE FISCALE ESTERO"
PROMPT 90 7 ""
FIELD 216@->COFIEST
SPECIAL STRING TRASFER "AU001014" "AN"
END END
STRINGA 15 STRINGA 15
BEGIN BEGIN
KEY "COMUNE ESTERO DI RES." KEY "CODICE FISCALE ESTERO"
PROMPT 75 7 "" PROMPT 90 7 ""
FIELD 216@->COFIEST
SPECIAL STRING TRASFER "AU001015" "AN" SPECIAL STRING TRASFER "AU001015" "AN"
END END
STRINGA 16 STRINGA 16
BEGIN BEGIN
KEY "INDIRIZZO DI RES. ESTERO" KEY "LOCALITA' ESTERA DI RES."
PROMPT 75 7 "" PROMPT 75 7 ""
SPECIAL STRING TRASFER "AU001016" "AN" SPECIAL STRING TRASFER "AU001016" "AN"
END END
NUMERO 17 STRINGA 17
BEGIN
KEY "INDIRIZZO DI RES. ESTERO"
PROMPT 75 7 ""
SPECIAL STRING TRASFER "AU001017" "AN"
END
NUMERO 18
BEGIN BEGIN
KEY "STATO ESTERO" KEY "STATO ESTERO"
PROMPT 75 7 "" PROMPT 75 7 ""
FIELD 216@->STATORES FIELD 216@->STATORES
SPECIAL STRING TRASFER "AU001017" "NU" SPECIAL STRING TRASFER "AU001018" "NU"
END END
STRINGA 18 STRINGA 19
BEGIN BEGIN
KEY "CAUSALE" KEY "CAUSALE"
PROMPT 13 9 "" PROMPT 13 9 ""
FIELD CAUSALE FIELD CAUSALE
SPECIAL STRING TRASFER "AU001018" "AN" SPECIAL STRING TRASFER "AU001019" "AN"
END END
NUMERO 19 NUMERO 20
BEGIN BEGIN
KEY "ANNO" KEY "ANNO"
PROMPT 16 9 "" PROMPT 16 9 ""
FIELD ANNO FIELD ANNO
SPECIAL STRING TRASFER "AU001019" "NP" SPECIAL STRING TRASFER "AU001020" "NP"
END END
STRINGA 20 STRINGA 21
BEGIN BEGIN
KEY "ANTICIPAZIONI" KEY "ANTICIPAZIONI"
PROMPT 27 9 "" PROMPT 27 9 ""
FIELD ANTICIPAZ FIELD ANTICIPAZ
SPECIAL STRING TRASFER "AU001020" "CB" SPECIAL STRING TRASFER "AU001021" "CB"
END END
VALUTA 21 VALUTA 22
BEGIN BEGIN
KEY "AMMONTARE LORDO" KEY "AMMONTARE LORDO"
PROMPT 27 9 "" PROMPT 27 9 ""
FIELD TOTALE FIELD TOTALE
SPECIAL STRING TRASFER "AU001021" "NP" SPECIAL STRING TRASFER "AU001022" "NP"
END END
VALUTA 22 VALUTA 23
BEGIN BEGIN
KEY "SOMREGCONV" KEY "SOMREGCONV"
PROMPT 47 9 "" PROMPT 47 9 ""
FIELD SOMREGCONV FIELD SOMREGCONV
SPECIAL STRING TRASFER "AU001022" "NP" SPECIAL STRING TRASFER "AU001023" "NP"
END END
NUMERO 23 NUMERO 24
BEGIN BEGIN
KEY "Codice somme non soggette a ritenuta" KEY "Codice somme non soggette a ritenuta"
PROMPT 64 9 "" PROMPT 64 9 ""
SPECIAL STRING TRASFER "AU001023" "NP"
MESSAGE _NUMEXPR,IF(SOMME>0,1,0)
END
VALUTA 24
BEGIN
KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 66 9 ""
FIELD SOMME
SPECIAL STRING TRASFER "AU001024" "NP" SPECIAL STRING TRASFER "AU001024" "NP"
MESSAGE _NUMEXPR,IF(SOMME>0,1,0)
END END
VALUTA 25 VALUTA 25
BEGIN BEGIN
KEY "IMPONIBILE = 21-22-23" KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 88 9 "" PROMPT 66 9 ""
FIELD IMPONIBILE FIELD SOMME
SPECIAL STRING TRASFER "AU001025" "NP" SPECIAL STRING TRASFER "AU001025" "NP"
END END
VALUTA 26 VALUTA 26
BEGIN BEGIN
KEY "Ritenute operate a titolo di acconto" KEY "IMPONIBILE = 22-23-25"
PROMPT 109 9 "" PROMPT 88 9 ""
FIELD IMPORTO FIELD IMPONIBILE
SPECIAL STRING TRASFER "AU001026" "NP" SPECIAL STRING TRASFER "AU001026" "NP"
END END
VALUTA 27 VALUTA 27
BEGIN BEGIN
KEY "Ritenute operate a titolo di imposta" KEY "Ritenute operate a titolo di acconto"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD IMPORTO
SPECIAL STRING TRASFER "AU001027" "NP" SPECIAL STRING TRASFER "AU001027" "NP"
END END
VALUTA 28 VALUTA 28
BEGIN BEGIN
KEY "RITENUTE SOSPESE" KEY "Ritenute operate a titolo di imposta"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD RITSOSPESE SPECIAL STRING TRASFER "AU001028" "NP"
SPECIAL STRING TRASFER "AU001028" ""
END END
VALUTA 29 VALUTA 29
BEGIN BEGIN
KEY "ADDIZIONALE REGIONALE a titolo di acconto" KEY "RITENUTE SOSPESE"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD ADDREG FIELD RITSOSPESE
SPECIAL STRING TRASFER "AU001029" "NP" SPECIAL STRING TRASFER "AU001029" ""
END END
VALUTA 30 VALUTA 30
BEGIN BEGIN
KEY "ADDIZIONALE REGIONALE a titolo di imposta" KEY "ADDIZIONALE REGIONALE a titolo di acconto"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD ADDREG
SPECIAL STRING TRASFER "AU001030" "NP" SPECIAL STRING TRASFER "AU001030" "NP"
END END
VALUTA 31 VALUTA 31
BEGIN BEGIN
KEY "ADDIZIONALE REGIONALE SOSPESA" KEY "ADDIZIONALE REGIONALE a titolo di imposta"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD ADDREGSOSP
SPECIAL STRING TRASFER "AU001031" "NP" SPECIAL STRING TRASFER "AU001031" "NP"
END END
VALUTA 32 VALUTA 32
BEGIN BEGIN
KEY "IMPONIBILE ANNI PRECEDENTI" KEY "ADDIZIONALE REGIONALE SOSPESA"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD IMPANNIPRE FIELD ADDREGSOSP
SPECIAL STRING TRASFER "AU001032" "NP" SPECIAL STRING TRASFER "AU001032" "NP"
END END
VALUTA 33 VALUTA 33
BEGIN BEGIN
KEY "RITENUTE ANNI PRECEDENTI" KEY "ADDIZIONALE COMUNALE a titolo di acconto"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD RITANNIPRE // FIELD ADDCOM
SPECIAL STRING TRASFER "AU001033" "NP" SPECIAL STRING TRASFER "AU001033" "NP"
END END
VALUTA 34 VALUTA 34
BEGIN BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE" KEY "ADDIZIONALE COMUNALE a titolo di imposta"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD CTINPSEROG
SPECIAL STRING TRASFER "AU001034" "NP" SPECIAL STRING TRASFER "AU001034" "NP"
END END
VALUTA 35 VALUTA 35
BEGIN BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE" KEY "ADDIZIONALE COMUNALE SOSPESA"
PROMPT 109 9 "" PROMPT 109 9 ""
FIELD CTINPSPERC // FIELD ADDCOMSOSP
SPECIAL STRING TRASFER "AU001035" "NP" SPECIAL STRING TRASFER "AU001035" "NP"
END END
VALUTA 36
BEGIN
KEY "IMPONIBILE ANNI PRECEDENTI"
PROMPT 109 9 ""
FIELD IMPANNIPRE
SPECIAL STRING TRASFER "AU001036" "NP"
END
VALUTA 37
BEGIN
KEY "RITENUTE ANNI PRECEDENTI"
PROMPT 109 9 ""
FIELD RITANNIPRE
SPECIAL STRING TRASFER "AU001037" "NP"
END
VALUTA 38
BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE"
PROMPT 109 9 ""
FIELD CTINPSEROG
SPECIAL STRING TRASFER "AU001038" "NP"
END
VALUTA 39
BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE"
PROMPT 109 9 ""
FIELD CTINPSPERC
SPECIAL STRING TRASFER "AU001039" "NP"
END
END END