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
 | 
			
		||||
 | 
			
		||||
@ -9,3 +9,4 @@
 | 
			
		||||
#define F_DESCRAUT   109
 | 
			
		||||
#define F_CODCF      110
 | 
			
		||||
#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