Patch level : 10.0 NO PATCH
Files correlati : pd6342 pd6342a.msk Ricompilazione Demo : [ ] Commento : Crea movimenti di quadratura git-svn-id: svn://10.65.10.50/branches/R_10_00@20961 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									d8bb68b774
								
							
						
					
					
						commit
						2efdfb0034
					
				@ -171,8 +171,12 @@ void TImporta_da_BCS_app::genera_movana(const TFilename& file)
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    if (!pi.addstatus(1)) 
 | 
					    if (!pi.addstatus(1)) 
 | 
				
			||||||
		  break;
 | 
							  break;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    const int anno   = recset.get("ANNO").as_int();
 | 
					    const int anno   = recset.get("ANNO").as_int();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(anno <= 0)
 | 
				
			||||||
 | 
					      continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const int mese   = recset.get("MESE").as_int();
 | 
					    const int mese   = recset.get("MESE").as_int();
 | 
				
			||||||
    const int giorno = recset.get("GIORNO").as_int();
 | 
					    const int giorno = recset.get("GIORNO").as_int();
 | 
				
			||||||
    const TDate data(recset.get("GIORNO").as_int(), recset.get("MESE").as_int(), anno);
 | 
					    const TDate data(recset.get("GIORNO").as_int(), recset.get("MESE").as_int(), anno);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										111
									
								
								ps/pd6342400.cpp
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								ps/pd6342400.cpp
									
									
									
									
									
								
							@ -73,7 +73,7 @@ void TQuadra_movana_msk::costruisci_sheet(TSheet_field& s, const short dlg)
 | 
				
			|||||||
	int sy = 3;
 | 
						int sy = 3;
 | 
				
			||||||
  short sdlg = dlg;
 | 
					  short sdlg = dlg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_scdc_sid = _scdc_lid =	_scms_sid = _scms_lid =	_sfase_sid = _sfase_lid = _sconto_sid = _sconto_lid-1;
 | 
						_scdc_sid = _scdc_lid =	_scms_sid = _scms_lid =	_sfase_sid = _sfase_lid = _sconto_sid = _sconto_lid = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (int i = 0; i < 2; i++)
 | 
						for (int i = 0; i < 2; i++)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -158,14 +158,15 @@ void TQuadra_movana_msk::costruisci_sheet(TSheet_field& s, const short dlg)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, TString& cms, TString& fase, TString& codconto, const short sdlg)
 | 
					void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, TString& cms, TString& fase, TString& codconto, const short sdlg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TMask& m = sfield(sdlg).sheet_mask();
 | 
						TSheet_field& sheet = sfield(sdlg);
 | 
				
			||||||
 | 
					  TMask& m = sheet.sheet_mask();
 | 
				
			||||||
	TString val;
 | 
						TString val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cdc.cut(0);
 | 
						cdc.cut(0);
 | 
				
			||||||
	if (_scdc_sid >= 0)
 | 
						if (_scdc_sid >= 0)
 | 
				
			||||||
		for ( short id = _scdc_sid; id <= _scdc_lid; id++)
 | 
							for ( short id = _scdc_sid; id <= _scdc_lid; id++)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			val = m.get(id);
 | 
					      val = row.get(sheet.cid2index(id));
 | 
				
			||||||
			val.rpad(m.field(id).size());
 | 
								val.rpad(m.field(id).size());
 | 
				
			||||||
			cdc << val;
 | 
								cdc << val;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -174,7 +175,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
 | 
				
			|||||||
	if (_scms_sid >= 0)
 | 
						if (_scms_sid >= 0)
 | 
				
			||||||
		for ( short id = _scms_sid; id <= _scms_lid; id++)
 | 
							for ( short id = _scms_sid; id <= _scms_lid; id++)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			val = m.get(id);
 | 
								val = row.get(sheet.cid2index(id));
 | 
				
			||||||
			val.rpad(m.field(id).size());
 | 
								val.rpad(m.field(id).size());
 | 
				
			||||||
			cms << val;
 | 
								cms << val;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -183,7 +184,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
 | 
				
			|||||||
	if (_sfase_sid >= 0)
 | 
						if (_sfase_sid >= 0)
 | 
				
			||||||
		for ( short id = _sfase_sid; id <= _sfase_lid; id++)
 | 
							for ( short id = _sfase_sid; id <= _sfase_lid; id++)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			val = m.get(id);
 | 
								val = row.get(sheet.cid2index(id));
 | 
				
			||||||
			val.rpad(m.field(id).size());
 | 
								val.rpad(m.field(id).size());
 | 
				
			||||||
			fase << val;
 | 
								fase << val;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -192,7 +193,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
 | 
				
			|||||||
  if (_sconto_sid >= 0)
 | 
					  if (_sconto_sid >= 0)
 | 
				
			||||||
		for ( short id = _sconto_sid; id <= _sconto_lid; id++)
 | 
							for ( short id = _sconto_sid; id <= _sconto_lid; id++)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			val = m.get(id);
 | 
								val = row.get(sheet.cid2index(id));
 | 
				
			||||||
			val.rpad(m.field(id).size());
 | 
								val.rpad(m.field(id).size());
 | 
				
			||||||
			codconto << val;
 | 
								codconto << val;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -349,7 +350,7 @@ void TQuadra_movana_msk::riempi_sheets()
 | 
				
			|||||||
      rrow.add(datacomp,         rs.cid2index(Q_DATACOMP));
 | 
					      rrow.add(datacomp,         rs.cid2index(Q_DATACOMP));
 | 
				
			||||||
      put_row_anal_fields(rrow, codcosto, codcms, codfase, codconto, F_MOVQUAD);
 | 
					      put_row_anal_fields(rrow, codcosto, codcms, codfase, codconto, F_MOVQUAD);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if(descrizione == "Riga quadratura")
 | 
					      if(descrizione == "Riga di quadratura")
 | 
				
			||||||
        rs.disable_row(r - 1);
 | 
					        rs.disable_row(r - 1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -370,7 +371,6 @@ void TQuadra_movana_msk::sposta_a_destra()
 | 
				
			|||||||
  rrow = lrow;
 | 
					  rrow = lrow;
 | 
				
			||||||
  ls.destroy(ls.selected());
 | 
					  ls.destroy(ls.selected());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ls.force_update();
 | 
					 | 
				
			||||||
  rs.force_update();
 | 
					  rs.force_update();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  calcola_totale(rs);
 | 
					  calcola_totale(rs);
 | 
				
			||||||
@ -388,7 +388,6 @@ void TQuadra_movana_msk::sposta_a_sinistra()
 | 
				
			|||||||
  rs.destroy(rs.selected());
 | 
					  rs.destroy(rs.selected());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ls.force_update();
 | 
					  ls.force_update();
 | 
				
			||||||
  rs.force_update();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  calcola_totale(rs);
 | 
					  calcola_totale(rs);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -441,11 +440,17 @@ void TQuadra_movana_msk::crea_riga_quadratura()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
TQuadra_movana_msk::TQuadra_movana_msk() : TAutomask("pd6342400a") 
 | 
					TQuadra_movana_msk::TQuadra_movana_msk() : TAutomask("pd6342400a") 
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  disable(DLG_CERCA);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const TDate data(TODAY);
 | 
				
			||||||
 | 
					  const TDate primo(1, 1, data.year());
 | 
				
			||||||
 | 
					  set(F_DADATA, primo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TConfig& cfg = ca_config();
 | 
					  TConfig& cfg = ca_config();
 | 
				
			||||||
	const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
						const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
 | 
						const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
 | 
				
			||||||
	const int nfields = ca_create_fields_compact(*this, 0, logicnum, 2, 6, F_CDC1, F_CDCD1);
 | 
						const int nfields = ca_create_fields_compact(*this, 0, logicnum, 2, 6, F_CDC1, F_CDC1 + 50);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (int i = 0; i < nfields; i++)
 | 
						for (int i = 0; i < nfields; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -491,26 +496,29 @@ void TQuadra_movana_msk::registra()
 | 
				
			|||||||
  rs.sort(sort_by_numreg);
 | 
					  rs.sort(sort_by_numreg);
 | 
				
			||||||
  rs.force_update();
 | 
					  rs.force_update();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  long numregold = 0L;
 | 
					  long numregold = -1;
 | 
				
			||||||
  TLocalisamfile file(LF_MOVANA);
 | 
					  TLocalisamfile file(LF_MOVANA);
 | 
				
			||||||
  TAnal_mov movana(0);
 | 
					  TAnal_mov movana(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  FOR_EACH_SHEET_ROW(rs, r, riga)
 | 
					  FOR_EACH_SHEET_ROW(rs, r, riga)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    TToken_string& row = *(TToken_string*)riga;
 | 
					    TToken_string& row = *(TToken_string*)riga;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    TString80 descr = row.get(rs.cid2index(Q_DESCR));
 | 
				
			||||||
 | 
					    if(descr == "Riga di quadratura")
 | 
				
			||||||
 | 
					      continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(numregold < row.get_long(rs.cid2index(Q_NUMREG)))
 | 
					    if(numregold < 0L)
 | 
				
			||||||
 | 
					      movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
 | 
				
			||||||
 | 
					    else if(numregold < row.get_long(rs.cid2index(Q_NUMREG)))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      if(!movana.empty())
 | 
					      movana.rewrite_write(file);
 | 
				
			||||||
      {
 | 
					      movana.zero();
 | 
				
			||||||
        movana.rewrite_write(file);
 | 
					      movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
 | 
				
			||||||
        movana.zero();
 | 
					    }
 | 
				
			||||||
        movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
 | 
					    movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
 | 
					 | 
				
			||||||
    }    
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  movana.rewrite_write(file);
 | 
					  movana.rewrite_write(file); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const TDate oggi(TODAY);
 | 
					  const TDate oggi(TODAY);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -523,8 +531,36 @@ void TQuadra_movana_msk::registra()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  TImporto totale;
 | 
					  TImporto totale;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  FOR_EACH_SHEET_ROW(rs, r1, riga1)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TToken_string& r = *(TToken_string*)riga1;
 | 
				
			||||||
 | 
					    TImporto importo;
 | 
				
			||||||
 | 
					    importo = r;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TRectype& rmovana = movana.new_row();
 | 
				
			||||||
 | 
					    TString80 cdc;
 | 
				
			||||||
 | 
					    TString80 cms;
 | 
				
			||||||
 | 
					    TString80 fase;
 | 
				
			||||||
 | 
					    TString80 conto;
 | 
				
			||||||
 | 
					    get_row_anal_fields(r, cdc, cms, fase, conto, F_MOVQUAD);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_ANNOES, oggi.year());
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_SEZIONE, importo.sezione());
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_IMPORTO, importo.valore());
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_DESCR, r.get(rs.cid2index(Q_DESCR)));
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_CODCCOSTO, cdc);
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_CODCMS, cms);
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_CODFASE, fase);
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_CODCONTO, conto);
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_ANNOES, oggi.year());
 | 
				
			||||||
 | 
					    rmovana.put(RMOVANA_DATACOMP, oggi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    totale += importo;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  movana.put(MOVANA_SEZIONE, totale.sezione());
 | 
				
			||||||
 | 
					  movana.put(MOVANA_TOTDOC, totale.valore());
 | 
				
			||||||
 | 
					  movana.write(file);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
					bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
				
			||||||
@ -551,6 +587,26 @@ bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long
 | 
				
			|||||||
      registra();
 | 
					      registra();
 | 
				
			||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  case DLG_ANNULLA:
 | 
				
			||||||
 | 
					    if(e == fe_button)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      reset(F_DADATA);
 | 
				
			||||||
 | 
					      reset(F_ADATA);
 | 
				
			||||||
 | 
					      reset(F_NUMREGCG);
 | 
				
			||||||
 | 
					      reset(F_DESREGCG);
 | 
				
			||||||
 | 
					      reset(F_TOTDOC);
 | 
				
			||||||
 | 
					      reset(F_TOTRIGHE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      TSheet_field& ls = sfield(F_MOVNNQUAD);
 | 
				
			||||||
 | 
					      ls.destroy();
 | 
				
			||||||
 | 
					      ls.force_update();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      TSheet_field& rs = sfield(F_MOVQUAD);
 | 
				
			||||||
 | 
					      rs.destroy();
 | 
				
			||||||
 | 
					      rs.force_update();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  case DLG_USER:
 | 
					  case DLG_USER:
 | 
				
			||||||
    if(e == fe_button)
 | 
					    if(e == fe_button)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -563,6 +619,19 @@ bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long
 | 
				
			|||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					  case F_NUMREGCG:
 | 
				
			||||||
 | 
					    if(e == fe_modify)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      int cazzone = get_int(F_NUMREGCG);
 | 
				
			||||||
 | 
					      if(get(F_NUMREGCG).full())
 | 
				
			||||||
 | 
					        enable(DLG_CERCA);
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        disable(DLG_CERCA);
 | 
				
			||||||
 | 
					        reset(F_NUMREGCG);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  case F_MOVNNQUAD:
 | 
					  case F_MOVNNQUAD:
 | 
				
			||||||
  case F_MOVQUAD:
 | 
					  case F_MOVQUAD:
 | 
				
			||||||
    if(e == se_query_add)
 | 
					    if(e == se_query_add)
 | 
				
			||||||
 | 
				
			|||||||
@ -9,15 +9,12 @@
 | 
				
			|||||||
#define F_CDC2       208
 | 
					#define F_CDC2       208
 | 
				
			||||||
#define F_CDC3       209
 | 
					#define F_CDC3       209
 | 
				
			||||||
#define F_CDC4       210
 | 
					#define F_CDC4       210
 | 
				
			||||||
#define F_CDCD1      257
 | 
					 | 
				
			||||||
#define F_CDCD2      258
 | 
					 | 
				
			||||||
#define F_CDCD3      259
 | 
					 | 
				
			||||||
#define F_CDCD4      260
 | 
					 | 
				
			||||||
#define F_MOVNNQUAD  211
 | 
					#define F_MOVNNQUAD  211
 | 
				
			||||||
#define F_MOVQUAD    212
 | 
					#define F_MOVQUAD    212
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DLG_CERCA    801
 | 
					#define DLG_CERCA    801
 | 
				
			||||||
#define DLG_SALVA    802
 | 
					#define DLG_SALVA    802
 | 
				
			||||||
 | 
					#define DLG_ANNULLA  803
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define NQ_DARE      101
 | 
					#define NQ_DARE      101
 | 
				
			||||||
#define NQ_AVERE     102
 | 
					#define NQ_AVERE     102
 | 
				
			||||||
 | 
				
			|||||||
@ -14,6 +14,12 @@ BEGIN
 | 
				
			|||||||
  PICTURE TOOL_SAVEREC
 | 
					  PICTURE TOOL_SAVEREC
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_ANNULLA
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 1 "Annulla"
 | 
				
			||||||
 | 
					  PICTURE TOOL_CANCEL
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <elabar.h>
 | 
					#include <elabar.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDPAGE
 | 
					ENDPAGE
 | 
				
			||||||
@ -28,11 +34,14 @@ END
 | 
				
			|||||||
DATE F_DADATA
 | 
					DATE F_DADATA
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 2 1 "Considera i movimenti dal "
 | 
					  PROMPT 2 1 "Considera i movimenti dal "
 | 
				
			||||||
 | 
					  CHECKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DATE F_ADATA
 | 
					DATE F_ADATA
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 42 1 "al "
 | 
					  PROMPT 42 1 "al "
 | 
				
			||||||
 | 
					  FLAGS "A"
 | 
				
			||||||
 | 
					  CHECKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GROUPBOX DLG_NULL 78 5
 | 
					GROUPBOX DLG_NULL 78 5
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user