53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
|
#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);
|
|||
|
}
|