Patch level : 10.0
Files correlati : ve1.exe Ricompilazione Demo : [ ] Commento : Migliorata generazione di grandi quantita' di file PDF (Cliente Sailog) git-svn-id: svn://10.65.10.50/trunk@19038 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ad6b1097e8
commit
aa4accbc4c
@ -528,13 +528,13 @@ bool TMotore_application::user_create( )
|
||||
|
||||
for (int i = 2; i < args; i++)
|
||||
{
|
||||
const TString arg(argv(i));
|
||||
const TFixed_string arg(argv(i));
|
||||
|
||||
if (arg.starts_with("-def"))
|
||||
{
|
||||
TToken_string str(arg.mid(4), ',');
|
||||
const TString16 codnum(str.get());
|
||||
const TString16 tipodoc(str.get());
|
||||
const TString4 codnum(str.get());
|
||||
const TString4 tipodoc(str.get());
|
||||
const TString16 paragraph(str.get());
|
||||
|
||||
if (paragraph.blank())
|
||||
@ -545,7 +545,6 @@ bool TMotore_application::user_create( )
|
||||
else
|
||||
{
|
||||
TConfig c(CONFIG_DITTA, paragraph);
|
||||
|
||||
_codnum = c.get(codnum);
|
||||
_tipodoc = c.get(tipodoc);
|
||||
}
|
||||
@ -556,7 +555,6 @@ bool TMotore_application::user_create( )
|
||||
if (b != NULL || bdes != NULL)
|
||||
{
|
||||
TString filter = b->get_filter();
|
||||
|
||||
if (filter.full())
|
||||
{
|
||||
filter.insert("(");
|
||||
@ -569,7 +567,6 @@ bool TMotore_application::user_create( )
|
||||
else
|
||||
{
|
||||
const TString newfilter(arg.mid(5));
|
||||
|
||||
if (b != NULL)
|
||||
b->set_filter(newfilter);
|
||||
if (bdes != NULL)
|
||||
|
@ -9,7 +9,9 @@
|
||||
#include <progind.h>
|
||||
#include <reprint.h>
|
||||
#include <reputils.h>
|
||||
#include <spotlite.h>
|
||||
#include <statbar.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <clifo.h>
|
||||
#include <cfven.h>
|
||||
@ -915,12 +917,11 @@ bool TReport_doc_app::get_next_pdf(int anno, long ditta, const char* codnum, lon
|
||||
return ok;
|
||||
}
|
||||
|
||||
const TString & TReport_doc_app::get_mail_address() const
|
||||
const TString& TReport_doc_app::get_mail_address() const
|
||||
{
|
||||
TString key;
|
||||
|
||||
key << _tipocf << '|' << _codcf;
|
||||
return cache().get(LF_CLIFO, key, CLI_DOCMAIL);
|
||||
TString8 key; key << _tipocf << '|' << _codcf;
|
||||
const TString& maddr = cache().get(LF_CLIFO, key, CLI_DOCMAIL);
|
||||
return maddr;
|
||||
}
|
||||
|
||||
bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
|
||||
@ -938,7 +939,7 @@ bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken
|
||||
doc.riferimento(subj);
|
||||
if (subj.blank())
|
||||
subj = doc.tipo().descrizione();
|
||||
text << "Invio documento " << subj;
|
||||
text << TR("Invio documento ") << subj;
|
||||
ui = false;
|
||||
}
|
||||
}
|
||||
@ -1034,6 +1035,11 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
|
||||
TLog_report log(TR("Invio documenti per email"));
|
||||
TProgind pi(docs, TR("Elaborazione documenti..."), true, true);
|
||||
|
||||
bool attach_mail = mode==out_mail || mode==out_signed_mail;
|
||||
if (attach_mail && is_power_station())
|
||||
attach_mail = yesno_box(TR("Si desidera spedire veramente i documenti via mail?\n"
|
||||
"Rispondendo NO verranno solo salvati gli allegati."));
|
||||
|
||||
for (int i = 0; i < docs; i++)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
@ -1068,11 +1074,15 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
|
||||
|
||||
if (ok)
|
||||
{
|
||||
int copies = _msk->get_int(F_NCOPIE);
|
||||
if (copies <= 0 && is_definitive)
|
||||
copies = tipo.ncopie();
|
||||
if (copies <= 0 || paperless)
|
||||
copies = 1;
|
||||
int copies = 1;
|
||||
if (!paperless)
|
||||
{
|
||||
copies = _msk->get_int(F_NCOPIE);
|
||||
if (copies <= 0 && is_definitive)
|
||||
copies = tipo.ncopie();
|
||||
if (copies <= 0)
|
||||
copies = 1;
|
||||
}
|
||||
|
||||
TReport_doc& report = reports.get(profilo);
|
||||
|
||||
@ -1082,7 +1092,7 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
|
||||
if (!report.print(doc, *mail_book, is_definitive, 1, true, arc, signature))
|
||||
break;
|
||||
TString mesg;
|
||||
mesg << tipo.descrizione() << TR(" n. ") << doc.get(DOC_NDOC).as_int()
|
||||
mesg << tipo.descrizione() << TR(" n. ") << doc.get(DOC_NDOC)
|
||||
<< TR(" a ") << get_mail_address();
|
||||
log.log(0, mesg);
|
||||
}
|
||||
@ -1131,12 +1141,16 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
|
||||
if (mail_book->pages() > 0)
|
||||
{
|
||||
TFilename attachment;
|
||||
|
||||
attachment.tempdir();
|
||||
attachment << SLASH << _anno <<'_' << _codnum << '_' << _ndoc;
|
||||
attachment.ext("pdf");
|
||||
mail_book->send_mail(attachment, mode == out_signed_mail);
|
||||
remove(attachment);
|
||||
|
||||
bool ok = mail_book->export_pdf(attachment, mode == out_signed_mail);
|
||||
if (attach_mail) // Ho chiesto la spedizione vera e propria
|
||||
{
|
||||
ok = spotlite_send_mail(attachment);
|
||||
remove(attachment);
|
||||
}
|
||||
}
|
||||
delete mail_book;
|
||||
mail_book = NULL;
|
||||
@ -1158,7 +1172,6 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
|
||||
pdf.tempdir();
|
||||
pdf << SLASH << _anno <<'_' << _codnum << '_' << _ndoc;
|
||||
pdf.ext("pdf");
|
||||
|
||||
if (book.export_pdf(pdf, mode == out_signed_pdf))
|
||||
xvt_sys_goto_url(pdf, "open");
|
||||
}
|
||||
@ -1194,13 +1207,13 @@ TReport_doc_app::TOutput_mode TReport_doc_app::key2mode(KEY k) const
|
||||
|
||||
switch (k)
|
||||
{
|
||||
case 'A': mode = out_preview; break;
|
||||
case 'E': mode = out_mail; break;
|
||||
case 'e': mode = out_signed_mail; break;
|
||||
case 'P': mode = out_pdf; break;
|
||||
case 'p': mode = out_signed_pdf; break;
|
||||
case 'S':
|
||||
default : mode = out_print; break;
|
||||
case 'A': mode = out_preview; break;
|
||||
case 'E': mode = out_mail; break;
|
||||
case 'e': mode = out_signed_mail; break;
|
||||
case 'P': mode = out_pdf; break;
|
||||
case 'p': mode = out_signed_pdf; break;
|
||||
case 'S':
|
||||
default : mode = out_print; break;
|
||||
}
|
||||
return mode;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user