campo-sirio/src/fp/fplib03.cpp

53 lines
1.5 KiB
C++
Raw Normal View History

#include "fplib.h"
#include "execp.h"
class TExternal_app;
void TFp_mail_sender::set_doc(const int anno, const long ndoc, const TFixed_string& codnum, const TFixed_string& tipodoc, const long codcf)
{
_anno = anno;
_codnum = codnum;
_tipodoc = &cached_tipodoc(tipodoc);
_ndoc = ndoc;
_codcf = codcf;
}
bool TFp_mail_sender::genera_pdf()
{
static TString commandline;
commandline.cut(0) << "ve1 -2 " << doc.get(DOC_CODNUM) << ' ' << doc.get(DOC_ANNO)
<< ' ' << doc.get(DOC_PROVV) << ' ' << doc.get(DOC_NDOC) << " X P 1 D"; // X: stampa su disco, P: provvisorio, 1: 1 copia, D: disabilita archiviazione
TExternal_app interattivo(commandline);
if (interattivo.run() != NOERR)
{
TString msgerr = "Fallita generazione PDF documento ";
msgerr << doc.get(DOC_CODNUM) << ' ' << doc.get(DOC_ANNO)
<< ' ' << doc.get(DOC_PROVV) << ' ' << doc.get(DOC_NDOC);
error_box(msgerr);
}
else
{
TFilename pdf; pdf.tempdir();
pdf << SLASH << doc.get(DOC_ANNO) << '_' << doc.get(DOC_CODNUM) << '_' << doc.get(DOC_NDOC) << ".pdf";
if (!pdf.exist() && !yesno_box("Attenzione! Non <20> stato possibile creare il pdf, continuare?"))
{
return false;
}
if (!add_row_alleg(pdf, nprogr, paf2600f))
return false;
}
}
void TFp_mail_sender::send()
{
TFilename mail;
if (fp_settings().get_allega_fat()) {
TString fld_pdf = fp_settings().get_fld_dest_usr(); // Cartella dove ci sono i pdf generati
//se lo trovo ce l'ho gi<67> altrimenti devo generarlo
genera_pdf();
}
_tipodoc->mail_print_profile(mail);
}