git-svn-id: svn://10.65.10.50/branches/R_10_00@23167 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fe73df2a38
commit
65c9ffe1cd
@ -569,6 +569,9 @@ void TPA_mask::fill()
|
||||
}
|
||||
}
|
||||
row->add(split ? "X" : " ");
|
||||
|
||||
const bool attach = !doc_pa.get("COLL_GOLEM").is_empty();
|
||||
row->add(attach ? "X" : " ");
|
||||
|
||||
sht.add(row);
|
||||
}
|
||||
@ -910,9 +913,9 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
if (_ditta.partita_IVA().full())
|
||||
{
|
||||
paf0200f.set("P2_FISCIVAPAESE", paese); // Sempre IT
|
||||
paf0200f.set("P2_FISCIVACOD", _ditta.partita_IVA());
|
||||
paf0200f.set("P2_FISCIVACOD", _ditta.partita_IVA());
|
||||
}
|
||||
paf0200f.set("P2_CODFISCALE", _ditta.codice_fiscale());
|
||||
paf0200f.set("P2_CODFISCALE", _ditta.codice_fiscale());
|
||||
if (_ditta.fisica())
|
||||
{
|
||||
paf0200f.set("P2_ANANOME", _ditta.nome());
|
||||
@ -1429,49 +1432,27 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf2500f.insert();
|
||||
}
|
||||
|
||||
TToken_string allegati = doc.get("COLL_GOLEM");
|
||||
TPaf_record paf2600f("PAF2600F");
|
||||
paf2600f.set("PP_KEYHEADERFATT", hfatt);
|
||||
paf2600f.set("PP_KEYBODYFATT", bfatt);
|
||||
paf2600f.remove(); // Cancella eventuali allegati
|
||||
TToken_string allegati(doc.get("COLL_GOLEM"),'\n');
|
||||
if (allegati.full())
|
||||
{
|
||||
TFilename fzip;
|
||||
fzip = prefix().get_studio();
|
||||
fzip.add("sql"); fzip.add("attach");
|
||||
make_dir(fzip);
|
||||
|
||||
TString20 code = bfatt; code.replace('/', '_');
|
||||
fzip.add(code); fzip << ".zip";
|
||||
|
||||
long nprogr = 0; // Numero di file allegati
|
||||
TFilename fname;
|
||||
if (allegati.items() <= 2) // Una sola coppia (path|nome)
|
||||
FOR_EACH_TOKEN(allegati, row)
|
||||
{
|
||||
fname = allegati.get(0);
|
||||
aga_zip(fname, fzip);
|
||||
}
|
||||
else
|
||||
{
|
||||
TFilename flist; flist.tempdir(); flist.add("ziplist.txt");
|
||||
ofstream list(flist);
|
||||
FOR_EACH_TOKEN(allegati, str)
|
||||
const TToken_string entry(row);
|
||||
if (entry.get(0, fname) && fname.exist())
|
||||
{
|
||||
fname = str;
|
||||
if (fname.exist())
|
||||
list << fname << endl;
|
||||
paf2600f.set("PP_KEYNPROGR", ++nprogr);
|
||||
paf2600f.set("PP_NOMEATTACHMENT", fname.name());
|
||||
paf2600f.set("PP_ATTACHMENT", fname);
|
||||
fname.upper(); // serve estensione maiuscola
|
||||
paf2600f.set("PP_FMTATTACHMENT", fname.ext());
|
||||
paf2600f.insert();
|
||||
}
|
||||
list.close();
|
||||
aga_zip_filelist(flist, fzip);
|
||||
xvt_fsys_remove_file(flist);
|
||||
}
|
||||
|
||||
TPaf_record paf2600f("PAF2600F");
|
||||
paf2600f.set("PP_KEYHEADERFATT", hfatt);
|
||||
paf2600f.set("PP_KEYBODYFATT", bfatt);
|
||||
paf2600f.remove(); // Cancella allegati
|
||||
if (fzip.exist())
|
||||
{
|
||||
paf2600f.set("PP_NOMEATTACHMENT", fname.name());
|
||||
paf2600f.set("PP_FMTATTACHMENT", fname.ext());
|
||||
paf2600f.set("PP_ATTACHMENT", fzip);
|
||||
paf2600f.set("PP_COMPRESSIONE", "ZIP");
|
||||
paf2600f.insert();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1613,23 +1594,27 @@ void TDoc2Paf::main_loop()
|
||||
_cofi = mask.get(F_COFI);
|
||||
|
||||
TString_array& sht = mask.sfield(F_DOCS).rows_array();
|
||||
TProgress_monitor pi(sht.items(), NULL);
|
||||
ndocs = 0;
|
||||
FOR_EACH_ARRAY_ROW(sht, r, riga)
|
||||
if (!sht.empty())
|
||||
{
|
||||
if (riga->starts_with("X"))
|
||||
TProgress_monitor pi(sht.items(), NULL);
|
||||
ndocs = 0;
|
||||
FOR_EACH_ARRAY_ROW(sht, r, riga)
|
||||
{
|
||||
const int anno = riga->get_int(1);
|
||||
const long ndoc = riga->get_long(3);
|
||||
const TFixed_string codnum(riga->get(2)); // lascio sapientemente per ultima la get di una stringa
|
||||
const TDoc_key key(anno, codnum, ndoc);
|
||||
if (elabora(key))
|
||||
ndocs++;
|
||||
if (riga->starts_with("X"))
|
||||
{
|
||||
const int anno = riga->get_int(1);
|
||||
const long ndoc = riga->get_long(3);
|
||||
const TFixed_string codnum(riga->get(2)); // lascio sapientemente per ultima la get di una stringa
|
||||
const TDoc_key key(anno, codnum, ndoc);
|
||||
if (elabora(key))
|
||||
ndocs++;
|
||||
}
|
||||
if (!pi.add_status(1))
|
||||
break;
|
||||
}
|
||||
if (!pi.add_status(1))
|
||||
break;
|
||||
message_box(FR("Sono stati elaborati %d documenti"), ndocs);
|
||||
}
|
||||
message_box(FR("Sono stati elaborati %d documenti"), ndocs);
|
||||
|
||||
if (ndocs > 0 && show_log())
|
||||
genera_xml();
|
||||
}
|
||||
|
@ -14,4 +14,4 @@
|
||||
#define S_RIFAMM 109
|
||||
#define S_COFI 110
|
||||
#define S_SPLITPAY 111
|
||||
|
||||
#define S_ATTACH 112
|
||||
|
@ -37,6 +37,7 @@ BEGIN
|
||||
ITEM "Riferimento\nAmministrazione@20"
|
||||
ITEM "Codice Fiscale@16"
|
||||
ITEM "Scissione\nPagamenti@9"
|
||||
ITEM "Allegati"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -110,6 +111,13 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN S_ATTACH
|
||||
BEGIN
|
||||
PROMPT 1 7 "Documenti in allegato"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "Documento" 0 0 0 2
|
||||
|
@ -444,6 +444,7 @@ INDEX_1 = PO_KEYHEADERFATT,PO_KEYBODYFATT,PO_KEYNPROGR
|
||||
|
||||
PP_KEYHEADERFATT = CHAR(20)
|
||||
PP_KEYBODYFATT = CHAR(20)
|
||||
PP_KEYNPROGR = INTEGER
|
||||
|
||||
PP_NOMEATTACHMENT = CHAR(60)
|
||||
PP_COMPRESSIONE = CHAR(10)
|
||||
@ -453,7 +454,7 @@ PP_ATTACHMENT = CHAR(256)
|
||||
|
||||
PP_GESTIONE = CHAR(1)
|
||||
|
||||
INDEX_1 = PP_KEYHEADERFATT,PP_KEYBODYFATT
|
||||
INDEX_1 = PP_KEYHEADERFATT,PP_KEYBODYFATT,PP_KEYNPROGR
|
||||
|
||||
[PAF2700F]
|
||||
PQ_KEYHEADERFATT = CHAR(20)
|
||||
|
Loading…
x
Reference in New Issue
Block a user