Patch level : 10.0 332
Files correlati : pe0.exe Ricompilazione Demo : [ ] Commento Preventivazione gestione k git-svn-id: svn://10.65.10.50/trunk@19041 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									5ca55b153e
								
							
						
					
					
						commit
						c86cef853f
					
				@ -45,6 +45,7 @@ protected:
 | 
				
			|||||||
  static bool pe_qta_handler(TMask_field& f, KEY k);
 | 
					  static bool pe_qta_handler(TMask_field& f, KEY k);
 | 
				
			||||||
	static bool pe_k_handler(TMask_field& f, KEY k);
 | 
						static bool pe_k_handler(TMask_field& f, KEY k);
 | 
				
			||||||
	static bool pe_prezzo_handler(TMask_field& f, KEY k);
 | 
						static bool pe_prezzo_handler(TMask_field& f, KEY k);
 | 
				
			||||||
 | 
						static bool pe_costo_handler(TMask_field& f, KEY k);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static bool ss_notify(TSheet_field& ss, int r, KEY key);
 | 
					  static bool ss_notify(TSheet_field& ss, int r, KEY key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -227,7 +228,6 @@ bool TGestione_preventivo_msk::ss_notify(TSheet_field& ss, int r, KEY key)
 | 
				
			|||||||
			short id;
 | 
								short id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			sh.enable_cell(r, sh.cid2index(FR_PREZZO), price_enabled);
 | 
								sh.enable_cell(r, sh.cid2index(FR_PREZZO), price_enabled);
 | 
				
			||||||
//			sh.enable_cell(r, sh.cid2index(FR_JOLLY2), price_enabled && mask.get_bool(F_USEK));
 | 
					 | 
				
			||||||
			sh.enable_cell(r, sh.cid2index(FR_JOLLY3), price_enabled);
 | 
								sh.enable_cell(r, sh.cid2index(FR_JOLLY3), price_enabled);
 | 
				
			||||||
			for (id = FR_CDC1; id < FR_CDC12; id++)
 | 
								for (id = FR_CDC1; id < FR_CDC12; id++)
 | 
				
			||||||
				sh.enable_cell(r, sh.cid2index(id), prodfin);
 | 
									sh.enable_cell(r, sh.cid2index(id), prodfin);
 | 
				
			||||||
@ -265,7 +265,6 @@ bool TGestione_preventivo_msk::ss_notify(TSheet_field& ss, int r, KEY key)
 | 
				
			|||||||
					if (level > father_row.get_int(RDOC_LEVEL))
 | 
										if (level > father_row.get_int(RDOC_LEVEL))
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						sh.disable_cell(father_sheet_row, sh.cid2index(FR_PREZZO));
 | 
											sh.disable_cell(father_sheet_row, sh.cid2index(FR_PREZZO));
 | 
				
			||||||
//						sh.disable_cell(father_sheet_row, sh.cid2index(FR_JOLLY2) || !mask.get_bool(F_USEK));
 | 
					 | 
				
			||||||
						sh.disable_cell(father_sheet_row, sh.cid2index(FR_JOLLY3));
 | 
											sh.disable_cell(father_sheet_row, sh.cid2index(FR_JOLLY3));
 | 
				
			||||||
						father_row.zero(RDOC_COSTO);
 | 
											father_row.zero(RDOC_COSTO);
 | 
				
			||||||
						father_row.zero(RDOC_PREZZO);
 | 
											father_row.zero(RDOC_PREZZO);
 | 
				
			||||||
@ -357,6 +356,7 @@ TVariable_mask * TGestione_preventivo_msk::riga_mask(int numriga)
 | 
				
			|||||||
		m->set_handler(FR_QTA, pe_qta_handler);
 | 
							m->set_handler(FR_QTA, pe_qta_handler);
 | 
				
			||||||
		m->set_handler(FR_PREZZO, pe_prezzo_handler);
 | 
							m->set_handler(FR_PREZZO, pe_prezzo_handler);
 | 
				
			||||||
		m->set_handler(FR_JOLLY2, pe_k_handler);
 | 
							m->set_handler(FR_JOLLY2, pe_k_handler);
 | 
				
			||||||
 | 
							m->set_handler(FR_JOLLY3, pe_costo_handler);
 | 
				
			||||||
		tree.set_field(RDOC_TREE);
 | 
							tree.set_field(RDOC_TREE);
 | 
				
			||||||
		k.set_field(RDOC_K);
 | 
							k.set_field(RDOC_K);
 | 
				
			||||||
		v.set_field(RDOC_COSTO);
 | 
							v.set_field(RDOC_COSTO);
 | 
				
			||||||
@ -383,7 +383,6 @@ void TGestione_preventivo_msk::doc2mask(bool reload_clifo, bool force_load, bool
 | 
				
			|||||||
		const bool price_enabled = (i + 1 == d.physical_rows()) || (level >= d[i + 2].get_int(RDOC_LEVEL));
 | 
							const bool price_enabled = (i + 1 == d.physical_rows()) || (level >= d[i + 2].get_int(RDOC_LEVEL));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		s.enable_cell(i, s.cid2index(FR_PREZZO), price_enabled);
 | 
							s.enable_cell(i, s.cid2index(FR_PREZZO), price_enabled);
 | 
				
			||||||
//		s.enable_cell(i, s.cid2index(FR_JOLLY2), price_enabled && has_k);
 | 
					 | 
				
			||||||
		s.enable_cell(i, s.cid2index(FR_JOLLY3), price_enabled);
 | 
							s.enable_cell(i, s.cid2index(FR_JOLLY3), price_enabled);
 | 
				
			||||||
		for (short id = FR_CDC1; id < FR_CDC12; id++)
 | 
							for (short id = FR_CDC1; id < FR_CDC12; id++)
 | 
				
			||||||
			s.enable_cell(i, s.cid2index(id), prodfin);
 | 
								s.enable_cell(i, s.cid2index(id), prodfin);
 | 
				
			||||||
@ -842,7 +841,9 @@ bool TGestione_preventivo_msk::pe_prezzo_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
  TMask& row_mask = f.mask();
 | 
					  TMask& row_mask = f.mask();
 | 
				
			||||||
	const bool last_level = row_mask.field(FR_JOLLY3).enabled();
 | 
						const bool last_level = row_mask.field(FR_JOLLY3).enabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (last_level && k == K_F8)
 | 
						if (last_level)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (k == K_F8)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			TSheet_field * sh = row_mask.get_sheet();
 | 
								TSheet_field * sh = row_mask.get_sheet();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -856,7 +857,31 @@ bool TGestione_preventivo_msk::pe_prezzo_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
				condv.set_testa(&mask);
 | 
									condv.set_testa(&mask);
 | 
				
			||||||
				condv.set_riga(&row_mask);
 | 
									condv.set_riga(&row_mask);
 | 
				
			||||||
				condv.ricerca();
 | 
									condv.ricerca();
 | 
				
			||||||
			doc[row].put(RDOC_PREZZO, row_mask.get(FR_PREZZO));
 | 
									doc[row + 1].put(RDOC_PREZZO, row_mask.get(FR_PREZZO));
 | 
				
			||||||
 | 
									row_mask.reset(FR_JOLLY2);
 | 
				
			||||||
 | 
									row_mask.field(FR_JOLLY2).set_focusdirty(false);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (k == K_TAB && f.focusdirty())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								row_mask.reset(FR_JOLLY2);
 | 
				
			||||||
 | 
								row_mask.field(FR_JOLLY2).set_focusdirty(false);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					  return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TGestione_preventivo_msk::pe_costo_handler(TMask_field& f, KEY k)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  TMask& row_mask = f.mask();
 | 
				
			||||||
 | 
						const bool last_level = row_mask.field(FR_JOLLY3).enabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (last_level)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (k == K_TAB && f.focusdirty())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								row_mask.reset(FR_JOLLY2);
 | 
				
			||||||
 | 
								row_mask.field(FR_JOLLY2).set_focusdirty(false);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
  return true;
 | 
					  return true;
 | 
				
			||||||
@ -964,9 +989,6 @@ int TGestione_preventivo_app::write( const TMask& m )
 | 
				
			|||||||
	TDocumento& doc = mask.doc();
 | 
						TDocumento& doc = mask.doc();
 | 
				
			||||||
	const int rows = doc.physical_rows();
 | 
						const int rows = doc.physical_rows();
 | 
				
			||||||
	const TString k = doc.get(DOC_K);
 | 
						const TString k = doc.get(DOC_K);
 | 
				
			||||||
	int max_level = 0;
 | 
					 | 
				
			||||||
	TArray valori;
 | 
					 | 
				
			||||||
	TArray costi;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (int i = rows ; i > 0; i--)
 | 
						for (int i = rows ; i > 0; i--)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -985,11 +1007,8 @@ int TGestione_preventivo_app::rewrite( const TMask& m )
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	TGestione_preventivo_msk & mask = (TGestione_preventivo_msk &) m;
 | 
						TGestione_preventivo_msk & mask = (TGestione_preventivo_msk &) m;
 | 
				
			||||||
	TDocumento& doc = ((TDocumento_mask&) m).doc();
 | 
						TDocumento& doc = ((TDocumento_mask&) m).doc();
 | 
				
			||||||
	const TString k = doc.get(DOC_K);
 | 
					 | 
				
			||||||
	int max_level = 0;
 | 
					 | 
				
			||||||
	const int rows = doc.physical_rows();
 | 
						const int rows = doc.physical_rows();
 | 
				
			||||||
	TArray valori;
 | 
						const TString k = doc.get(DOC_K);
 | 
				
			||||||
	TArray costi;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (int i = rows ; i > 0; i--)
 | 
						for (int i = rows ; i > 0; i--)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -1013,10 +1032,15 @@ int TGestione_preventivo_app::read(TMask& m)
 | 
				
			|||||||
		TDocumento_mask& mask = (TDocumento_mask&) m;
 | 
							TDocumento_mask& mask = (TDocumento_mask&) m;
 | 
				
			||||||
		TDocumento& doc = mask.doc();
 | 
							TDocumento& doc = mask.doc();
 | 
				
			||||||
		const TString k = doc.get(DOC_K);
 | 
							const TString k = doc.get(DOC_K);
 | 
				
			||||||
 | 
							TSheet_field & sh = mask.sfield(F_SHEET);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for (int i = 1 ; i <= doc.physical_rows(); i++)
 | 
							for (int i = 1 ; i <= doc.physical_rows(); i++)
 | 
				
			||||||
			if (k == doc[i].get(RDOC_K))
 | 
								if (k == doc[i].get(RDOC_K))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
				doc[i].zero(RDOC_K);
 | 
									doc[i].zero(RDOC_K);
 | 
				
			||||||
 | 
									TToken_string & r = sh.row(i - 1);
 | 
				
			||||||
 | 
									r.add("", sh.cid2index(FR_JOLLY2));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return err;
 | 
						return err;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user