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 <applicat.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
|
#include <execp.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <reputils.h>
|
#include <reputils.h>
|
||||||
#include <reprint.h>
|
#include <reprint.h>
|
||||||
@ -27,7 +28,7 @@ class TGenera_documenti_msk : public TAutomask
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
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
|
//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:
|
private:
|
||||||
//Metodi per la generazione dei documenti
|
//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);
|
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
|
//Metodi per il recupero di codnum, tpdoc, stato
|
||||||
bool numerazione_ddt(TString& codnum, TString& tpdoc, TString& statoi, TString& statof) const;
|
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
|
//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
|
//recupero i dati di interesse dalla maschera
|
||||||
const TDate datagen(TODAY);
|
const TDate datagen(TODAY);
|
||||||
@ -236,6 +237,11 @@ bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_rep
|
|||||||
f.put(LVRCONSPLAN_CODNUM, codnum);
|
f.put(LVRCONSPLAN_CODNUM, codnum);
|
||||||
f.put(LVRCONSPLAN_NDOC, _ndoc);
|
f.put(LVRCONSPLAN_NDOC, _ndoc);
|
||||||
f.rewrite();
|
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;
|
return err == NOERR;
|
||||||
@ -761,6 +767,8 @@ bool TGenera_documenti_app::transfer()
|
|||||||
|
|
||||||
int numdocgen = 0;
|
int numdocgen = 0;
|
||||||
|
|
||||||
|
TAssoc_array documenti;
|
||||||
|
|
||||||
for (dadata; dadata <= adata; ++dadata)
|
for (dadata; dadata <= adata; ++dadata)
|
||||||
{
|
{
|
||||||
//per ogni data cerco i documenti e per ogni documento cerco i dati del passaggio
|
//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.destroy();
|
||||||
_quantita_ritirata.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)
|
if (adata < TODAY && _msk->get_int(F_TPGEN) == 0)
|
||||||
warning_box(TR("Non è stato possibile generare documenti con data prevista consegna nel passato"));
|
warning_box(TR("Non è stato possibile generare documenti con data prevista consegna nel passato"));
|
||||||
else
|
else
|
||||||
|
@ -9,3 +9,4 @@
|
|||||||
#define F_DESCRAUT 109
|
#define F_DESCRAUT 109
|
||||||
#define F_CODCF 110
|
#define F_CODCF 110
|
||||||
#define F_RAGSOCCLI 111
|
#define F_RAGSOCCLI 111
|
||||||
|
#define F_STAMPA 112
|
@ -118,5 +118,15 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
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
|
ENDPAGE
|
||||||
ENDMASK
|
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 int anno = kd.anno();
|
||||||
const char provv = kd.provv();
|
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;
|
TString80 str;
|
||||||
str << "ve1 -2 " << codnum << ' ' << anno << ' ' << provv << ' ';
|
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);
|
TExternal_app stampa(lcom);
|
||||||
stampa.run();
|
stampa.run();
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
message_box(TR("Generazione dei documenti terminata"));
|
message_box(TR("Generazione dei documenti terminata"));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user