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

View File

@ -309,115 +309,73 @@ END
BOOLEAN F_NOTEB
BEGIN
PROMPT 7 15 "B"
PROMPT 8 15 "B"
GROUP G_NOTE
END
BOOLEAN F_NOTEC
BEGIN
PROMPT 12 15 "C"
PROMPT 14 15 "C"
GROUP G_NOTE
END
BOOLEAN F_NOTED
BEGIN
PROMPT 17 15 "D"
PROMPT 20 15 "D"
GROUP G_NOTE
END
BOOLEAN F_NOTEE
BEGIN
PROMPT 22 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"
PROMPT 26 15 "E"
GROUP G_NOTE
END
BOOLEAN F_NOTEK
BEGIN
PROMPT 42 15 "K"
PROMPT 32 15 "K"
GROUP G_NOTE
END
BOOLEAN F_NOTEL
BEGIN
PROMPT 47 15 "L"
GROUP G_NOTE
END
BOOLEAN F_NOTEM
BEGIN
PROMPT 52 15 "M"
PROMPT 38 15 "L"
GROUP G_NOTE
END
BOOLEAN F_NOTEN
BEGIN
PROMPT 57 15 "N"
PROMPT 44 15 "N"
GROUP G_NOTE
END
BOOLEAN F_NOTEP
BEGIN
PROMPT 62 15 "P"
PROMPT 50 15 "P"
GROUP G_NOTE
END
BOOLEAN F_NOTEQ
BEGIN
PROMPT 67 15 "Q"
GROUP G_NOTE
END
BOOLEAN F_NOTER
BEGIN
PROMPT 72 15 "R"
PROMPT 56 15 "Q"
GROUP G_NOTE
END
BOOLEAN F_NOTES
BEGIN
PROMPT 2 16 "S"
PROMPT 64 15 "S"
GROUP G_NOTE
END
BOOLEAN F_NOTET
BEGIN
PROMPT 7 16 "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"
PROMPT 70 15 "T"
GROUP G_NOTE
END
BOOLEAN F_NOTEZ
BEGIN
PROMPT 22 16 "Z"
PROMPT 76 15 "Z"
GROUP G_NOTE
END

View File

@ -28,7 +28,7 @@
// Codice fiscale di Sirio spa
#define CF_PRODUTTORE "04879210963"
const int ANNO_DIC = 2012;
const int ANNO_DIC = 2013;
///////////////////////////////////////////////////////////
// TForm770
@ -132,9 +132,6 @@ public:
const TRectype& get(int num, const char* key);
const TRectype& get(int num, long key);
void destroy();
TCache770() { }
virtual ~TCache770() { }
} _cache770;
class TRecord770 : public TObject
@ -790,7 +787,9 @@ TTracciato770::TTracciato770(char tipo) : _tipo(tipo)
add_field("Firma", CB, 952, 1); // 106
add_field("Codice fiscale", CF, 953,16);
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
@ -881,7 +880,8 @@ TTracciato770::~TTracciato770()
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);
if (trc == NULL)
{
@ -891,6 +891,8 @@ const TTracciato770& TTracciati770::tracciato(char tipo)
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)
{
CHECK(quadro && *quadro != '\0' && quadro[1] != '\0',
@ -1207,7 +1209,7 @@ TRecord770::~TRecord770()
///////////////////////////////////////////////////////////
const char* TTrasferimento770::default_name() const
{ return "MOD77013"; }
{ return "MOD77014"; }
bool TTrasferimento770::open(const char* path, char mode, int volume)
{
@ -1549,7 +1551,7 @@ bool TTrasferimento770::split(const char* path)
if (_save_headers)
{
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(5, cod_fis_dic()); // Codice fiscale del fornitore
if (volumes > 1)

View File

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