From 0aa5e6ac0b4b0c883ecaf4a073d3896ef3f1472d Mon Sep 17 00:00:00 2001 From: cris Date: Tue, 19 Dec 2006 13:47:29 +0000 Subject: [PATCH] Patch level : 4.0 567 Files correlati : cg7.exe sispac.ini cg7300a.ini Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@14656 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg7300.cpp | 155 ++++++++++++------------------------------------- cg/cg7300a.ini | 4 +- cg/sispac.ini | 47 ++++++++++----- 3 files changed, 72 insertions(+), 134 deletions(-) diff --git a/cg/cg7300.cpp b/cg/cg7300.cpp index 89d9cde20..2b904dc25 100755 --- a/cg/cg7300.cpp +++ b/cg/cg7300.cpp @@ -120,56 +120,16 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS in.trim(); valore = in; } - else if (code == "_ANNO") + else if (code == "_TIPORIGA") { - TDate data(str); - int anno = data.year(); - valore.format("%ld", anno); + valore = str.empty() ? " " : "S"; } - else if (code == "_MESE") - { - TDate data(str); - int mese = data.month(); - valore.format("%ld", mese); - } - else if (code == "_SEZIONE") - { - valore = str; - const char sezione = s.get()[0]; - const char sezriga = cur.curr(LF_RMOV).get_char(RMV_SEZIONE); - if (sezione != sezriga) - valore = ""; - } - else if (code == "_CAUSALE") + else if (code == "_CODPAG") { TFilename configname = "cg7300a.ini"; TConfig configfile(configname); - TToken_string causali = configfile.get("STANDARD", "CAUSALI"); - const char sezione = cur.curr(LF_RMOV).get_char(RMV_SEZIONE); - if (sezione == 'D') - valore = causali.get(0); - else - valore = causali.get(1); + valore = configfile.get(str, "PAGAMENTI"); } - else if (code == "_NUMFILES") - { - const int nfiles = app().get_nfiles(); - valore.format("%ld", nfiles); - } - else if (code == "_NUMRECORDS") - { - const long nrecords = app().get_nrecords(); - valore.format("%ld", nrecords); - } - else if (code == "_NUMRECORDSDETTAGLIO") - { - const long nrecords = app().get_nrecsdettaglio(); - valore.format("%ld", nrecords); - } - else if (code == "_TIPOFILE") - { - valore = app().get_descrdettaglio(); - } else if (code == "_OPZIONI") { TString in(s.get()); @@ -177,36 +137,6 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS TConfig configfile(configname); valore = configfile.get(in, "OPZIONI"); } - else if (code == "_OGGI") - { - TDate data(TODAY); - valore = data.string(full, '-', full, full, amg_date); - valore.strip("-"); - } - else if (code == "_CODIFICA") - { - const char tipocf = str[0]; - if (tipocf == 'C') - valore = "P"; - else - valore = "R"; - } - else if (code == "_NUMDOC") - { - if (cur.file("REG").get("I0") == 1) - valore = cur.curr().get(MOV_NUMDOC); - else - valore = cur.curr().get(MOV_PROTIVA); - } - else if (code == "_SEGNO") - { - TString archivio(s.get()); - TString campo(s.get()); - const real importo = cur.curr(archivio).get_real(campo); - valore = "+"; - if (importo < 0) - valore = "-"; - } else if (code == "_IMPORTO") { real importo(str); @@ -215,41 +145,15 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS valore.strip("+"); valore.strip("."); } - else if (code == "_TIPODOC") + else if (code == "_IMPORTORIGAIVA") { - const char tipodoc = str[0]; - valore = (tipodoc == 'F') ? "1" : "2"; - } - else if (code == "_DIVERSI") - { - valore = (app().finemov() ? "X" : " "); - } - else if (code == "_TOTALE") - { - real importo(ZERO); - if (app().totale()) - { - importo = cur.curr(LF_MOV).get_real(MOV_TOTDOC); - importo+=cur.curr(LF_MOV).get_real(MOV_RITFIS); - } - valore = importo.string(11,2); + real imponibile = cur.curr(LF_RMOVIVA).get_real(RMI_IMPONIBILE);; + real imposta = cur.curr(LF_RMOVIVA).get_real(RMI_IMPOSTA);; + imponibile += imposta; + valore = imposta.string(0,2); valore.strip("-"); valore.strip("+"); valore.strip("."); - } - else if (code == "_SEGNOTOTALE") - { - real importo(ZERO); - if (app().totale()) - { - importo = cur.curr(LF_MOV).get_real(MOV_TOTDOC); - importo+=cur.curr(LF_MOV).get_real(MOV_RITFIS); - } - valore = importo.string(11,2); - valore.trim(); - valore = valore.sub(0,1); - if (valore[0] != '-' && valore[0] != '+') - valore = "+"; } else if (code == "_INDIR") { @@ -259,8 +163,16 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS } else if (code == "_GIUFIS") { - const char tipopers = cur.curr(LF_CLIFO).get_char(CLI_TIPOPERS); - valore = (tipopers == 'F') ? "S" : "N"; + const char c = str[0]; + valore = (c == 'F') ? "S" : "N"; + } + else if (code == "_TITOLARE") + { + valore = (str.empty() ? "N" : "S"); + } + else if (code == "_TIPODET") + { + valore = (str.empty() ? " " : "100"); } else if (code == "_CONTO") { @@ -269,10 +181,19 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS long codice = cur.curr(LF_CLIFO).get_int(CLI_CODCF); valore.format("%03d%03d%06ld", gruppo, conto, codice); } - else if (code == "_BLACKLIST") + else if (code == "_CONTOMOV") { - const bool sospeso = cur.curr(LF_CLIFO).get_bool(CLI_SOSPESO); - valore = (sospeso == true) ? "S" : " "; + int gruppo = cur.curr(LF_RMOV).get_int(RMV_GRUPPO); + int conto = cur.curr(LF_RMOV).get_int(RMV_CONTO); + long codice = cur.curr(LF_RMOV).get_int(RMV_SOTTOCONTO); + valore.format("%03d%03d%06ld", gruppo, conto, codice); + } + else if (code == "_CONTOMOVIVA") + { + int gruppo = cur.curr(LF_RMOVIVA).get_int(RMI_GRUPPO); + int conto = cur.curr(LF_RMOVIVA).get_int(RMI_CONTO); + long codice = cur.curr(LF_RMOVIVA).get_int(RMI_SOTTOCONTO); + valore.format("%03d%03d%06ld", gruppo, conto, codice); } else NFCHECK("Macro non definita: %s", (const char *)code); str = valore; @@ -306,7 +227,7 @@ long TInvioS::i_sispac_movcont(const bool invio) a.put(MOV_DATAREG, _datafin); TRelation rel(LF_MOV); rel.add(LF_RMOV, "NUMREG==NUMREG", 1); - //TCursor cur(&rel, "23->PROTIVA == \"\"", 2, &da, &a); + rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1); TCursor cur(&rel, "", 2, &da, &a); const long cur_items = cur.items(); @@ -328,9 +249,6 @@ long TInvioS::i_sispac_movcont(const bool invio) TRectype& cur_rec_righe = cur.curr(LF_RMOV); TRecord_text recrighe; recrighe.set_type("R"); - cur.save_status(); - _finemov = !(cur.next_match(LF_RMOV, "NUMREG")); - cur.restore_status(); _trasfile->autoload(recrighe, cur); _trasfile->write(recrighe); } @@ -352,6 +270,7 @@ long TInvioS::i_sispac_moviva(const bool invio) TRelation rel(LF_MOV); rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1); rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1); + rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1); TCursor cur(&rel, "", 2, &da, &a); const long cur_items = cur.items(); if (cur_items != 0) @@ -373,9 +292,6 @@ long TInvioS::i_sispac_moviva(const bool invio) TRectype& cur_rec_righe = cur.curr(LF_RMOVIVA); TRecord_text recrighe; recrighe.set_type("I"); - cur.save_status(); - _totale = !(cur.next_match(LF_RMOVIVA, "NUMREG")); - cur.restore_status(); _trasfile->autoload(recrighe, cur); _trasfile->write(recrighe); } @@ -391,6 +307,9 @@ long TInvioS::i_sispac_clifor(const bool invio) { TInvioS_file* trasfile = apri_file("clifor.txt"); TRelation rel(LF_CLIFO); + rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1); + rel.add(LF_ANAGFIS,"CODANAGR==CODANAGPER", 1); + rel.add(LF_ANAG,"TIPOA==TIPOPERS|CODANAGR==CODANAGPER", 1); TCursor cur(&rel); const long cur_items = cur.items(); if (cur_items != 0 && invio) @@ -477,7 +396,7 @@ void TInvioS::main_loop() _dataini = _msk->get_date(F_DATAINI); _datafin = _msk->get_date(F_DATAFIN); const char tipoinvio = _msk->get(F_TIPOINVIO)[0]; - if (tipoinvio == 'Z') + if (tipoinvio == 'S') invio_sispac(); } } diff --git a/cg/cg7300a.ini b/cg/cg7300a.ini index 46821bd47..c75a83d9b 100755 --- a/cg/cg7300a.ini +++ b/cg/cg7300a.ini @@ -5,4 +5,6 @@ FILEMOVIM = movim.txt NUMEROINVIO = PERCORSO = c:\temp\ - +[PAGAMENTO] +0001=D +0013=B diff --git a/cg/sispac.ini b/cg/sispac.ini index fe34427b5..b90c0bdfe 100755 --- a/cg/sispac.ini +++ b/cg/sispac.ini @@ -73,7 +73,7 @@ FIELD(5) = 23->NUMDOC NAME(6) = CAUSALE TYPE(6) = STRINGA LENGTH(6) = 4 -FIELD(6) = 23->CAUS +FIELD(6) = 23->CODCAUS NAME(7) = DESCRIZIONE TYPE(7) = STRINGA @@ -98,7 +98,7 @@ FIELD(10) = 23->PROTIVA NAME(11) = CONTO TYPE(11) = STRINGA LENGTH(11) = 12 -FIELD(11) = _CONTOMOV +MESSAGE(11) = _CONTOMOV NAME(12) = CONTO COMPETENZA TYPE(12) = STRINGA @@ -107,7 +107,7 @@ LENGTH(12) = 12 NAME(13) = CODICE CLI/FOR TYPE(13) = STRINGA LENGTH(13) = 6 -FIELD(13) = _CLIENTE +FIELD(13) = CODCF NAME(14) = DESCRIZIONE RIGA TYPE(14) = STRINGA @@ -116,6 +116,7 @@ FIELD(14) = DESCR[1,40] NAME(15) = IMPORTO RIGA TYPE(15) = IMPORTO +FIELD(15) = 24->IMPORTO MESSAGE(15) = _IMPORTO NAME(16) = IMPONIBILE @@ -164,6 +165,7 @@ LENGTH(27) = 1 NAME(28) = TIPO RIGA TYPE(28) = STRINGA LENGTH(28) = 1 +FIELD(28) = 24->TIPOC MESSAGE(28) = _TIPORIGA NAME(29) = CAUSALE RIGA CONTABILE @@ -186,7 +188,8 @@ TYPE(32) = NUMERO NAME(33) = TITOLARE PIVA TYPE(33) = STRINGA LENGTH(33) = 1 -FIELD(33) = _TITOLARE +FIELD(33) = 20->PAIV +MESSAGE(33) = _TITOLARE [RECORD I] @@ -222,7 +225,7 @@ FIELD(5) = 23->NUMDOC NAME(6) = CAUSALE TYPE(6) = STRINGA LENGTH(6) = 4 -FIELD(6) = 23->CAUS +FIELD(6) = 23->CODCAUS NAME(7) = DESCRIZIONE TYPE(7) = STRINGA @@ -247,7 +250,7 @@ FIELD(10) = 23->PROTIVA NAME(11) = CONTO TYPE(11) = STRINGA LENGTH(11) = 12 -FIELD(11) = _CONTOMOV +MESSAGE(11) = _CONTOMOVIVA NAME(12) = CONTO COMPETENZA TYPE(12) = STRINGA @@ -256,7 +259,7 @@ LENGTH(12) = 12 NAME(13) = CODICE CLI/FOR TYPE(13) = STRINGA LENGTH(13) = 6 -FIELD(13) = _CLIENTE +FIELD(13) = CODCF NAME(14) = DESCRIZIONE RIGA TYPE(14) = STRINGA @@ -269,19 +272,22 @@ MESSAGE(15) = _IMPORTORIGAIVA NAME(16) = IMPONIBILE TYPE(16) = IMPORTO -MESSAGE(16) = IMPONIBILE +FIELD(16) = 25->IMPONIBILE +MESSAGE(16) = _IMPORTO NAME(17) = CODICE IVA TYPE(17) = STRINGA LENGTH(17) = 3 -FIELD(17) = CODIVA +FIELD(17) = 25->CODIVA NAME(18) = IMPORTO IVA TYPE(18) = IMPORTO -FIELD(18) = IMPOSTA +FIELD(18) = 25->IMPOSTA +MESSAGE(18) = _IMPORTO NAME(19) = INDETRAIBILITA TYPE(19) = NUMERO +FIELD(19) = 25->TIPODET MESSAGE(19) = _TIPODET NAME(20) = IMPORTO DIVISA @@ -317,7 +323,7 @@ LENGTH(27) = 1 NAME(28) = TIPO RIGA TYPE(28) = STRINGA LENGTH(28) = 1 -MESSAGE(28) = _FISSO,I +MESSAGE(28) = _FISSO,!I NAME(29) = CAUSALE RIGA CONTABILE TYPE(29) = STRINGA @@ -339,7 +345,8 @@ TYPE(32) = NUMERO NAME(33) = TITOLARE PIVA TYPE(33) = STRINGA LENGTH(33) = 1 -FIELD(33) = _TITOLARE +FIELD(33) = 20->PAIV +MESSAGE(33) = _TITOLARE [RECORD C] @@ -452,6 +459,7 @@ LENGTH(21) = 80 NAME(22) = PERSONA FISICA S/N TYPE(22) = STRINGA LENGTH(22) = 1 +FIELD(22) = 20->TIPOPERS MESSAGE(22) = _GIUFIS NAME(23) = SESSO M/F @@ -555,12 +563,14 @@ LENGTH(43) = 10 NAME(44) = TIPO PAGAMENTO TYPE(44) = STRINGA LENGTH(44) = 1 -MESSAGE(44) = _TIPOPAG +FIELD(44)= 20->CODPAG +MESSAGE(44) = _CODPAG NAME(45) = TITOLARE PIVA S/N TYPE(45) = STRINGA LENGTH(45) = 1 -MESSAGE(45) -TITOLARE +FIELD(45) = 20->PAIV +MESSAGE(45) = _TITOLARE [RECORD F] @@ -672,26 +682,33 @@ LENGTH(21) = 80 NAME(22) = PERSONA FISICA S/N TYPE(22) = STRINGA LENGTH(22) = 1 +FIELD(22) = 20->TIPOPERS +MESSAGE(22) = _GIUFIS NAME(23) = SESSO M/F TYPE(23) = STRINGA LENGTH(23) = 1 +FIELD(23) = 8->SESSO NAME(24) = DATA DI NASCITA TYPE(24) = DATA LENGTH(24) = 10 +FIELD(24)= 8->DATANASC NAME(25) = CITTA DI NASCITA TYPE(25) = STRINGA LENGTH(25) = 30 +FIELD(25) = 8->COMNASC NAME(26) = DENOMINAZIONE (COGNOME) TYPE(26) = STRINGA LENGTH(26) = 25 +FIELD(26) = 6->RAGSOC[1,25] NAME(27) = NOME TYPE(27) = STRINGA LENGTH(27) = 25 +FIELD(27) = 6->RAGSOC[26,25] NAME(28) = INDIRIZZO SEDE LEGALE TYPE(28) = STRINGA @@ -706,7 +723,7 @@ FIELD(29) = 13->DENCOM[1,40] NAME(30) = CAP SEDE LEGALE TYPE(30) = STRINGA LENGTH(30) = 9 -FIELD(30)=20->CAPCF +FIELD(30) = 20->CAPCF NAME(31) = PROVINCIA SEDE LEGALE TYPE(31) = STRINGA