Patch level :2.0 nopatch
Files correlati :ce4.exe & co. Ricompilazione Demo : [ ] Commento :prima stesura calcolo cespiti per commessa git-svn-id: svn://10.65.10.50/trunk@11625 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									613a47146f
								
							
						
					
					
						commit
						db03909b71
					
				@ -7,9 +7,9 @@ int main(int argc,char** argv)
 | 
			
		||||
  const int r = (argc > 1) ? (argv[1][1]-'0') : 0;
 | 
			
		||||
  switch (r)
 | 
			
		||||
  {
 | 
			
		||||
/*  case  1:
 | 
			
		||||
  case  1:
 | 
			
		||||
    ce4200(argc,argv); break; //calcolo cespiti per commessa
 | 
			
		||||
  case  2:
 | 
			
		||||
/*  case  2:
 | 
			
		||||
    ce4300(argc,argv); break;*/ //stampa cespiti per commessa
 | 
			
		||||
  case  0:
 | 
			
		||||
  default: ce4100(argc,argv) ; break; // inserimento cespiti per commessa (personalizzazione CRPA)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								ce/ce4.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								ce/ce4.h
									
									
									
									
									
								
							@ -2,7 +2,7 @@
 | 
			
		||||
#define __CE4_H
 | 
			
		||||
 | 
			
		||||
int ce4100(int argc, char* argv[]);
 | 
			
		||||
//int ce4200(int argc, char* argv[]);
 | 
			
		||||
int ce4200(int argc, char* argv[]);
 | 
			
		||||
//int ce4300(int argc, char* argv[]);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										262
									
								
								ce/ce4200.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										262
									
								
								ce/ce4200.cpp
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,262 @@
 | 
			
		||||
#include <applicat.h>
 | 
			
		||||
#include <automask.h>
 | 
			
		||||
#include <doc.h>
 | 
			
		||||
#include <rdoc.h>
 | 
			
		||||
#include <recarray.h>
 | 
			
		||||
 | 
			
		||||
#include "ce4200a.h"
 | 
			
		||||
#include "ce4200.h"
 | 
			
		||||
 | 
			
		||||
#include "ammce.h"
 | 
			
		||||
#include "cespi.h"
 | 
			
		||||
#include "salcecms.h"
 | 
			
		||||
 | 
			
		||||
#include "..\ve\velib.h"
 | 
			
		||||
 | 
			
		||||
//===============================================================================================
 | 
			
		||||
//maschera
 | 
			
		||||
 | 
			
		||||
class TCalc_cesp_cms_mask: public TAutomask 
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
			
		||||
 | 
			
		||||
  TCalc_cesp_cms_mask():TAutomask("ce4200a") {}
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool TCalc_cesp_cms_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
			
		||||
{
 | 
			
		||||
/*  switch (o.dlg())
 | 
			
		||||
  {
 | 
			
		||||
    default: break;
 | 
			
		||||
  }*/
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//===============================================================================================
 | 
			
		||||
//form
 | 
			
		||||
class TCalc_cesp_cms_form : public TForm
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  virtual bool validate(TForm_item &cf, TToken_string &s);
 | 
			
		||||
  void set_testata() {set_header(1,TRUE);}
 | 
			
		||||
  void set_pedata() {set_footer(1,FALSE); set_footer(1,TRUE);}
 | 
			
		||||
  TCalc_cesp_cms_form();
 | 
			
		||||
 | 
			
		||||
  virtual ~TCalc_cesp_cms_form();
 | 
			
		||||
};
 | 
			
		||||
  
 | 
			
		||||
TCalc_cesp_cms_form::TCalc_cesp_cms_form() :TForm ("ce4200a")
 | 
			
		||||
{
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
TCalc_cesp_cms_form::~TCalc_cesp_cms_form()
 | 
			
		||||
{ 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TCalc_cesp_cms_form::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
{
 | 
			
		||||
  return TCalc_cesp_cms_form::validate(cf,s);   //richiama la validate standard della classe genitore (TForm_cespiti)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//===============================================================================================
 | 
			
		||||
//Applicazione
 | 
			
		||||
 | 
			
		||||
class TCalc_cesp_cms : public TSkeleton_application
 | 
			
		||||
{ 
 | 
			
		||||
  TCalc_cesp_cms_mask* _mask;
 | 
			
		||||
  TCalc_cesp_cms_form* _form;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  virtual void main_loop();
 | 
			
		||||
  virtual bool create();
 | 
			
		||||
  virtual bool destroy();
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  void utilizzo_per_cms(const TRectype& ammce_rec);
 | 
			
		||||
  real calc_perc_util_cesp(const TRectype& salcecms_rec, const TDate& dtinices, const TDate& dtfineces);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
real TCalc_cesp_cms::calc_perc_util_cesp(const TRectype& salcecms_rec, const TDate& dtinices, const TDate& dtfineces)
 | 
			
		||||
{ 
 | 
			
		||||
//prende il codice commessa del record..
 | 
			
		||||
  TString80 codcms = salcecms_rec.get(SALCECMS_CODCMS);
 | 
			
		||||
//..ed accede cosi' alla tabella delle commesse
 | 
			
		||||
  const TRectype& cms = cache().get("CMS", codcms);
 | 
			
		||||
//prende le date di inizio e fine commessa dalla tabella per poterle confrontare con le date limite
 | 
			
		||||
//del cespite nell'esercizio  
 | 
			
		||||
  TDate dtfine = dtfineces;
 | 
			
		||||
  const TDate dtfinecms = cms.get_date("D1");
 | 
			
		||||
  if ((dtfinecms.ok()) && (dtfinecms < dtfineces))
 | 
			
		||||
    dtfine = dtfinecms;
 | 
			
		||||
 | 
			
		||||
  TDate dtini = dtinices;
 | 
			
		||||
  const TDate dtinicms = cms.get_date("D0");
 | 
			
		||||
  if ((dtinicms.ok()) && (dtinicms > dtinices))
 | 
			
		||||
    dtini = dtinicms;
 | 
			
		||||
//intervallo giorni di utilizzo cespite nella commessa
 | 
			
		||||
  const real delta_cms = real(dtfine - dtini) / real(dtfineces - dtinices);
 | 
			
		||||
 | 
			
		||||
//adeesso prende la percentuale di utilizzo del cespite nella commessa..
 | 
			
		||||
  real percutil = salcecms_rec.get_real(SALCECMS_PERCUTIL);
 | 
			
		||||
//normalizza la percentuale...
 | 
			
		||||
  percutil = percutil / CENTO;
 | 
			
		||||
//...e la porta in giorni rispetto al totale di utilizzo dei giorni del cespite nell'esercizio
 | 
			
		||||
//(il 100% sono i giorni di utilizzo del cespite in tutte le commesse dell'esercizio)
 | 
			
		||||
  percutil *= delta_cms;
 | 
			
		||||
 | 
			
		||||
  return percutil;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TCalc_cesp_cms::utilizzo_per_cms(const TRectype& ammce_rec)
 | 
			
		||||
{
 | 
			
		||||
//totale quote del cespite in esame per l'esercizio corrente (per tutte le commesse)
 | 
			
		||||
  real qtot = ammce_rec.get_real(AMMCE_QNOR);
 | 
			
		||||
  qtot += ammce_rec.get_real(AMMCE_QACC);
 | 
			
		||||
  qtot += ammce_rec.get_real(AMMCE_QANT);
 | 
			
		||||
//controllo su date inizio e fine del periodo di utilizzo del cespite nell'esercizio selezionato
 | 
			
		||||
  if (qtot != ZERO)
 | 
			
		||||
  {
 | 
			
		||||
    const TString16 idcesp = ammce_rec.get(CESPI_IDCESPITE);
 | 
			
		||||
    const TRectype& cespi = cache().get(LF_CESPI, idcesp);
 | 
			
		||||
 | 
			
		||||
    const TDate dtinies = _mask->get_date(F_INIZIO_ES);
 | 
			
		||||
    const TDate dtfines = _mask->get_date(F_FINE_ES);
 | 
			
		||||
 | 
			
		||||
    TDate dtfine = dtfines;
 | 
			
		||||
    const TDate dtalien = cespi.get_date(CESPI_DTALIEN);
 | 
			
		||||
    if ((dtalien.ok()) && (dtalien < dtfines))
 | 
			
		||||
      dtfine = dtalien;
 | 
			
		||||
  
 | 
			
		||||
    TDate dtini = dtinies;
 | 
			
		||||
    const TDate dtfunz = cespi.get_date(CESPI_DTFUNZ);
 | 
			
		||||
    if ((dtfunz.ok()) && (dtfunz > dtinies))
 | 
			
		||||
      dtini = dtfunz;
 | 
			
		||||
  //..a questo punto dtini e dtfine rappresentano il periodo di utilizzo del cespite 
 | 
			
		||||
  //nell'esercizio selezionato
 | 
			
		||||
  //quindi il periodo di utilizzo del cespite nell'esercizio,in giorni,sara'...
 | 
			
		||||
    const long delta_cesp = dtfine - dtini;
 | 
			
		||||
    
 | 
			
		||||
  //Adesso si controlla la durata di ogni commessa (alla quale il cespite ha partecipato) durante
 | 
			
		||||
  //l'esercizio delezionato
 | 
			
		||||
    const int current_ese = ammce_rec.get_int(AMMCE_CODES);
 | 
			
		||||
 | 
			
		||||
  //crea un record array dove memorizzare i record del file salcecms riguardanti il cespite e 
 | 
			
		||||
  //l'esercizio selezionati
 | 
			
		||||
    TRecord_array salcecms(LF_SALCECMS, "NRIGA");
 | 
			
		||||
    TRectype* key = new TRectype(LF_SALCECMS);
 | 
			
		||||
    key->put("IDCESPITE",idcesp);
 | 
			
		||||
    key->put("CODES",current_ese);
 | 
			
		||||
    salcecms.read(key);
 | 
			
		||||
 | 
			
		||||
  //ciclo su SALCECMS data una chiave idcespite + esercizio (si fa solo se salcecms non e' vuoto,
 | 
			
		||||
  //e' inutile perdere tempo..)
 | 
			
		||||
    if (salcecms.rows() > 0)
 | 
			
		||||
    {
 | 
			
		||||
  //crea documento relativo al cespite in questione (nell'esercizio);ogni riga del documento
 | 
			
		||||
  //sara' relativa ad una commessa
 | 
			
		||||
      const TString4 codnum = _mask->get(F_CODNUM);
 | 
			
		||||
      const TString4 tipodoc = _mask->get(F_TIPODOC);
 | 
			
		||||
      const TString4 tiporiga = _mask->get(F_TIPORIGA);
 | 
			
		||||
      TDocumento doc_cesp('D', current_ese, codnum, atol(idcesp));
 | 
			
		||||
      doc_cesp.put(DOC_TIPODOC, tipodoc);
 | 
			
		||||
      doc_cesp.put(DOC_DATADOC, TDate(TODAY));
 | 
			
		||||
      doc_cesp.body(LF_RIGHEDOC).destroy_rows();
 | 
			
		||||
 | 
			
		||||
      TDistrib distrib(qtot, TCurrency::get_firm_dec());
 | 
			
		||||
      int i;
 | 
			
		||||
      for (i=1; i<=salcecms.last_row(); i++ )
 | 
			
		||||
      {
 | 
			
		||||
        const real perc = calc_perc_util_cesp(salcecms[i], dtini, dtfine);
 | 
			
		||||
        distrib.add(perc * qtot);
 | 
			
		||||
      }
 | 
			
		||||
  //e riempiamo 'sta riga!
 | 
			
		||||
      for (i=1; i<=salcecms.last_row(); i++ )
 | 
			
		||||
      {
 | 
			
		||||
        TRiga_documento& rigadoc = doc_cesp.new_row(tiporiga);
 | 
			
		||||
        rigadoc.put(RDOC_CODCMS, salcecms[i].get(SALCECMS_CODCMS)); //codice commessa
 | 
			
		||||
        rigadoc.put(RDOC_QTA, 1);
 | 
			
		||||
        const real quota = distrib.get();
 | 
			
		||||
        TString80 descr;                          //descrizione cosi' tanto x mettercela
 | 
			
		||||
        descr.format("Quota ammortamento per l'esercizio %s", (const char *) quota.stringa());
 | 
			
		||||
        rigadoc.put(RDOC_DESCR, descr);
 | 
			
		||||
        rigadoc.put(RDOC_PREZZO, quota);          //ammortamento cespite per la commessa
 | 
			
		||||
        const real perc_cms = salcecms[i].get_real(SALCECMS_PERCUTIL);
 | 
			
		||||
        rigadoc.put(RDOC_QTAGG1, perc_cms);       //% utilizzo cespite nella commessa
 | 
			
		||||
        rigadoc.put(RDOC_QTAGG2, dtfine - dtini); //giorni di utilizzo cespite nella commessa
 | 
			
		||||
        rigadoc.put(RDOC_QTAGG3, delta_cesp);     //giorni di utilizzo cespite nell'esercizio        
 | 
			
		||||
        rigadoc.put(RDOC_DATACONS, TDate(TODAY)); //data di elaborazione
 | 
			
		||||
        rigadoc.put(RDOC_CODIVA, _mask->get(F_CODIVA)); //codice IVA obbligatorio
 | 
			
		||||
      }
 | 
			
		||||
  //scrittura del documento
 | 
			
		||||
      doc_cesp.write();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool TCalc_cesp_cms::create()
 | 
			
		||||
{
 | 
			
		||||
  _mask = new TCalc_cesp_cms_mask;
 | 
			
		||||
  _form = new TCalc_cesp_cms_form;
 | 
			
		||||
 | 
			
		||||
  TConfig config_doc ("ce4200a.ini", "Main");
 | 
			
		||||
  _mask->set(F_CODNUM, config_doc.get("CODNUM"));
 | 
			
		||||
  _mask->set(F_TIPODOC, config_doc.get("TIPODOC"));
 | 
			
		||||
  _mask->set(F_TIPORIGA, config_doc.get("TIPORIGA"));
 | 
			
		||||
  _mask->set(F_CODIVA, config_doc.get("CODIVA"));
 | 
			
		||||
 | 
			
		||||
  return TSkeleton_application::create();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TCalc_cesp_cms::destroy()
 | 
			
		||||
{
 | 
			
		||||
  delete _mask;
 | 
			
		||||
  delete _form;
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TCalc_cesp_cms::main_loop()
 | 
			
		||||
{
 | 
			
		||||
  while (_mask->run() == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
    TRectype darec(LF_AMMCE),arec(LF_AMMCE);
 | 
			
		||||
 | 
			
		||||
    const int esercizio = _mask->get_int(F_ESERCIZIO);
 | 
			
		||||
    
 | 
			
		||||
    darec.put(AMMCE_IDCESPITE, _mask->get(F_DA_IDCESPITE));
 | 
			
		||||
    arec.put(AMMCE_IDCESPITE, _mask->get(F_A_IDCESPITE));
 | 
			
		||||
    TString filtro;
 | 
			
		||||
    filtro.format("(CODES==%d)&&(TPSALDO==2)&&(TPAMM==1)",esercizio);
 | 
			
		||||
 | 
			
		||||
    TRelation rel(LF_AMMCE);
 | 
			
		||||
    TCursor cur(&rel, filtro, 1, &darec, &arec);
 | 
			
		||||
    const long items = cur.items();
 | 
			
		||||
    cur.freeze();
 | 
			
		||||
 | 
			
		||||
//ciclo sui cespiti di AMMCE nel codes selezionato
 | 
			
		||||
    for (cur=0; cur.pos()<items; ++cur)
 | 
			
		||||
    { 
 | 
			
		||||
      utilizzo_per_cms(cur.curr());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int ce4200(int argc, char* argv[])
 | 
			
		||||
{
 | 
			
		||||
  TCalc_cesp_cms a;
 | 
			
		||||
  a.run(argc,argv,TR("Calcolo cespiti per commessa"));
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								ce/ce4200.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								ce/ce4200.h
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
//define dei campi del form ce4200a.frm
 | 
			
		||||
#define FR_CODDITTA        101
 | 
			
		||||
#define FR_RAGSOC          102
 | 
			
		||||
#define FR_ESERCIZIO       103
 | 
			
		||||
#define FR_DATAINIZIO      104
 | 
			
		||||
#define FR_DATAFINE        105
 | 
			
		||||
 | 
			
		||||
                             
 | 
			
		||||
							
								
								
									
										112
									
								
								ce/ce4200a.frm
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										112
									
								
								ce/ce4200a.frm
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,112 @@
 | 
			
		||||
#include "ce4200.h"
 | 
			
		||||
 | 
			
		||||
SECTION GRAPHICS ODD
 | 
			
		||||
  LINEA -1 132 1
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 7 "B"
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
  LINEA -1 132 1
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 10 ""
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
  LINEA -1 132 1
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 -3 "B"
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
SECTION HEADER ODD 10
 | 
			
		||||
 | 
			
		||||
  STRINGA -1
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Titolo"
 | 
			
		||||
    PROMPT 1 1 "@bSALDI PER COMMESSA"
 | 
			
		||||
  END  
 | 
			
		||||
 | 
			
		||||
  STRINGA FR_CODDITTA
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Codice ditta"
 | 
			
		||||
    PROMPT 1 2 "@bDitta@r "
 | 
			
		||||
    PICTURE "#####"
 | 
			
		||||
  END  
 | 
			
		||||
    
 | 
			
		||||
  STRINGA FR_RAGSOC
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Ragione sociale"
 | 
			
		||||
    PROMPT 25 2 ""
 | 
			
		||||
  END
 | 
			
		||||
  
 | 
			
		||||
  STRINGA FR_ESERCIZIO
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Esercizio"
 | 
			
		||||
    PROMPT 1 3 "@bEsercizio@r "
 | 
			
		||||
  END
 | 
			
		||||
  
 | 
			
		||||
  STRINGA FR_DATAINIZIO
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Inizio Esercizio"
 | 
			
		||||
    PROMPT 25 3 ""
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
  STRINGA FR_DATAFINE
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Fine Esercizio"
 | 
			
		||||
    PROMPT 41 3 ""
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
END  
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
// Valori cespite
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
SECTION BODY ODD 3
 | 
			
		||||
 | 
			
		||||
STRINGA -1
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 1 "@b"
 | 
			
		||||
  FIELD IDCESPITE
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA -1 54
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 17 1 ""
 | 
			
		||||
  FIELD DESC
 | 
			
		||||
END
 | 
			
		||||
  
 | 
			
		||||
STRING -1
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 2 ""
 | 
			
		||||
  FIELD DTCOMP
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING -1
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 17 2 ""
 | 
			
		||||
  FIELD DTFUNZ
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
SECTION FOOTER ODD 3
 | 
			
		||||
 | 
			
		||||
DATA -1
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 2 "@bData@r " 
 | 
			
		||||
  MESSAGE _TODAY
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERO -1
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 120 2 "@bPagina@r " 
 | 
			
		||||
  MESSAGE _PAGENO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								ce/ce4200a.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								ce/ce4200a.h
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
//definizioni campi per la maschera ce4200a.uml (calcolo cespiti per commessa)
 | 
			
		||||
#define F_DITTA         201
 | 
			
		||||
#define F_RAGSOC        202
 | 
			
		||||
#define F_ESERCIZIO     203
 | 
			
		||||
#define F_INIZIO_ES     204
 | 
			
		||||
#define F_FINE_ES       205
 | 
			
		||||
#define F_DA_IDCESPITE  206
 | 
			
		||||
#define F_DA_DESC       207
 | 
			
		||||
#define F_A_IDCESPITE   208
 | 
			
		||||
#define F_A_DESC        209
 | 
			
		||||
#define F_CODNUM        211
 | 
			
		||||
#define F_DESNUM        212
 | 
			
		||||
#define F_TIPODOC       213
 | 
			
		||||
#define F_DESTIPODOC    214
 | 
			
		||||
#define F_TIPORIGA      215
 | 
			
		||||
#define F_DESTIPORIGA   216
 | 
			
		||||
#define F_CODIVA        217
 | 
			
		||||
#define F_DESIVA        218
 | 
			
		||||
#define F_STAMPA        219
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										182
									
								
								ce/ce4200a.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										182
									
								
								ce/ce4200a.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,182 @@
 | 
			
		||||
#include "ce4200a.h"
 | 
			
		||||
 | 
			
		||||
TOOLBAR "" 0 -2 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_ELABORA 10 2
 | 
			
		||||
BEGIN    
 | 
			
		||||
  PROMPT -12 -11 "~Elabora"
 | 
			
		||||
  PICTURE BMP_ELABORA
 | 
			
		||||
  MESSAGE EXIT,K_ENTER
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_QUIT 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -22 -11 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
PAGE "Calcolo saldi per commessa" -1 -1 0 -3
 | 
			
		||||
 | 
			
		||||
NUMBER F_DITTA 5
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 2 "Ditta     "
 | 
			
		||||
  FLAGS "DF"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_RAGSOC 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 26 2 ""
 | 
			
		||||
  USE LF_NDITTE
 | 
			
		||||
  INPUT CODDITTA F_DITTA
 | 
			
		||||
  OUTPUT F_RAGSOC RAGSOC
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMBER F_ESERCIZIO 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 3 "Esercizio "
 | 
			
		||||
  FLAGS "AZ"
 | 
			
		||||
  USE CCE
 | 
			
		||||
  JOIN ESC ALIAS 104 INTO CODTAB==CODTAB
 | 
			
		||||
  INPUT CODTAB F_ESERCIZIO
 | 
			
		||||
  DISPLAY "Codice esercizio" CODTAB
 | 
			
		||||
  DISPLAY "Inizio esercizio" 104@->D0
 | 
			
		||||
  DISPLAY "Fine esercizio" 104@->D1
 | 
			
		||||
  OUTPUT F_ESERCIZIO CODTAB
 | 
			
		||||
  OUTPUT F_INIZIO_ES 104@->D0
 | 
			
		||||
  OUTPUT F_FINE_ES 104@->D1
 | 
			
		||||
  CHECKTYPE REQUIRED
 | 
			
		||||
  FIELD CODES
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATE F_INIZIO_ES
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 26 3 "Inizio "
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATE F_FINE_ES
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 50 3 "Fine "
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DA_IDCESPITE 10
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 5 "Dal cespite "
 | 
			
		||||
  FLAGS "UZ"
 | 
			
		||||
  USE LF_SALCECMS SELECT NRIGA==1
 | 
			
		||||
  JOIN LF_CESPI INTO IDCESPITE==IDCESPITE
 | 
			
		||||
  INPUT IDCESPITE F_DA_IDCESPITE
 | 
			
		||||
  DISPLAY "Codice@10" IDCESPITE
 | 
			
		||||
  DISPLAY "Descrizione@50" LF_CESPI->DESC
 | 
			
		||||
  DISPLAY "Cat." LF_CESPI->CODCAT
 | 
			
		||||
  DISPLAY "Impianto@10" LF_CESPI->CODIMP
 | 
			
		||||
  DISPLAY "Data Acq.@10" LF_CESPI->DTCOMP
 | 
			
		||||
  DISPLAY "Data Ali.@10" LF_CESPI->DTALIEN
 | 
			
		||||
  OUTPUT F_DA_IDCESPITE IDCESPITE
 | 
			
		||||
  OUTPUT F_DA_DESC LF_CESPI->DESC
 | 
			
		||||
  CHECKTYPE SEARCH
 | 
			
		||||
  ADD RUN "ce0 -4"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DA_DESC 60 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 26 5 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_A_IDCESPITE 10
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 6 "Al cespite  "
 | 
			
		||||
  FLAGS "UZ"
 | 
			
		||||
  COPY USE F_DA_IDCESPITE
 | 
			
		||||
  INPUT IDCESPITE F_A_IDCESPITE
 | 
			
		||||
  COPY DISPLAY F_DA_IDCESPITE
 | 
			
		||||
  OUTPUT F_A_IDCESPITE IDCESPITE
 | 
			
		||||
  OUTPUT F_A_DESC LF_CESPI->DESC
 | 
			
		||||
  CHECKTYPE SEARCH
 | 
			
		||||
  ADD RUN "ce0 -4"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_A_DESC 60 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 26 6 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CODNUM 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 9 "Numerazione  "
 | 
			
		||||
  USE %NUM
 | 
			
		||||
  INPUT CODTAB F_CODNUM
 | 
			
		||||
  OUTPUT F_DESNUM S0
 | 
			
		||||
  KEY 1 2
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
  FLAGS "UD"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DESNUM 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 24 9 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_TIPODOC 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 10 "Tipo         "
 | 
			
		||||
  USE %TIP
 | 
			
		||||
  INPUT CODTAB F_TIPODOC
 | 
			
		||||
  OUTPUT F_DESTIPODOC S0
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
  FLAGS "UD"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DESTIPODOC 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 24 10 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_TIPORIGA 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 11 "Tipo riga    "
 | 
			
		||||
  USE %TRI
 | 
			
		||||
  INPUT CODTAB F_TIPORIGA
 | 
			
		||||
  OUTPUT F_DESTIPORIGA S0
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DESTIPORIGA 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 24 11 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CODIVA 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 12 "Codice IVA   "
 | 
			
		||||
  USE %IVA
 | 
			
		||||
  INPUT CODTAB F_CODIVA
 | 
			
		||||
  OUTPUT F_DESIVA S0
 | 
			
		||||
  CHECTYPE NORMAL
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DESIVA 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 24 12 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_STAMPA
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 14 "Stampa i documenti"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
ENDMASK
 | 
			
		||||
							
								
								
									
										7
									
								
								ce/salcecms.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								ce/salcecms.h
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
#define SALCECMS_IDCESPITE  "IDCESPITE"
 | 
			
		||||
#define SALCECMS_CODES      "CODES"
 | 
			
		||||
#define SALCECMS_NRIGA      "NRIGA"
 | 
			
		||||
#define SALCECMS_CODCMS     "CODCMS"
 | 
			
		||||
#define SALCECMS_PERCUTIL   "PERCUTIL"
 | 
			
		||||
#define SALCECMS_PERCOPE    "PERCCOPE"
 | 
			
		||||
#define SALCECMS_FONDO      "FONDO"
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user