Patch level : 10.0 patch 535
Files correlati : lv2 lv2400a.msk Ricompilazione Demo : [ ] Commento : Corretta la stampa automatica da doc a doc in lv2900 Implementata la stampa automatica da doc a doc in lv2400 git-svn-id: svn://10.65.10.50/trunk@19695 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f1b1a1ae3a
commit
4ea5ca71ed
@ -1,5 +1,6 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
#include <reputils.h>
|
||||
#include <reprint.h>
|
||||
@ -27,7 +28,7 @@ class TGenera_documenti_msk : public TAutomask
|
||||
{
|
||||
public:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
TGenera_documenti_msk (const char* name) : TAutomask(name) {}
|
||||
TGenera_documenti_msk (const char* name) : TAutomask(name) {set(F_STAMPA, 'X');}
|
||||
};
|
||||
|
||||
//ON_FIELD_EVENT: questo metodo gestisce i vari eventi che si verificano sui campi della maschera
|
||||
@ -51,7 +52,7 @@ class TGenera_documenti_app : public TSkeleton_application
|
||||
|
||||
private:
|
||||
//Metodi per la generazione dei documenti
|
||||
bool crea_documento(const TISAM_recordset& plan, TLog_report& rep, int& numdocgen);
|
||||
bool crea_documento(const TISAM_recordset& plan, TLog_report& rep, int& numdocgen, TAssoc_array& documenti);
|
||||
void crea_riga(const TString& codart, const char modpas, const int tplis, const bool tmp, const bool prinbo, TDocumento& doc, TLog_report& rep);
|
||||
//Metodi per il recupero di codnum, tpdoc, stato
|
||||
bool numerazione_ddt(TString& codnum, TString& tpdoc, TString& statoi, TString& statof) const;
|
||||
@ -116,7 +117,7 @@ bool TGenera_documenti_app::destroy()
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
//CREA_DOCUMENTO: metodo che crea un nuovo documento di trasporto dai dati salvati
|
||||
bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_report& rep, int& numdocgen)
|
||||
bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_report& rep, int& numdocgen, TAssoc_array& documenti)
|
||||
{
|
||||
//recupero i dati di interesse dalla maschera
|
||||
const TDate datagen(TODAY);
|
||||
@ -148,7 +149,7 @@ bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_rep
|
||||
TString4 statoi;
|
||||
TString4 statof;
|
||||
|
||||
//Cerco il tipo documento da generaresul contratto; se non lo trovo lo cerco in configurazione.
|
||||
//Cerco il tipo documento da generare sul contratto; se non lo trovo lo cerco in configurazione.
|
||||
//Se non trovo quale documento generare, evito il resto dell'elaborazione
|
||||
if(tcont.get(LVCONDV_CODNUM).full() && _buono == 'C')
|
||||
{
|
||||
@ -236,6 +237,11 @@ bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_rep
|
||||
f.put(LVRCONSPLAN_CODNUM, codnum);
|
||||
f.put(LVRCONSPLAN_NDOC, _ndoc);
|
||||
f.rewrite();
|
||||
|
||||
//tengo traccia dei documenti che sto generando, per poterli stampare dopo
|
||||
TDoc_key kdoc(doc.get_int(DOC_ANNO), doc.get(DOC_CODNUM), doc.get_int(DOC_NDOC));
|
||||
if (!documenti.is_key(kdoc))
|
||||
documenti.add(kdoc, kdoc);
|
||||
}
|
||||
}
|
||||
return err == NOERR;
|
||||
@ -761,6 +767,8 @@ bool TGenera_documenti_app::transfer()
|
||||
|
||||
int numdocgen = 0;
|
||||
|
||||
TAssoc_array documenti;
|
||||
|
||||
for (dadata; dadata <= adata; ++dadata)
|
||||
{
|
||||
//per ogni data cerco i documenti e per ogni documento cerco i dati del passaggio
|
||||
@ -808,11 +816,33 @@ bool TGenera_documenti_app::transfer()
|
||||
{
|
||||
_quantita.destroy();
|
||||
_quantita_ritirata.destroy();
|
||||
crea_documento(plan, rep, numdocgen);
|
||||
crea_documento(plan, rep, numdocgen, documenti);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (_msk->get_bool(F_STAMPA))
|
||||
{
|
||||
//preparo il pezzo fisso della linea di comando per richiamare la stampa dei documenti
|
||||
TDoc_key kd(documenti.get_hashobj()->key());
|
||||
const TString4 codnum = kd.codnum();
|
||||
const int anno = kd.anno();
|
||||
const char provv = kd.provv();
|
||||
|
||||
TDoc_key& dk1 = *(TDoc_key*)documenti.first_item();
|
||||
const int dandoc = dk1.ndoc();
|
||||
|
||||
TDoc_key& dk2 = *(TDoc_key*)documenti.last_item();
|
||||
const int andoc = dk2.ndoc();
|
||||
|
||||
//lancia la stampa dei documenti ve1 -2 da documento a documento
|
||||
TString80 str;
|
||||
str << "ve1 -2 " << codnum << ' ' << anno << ' ' << provv << ' ' << dandoc << '-' << andoc << " S D";
|
||||
|
||||
TExternal_app stampa(str);
|
||||
stampa.run();
|
||||
}
|
||||
|
||||
if (adata < TODAY && _msk->get_int(F_TPGEN) == 0)
|
||||
warning_box(TR("Non è stato possibile generare documenti con data prevista consegna nel passato"));
|
||||
else
|
||||
|
@ -8,4 +8,5 @@
|
||||
#define F_CODAUT 108
|
||||
#define F_DESCRAUT 109
|
||||
#define F_CODCF 110
|
||||
#define F_RAGSOCCLI 111
|
||||
#define F_RAGSOCCLI 111
|
||||
#define F_STAMPA 112
|
@ -118,5 +118,15 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 9 "@bParametri di stampa"
|
||||
END
|
||||
|
||||
BOOLEAN F_STAMPA
|
||||
BEGIN
|
||||
PROMPT 2 10 "Stampa automatica buoni"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
@ -216,7 +216,20 @@ bool TConta_pulito_msk::on_field_event(TOperable_field& f,TField_event e,long jo
|
||||
const int anno = kd.anno();
|
||||
const char provv = kd.provv();
|
||||
|
||||
//lancia la stampa dei documenti ve1 -2 per ogni documento preparato
|
||||
TDoc_key& dk1 = *(TDoc_key*)documenti.first_item();
|
||||
const int dandoc = dk1.ndoc();
|
||||
|
||||
TDoc_key& dk2 = *(TDoc_key*)documenti.last_item();
|
||||
const int andoc = dk2.ndoc();
|
||||
|
||||
//lancia la stampa dei documenti ve1 -2 da documento a documento
|
||||
TString80 str;
|
||||
str << "ve1 -2 " << codnum << ' ' << anno << ' ' << provv << ' ' << dandoc << '-' << andoc << " S D";
|
||||
|
||||
TExternal_app stampa(str);
|
||||
stampa.run();
|
||||
|
||||
/*//lancia la stampa dei documenti ve1 -2 per ogni documento preparato
|
||||
TString80 str;
|
||||
str << "ve1 -2 " << codnum << ' ' << anno << ' ' << provv << ' ';
|
||||
|
||||
@ -230,7 +243,7 @@ bool TConta_pulito_msk::on_field_event(TOperable_field& f,TField_event e,long jo
|
||||
|
||||
TExternal_app stampa(lcom);
|
||||
stampa.run();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
message_box(TR("Generazione dei documenti terminata"));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user