Patch level :4.0 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento :sistemato problema dei conti contabili nei movimenti git-svn-id: svn://10.65.10.50/trunk@14363 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									36e835a42c
								
							
						
					
					
						commit
						4af434baab
					
				| @ -132,6 +132,7 @@ class TBudget_Import : public TSkeleton_application | |||||||
|   TCursor*					_cur; |   TCursor*					_cur; | ||||||
|   TProgind*					_prog; |   TProgind*					_prog; | ||||||
| 	TString						_lastfile; | 	TString						_lastfile; | ||||||
|  | 	TString4					_codcaus; | ||||||
| 
 | 
 | ||||||
| 	virtual const char * extra_modules() const {return "ba";} | 	virtual const char * extra_modules() const {return "ba";} | ||||||
| 
 | 
 | ||||||
| @ -140,6 +141,7 @@ protected: | |||||||
| 	void ini2mask(); | 	void ini2mask(); | ||||||
| 	bool transfer(); | 	bool transfer(); | ||||||
| 	void transfer_movimento(const TRecord_text& curr); //, TError_log& log);
 | 	void transfer_movimento(const TRecord_text& curr); //, TError_log& log);
 | ||||||
|  | 	const TString& ana2bill(const TString& contone) const; | ||||||
| 
 | 
 | ||||||
| 	long get_next_key(); | 	long get_next_key(); | ||||||
| 
 | 
 | ||||||
| @ -173,6 +175,20 @@ long TBudget_Import::get_next_key() | |||||||
|   return numreg; |   return numreg; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | const TString& TBudget_Import::ana2bill(const TString& contone) const | ||||||
|  | { | ||||||
|  | 	TToken_string key; | ||||||
|  | 	key = contone; | ||||||
|  | 	key.add("1"); | ||||||
|  | 	const TRectype& rec = cache().get(LF_PANAPDC, key); | ||||||
|  | 	if (rec.empty()) | ||||||
|  | 		return EMPTY_STRING; | ||||||
|  | 
 | ||||||
|  |   TString& tmp = get_tmp_string(); | ||||||
|  | 	tmp.format("%03d%03d%06ld",  | ||||||
|  | 		         rec.get_int("GRUPPO"), rec.get_int("CONTO"), rec.get_long("SOTTOCONTO")); | ||||||
|  | 	return tmp; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log& log)
 | void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log& log)
 | ||||||
| { | { | ||||||
| @ -210,6 +226,7 @@ void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log | |||||||
| 	movana.put(MOVANA_DATAREG, dataini); | 	movana.put(MOVANA_DATAREG, dataini); | ||||||
| 	movana.put(MOVANA_DATACOMP, dataini); | 	movana.put(MOVANA_DATACOMP, dataini); | ||||||
| 	movana.put(MOVANA_DESCR, "Movimento di budget importato"); | 	movana.put(MOVANA_DESCR, "Movimento di budget importato"); | ||||||
|  | 	movana.put(MOVANA_CODCAUS, _codcaus); | ||||||
| 	movana.put(MOVANA_TIPOMOV, 'P'); | 	movana.put(MOVANA_TIPOMOV, 'P'); | ||||||
| 	movana.put(MOVANA_TOTDOC, soldini); | 	movana.put(MOVANA_TOTDOC, soldini); | ||||||
| 
 | 
 | ||||||
| @ -222,14 +239,18 @@ void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log | |||||||
| 	TISAM_recordset pconana(query); | 	TISAM_recordset pconana(query); | ||||||
| 	const TRecnotype items = pconana.items(); | 	const TRecnotype items = pconana.items(); | ||||||
| 	if (items <= 0) | 	if (items <= 0) | ||||||
| 		warning_box(TR("Il sottoconto %s NON esiste!"), codconto); | 		warning_box(FR("Il sottoconto %s NON esiste!"), (const char*)codconto); | ||||||
| 
 | 
 | ||||||
| 	if (items > 1) | 	if (items > 1) | ||||||
| 		warning_box(TR("Esiste piu' di un sottoconto %s!"),codconto); | 		warning_box(FR("Esiste piu' di un sottoconto %s!"), (const char*)codconto); | ||||||
| 
 | 
 | ||||||
| 	pconana.move_last();	//si posiziona sul record corretto
 | 	pconana.move_last();	//si posiziona sul record corretto
 | ||||||
| 	const TString contone = pconana.get(PCONANA_CODCONTO).as_string(); | 	const TString& contone = pconana.get(PCONANA_CODCONTO).as_string(); | ||||||
| 	const TString4 sezione = pconana.get(PCONANA_SEZSALDI).as_string(); |   const TString& contcon = ana2bill(contone); | ||||||
|  | 	if (contcon.empty()) | ||||||
|  | 		warning_box(FR("Il conto analitico %s non corrisponde ad alcun conto contabile!"), (const char*)contone); | ||||||
|  | 
 | ||||||
|  | 	const TString& sezione = pconana.get(PCONANA_SEZSALDI).as_string(); | ||||||
| 	//mette quella bastarda di sezione nel record
 | 	//mette quella bastarda di sezione nel record
 | ||||||
| 	movana.put(MOVANA_SEZIONE, sezione); | 	movana.put(MOVANA_SEZIONE, sezione); | ||||||
| 
 | 
 | ||||||
| @ -243,7 +264,7 @@ void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log | |||||||
| 	rec_rmovana.put(RMOVANA_SEZIONE ,sezione); | 	rec_rmovana.put(RMOVANA_SEZIONE ,sezione); | ||||||
| 	rec_rmovana.put(RMOVANA_DATACOMP ,dataini); | 	rec_rmovana.put(RMOVANA_DATACOMP ,dataini); | ||||||
| 	rec_rmovana.put(RMOVANA_CODCMS ,codcms); | 	rec_rmovana.put(RMOVANA_CODCMS ,codcms); | ||||||
| 	rec_rmovana.put(RMOVANA_CODCONTO, contone); | 	rec_rmovana.put(RMOVANA_CODCONTO, contcon); | ||||||
| 	rec_rmovana.put(RMOVANA_DESCR, "Riga movimento di budget importato"); | 	rec_rmovana.put(RMOVANA_DESCR, "Riga movimento di budget importato"); | ||||||
| 	rec_rmovana.put(RMOVANA_IMPORTO, soldini); | 	rec_rmovana.put(RMOVANA_IMPORTO, soldini); | ||||||
| 
 | 
 | ||||||
| @ -285,6 +306,9 @@ bool TBudget_Import::transfer() | |||||||
|   _trasfile = new TBudget_Import_file(file); |   _trasfile = new TBudget_Import_file(file); | ||||||
|   _trasfile->open(file,'r'); |   _trasfile->open(file,'r'); | ||||||
| 
 | 
 | ||||||
|  | 	//la causale!!!
 | ||||||
|  | 	_codcaus = _msk->get(F_COD_CAUS); | ||||||
|  | 
 | ||||||
| 	//*** prima va inserito il log in libreria preparazione del log
 | 	//*** prima va inserito il log in libreria preparazione del log
 | ||||||
| //	TError_log log;
 | //	TError_log log;
 | ||||||
| //	log.set_header(TR("Importazione movimenti"));
 | //	log.set_header(TR("Importazione movimenti"));
 | ||||||
| @ -317,16 +341,23 @@ void TBudget_Import::mask2ini() | |||||||
| 	_configfile->set_paragraph("BUDGET"); | 	_configfile->set_paragraph("BUDGET"); | ||||||
| 	_configfile->set("PATH", _msk->get(F_PATH)); | 	_configfile->set("PATH", _msk->get(F_PATH)); | ||||||
| 	_configfile->set("LASTFILE", _lastfile); | 	_configfile->set("LASTFILE", _lastfile); | ||||||
|  | 	_msk->set(F_COD_CAUS, _codcaus); | ||||||
|  | 	_configfile->set("CODCAUS", _msk->get(F_COD_CAUS)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void TBudget_Import::ini2mask() | void TBudget_Import::ini2mask() | ||||||
| { | { | ||||||
| 	//carica i parametri del file di configurazione
 | 	//carica i parametri del file di configurazione
 | ||||||
| 	_configfile->set_paragraph("BUDGET"); | 	_configfile->set_paragraph("BUDGET"); | ||||||
|  | 
 | ||||||
| 	TString path = _configfile->get("PATH"); | 	TString path = _configfile->get("PATH"); | ||||||
| 	_lastfile = _configfile->get("LASTFILE"); |  | ||||||
| 	_msk->set(F_PATH, path); | 	_msk->set(F_PATH, path); | ||||||
|  | 
 | ||||||
|  | 	_lastfile = _configfile->get("LASTFILE"); | ||||||
| 	_msk->set(F_LASTFILE, _lastfile); | 	_msk->set(F_LASTFILE, _lastfile); | ||||||
|  | 
 | ||||||
|  | 	_codcaus = _configfile->get("CODCAUS"); | ||||||
|  | 	_msk->set(F_COD_CAUS, _codcaus); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -4,3 +4,5 @@ | |||||||
| #define F_NAMEFILE		102 | #define F_NAMEFILE		102 | ||||||
| #define F_LASTFILE		103 | #define F_LASTFILE		103 | ||||||
| #define F_KILLOLD			104 | #define F_KILLOLD			104 | ||||||
|  | #define F_COD_CAUS		105 | ||||||
|  | #define F_DESCR_CAUS	106 | ||||||
|  | |||||||
| @ -50,5 +50,28 @@ BEGIN | |||||||
|   PROMPT 1 7 "Elimina tutti i movimenti ed i saldi preventivi esistenti" |   PROMPT 1 7 "Elimina tutti i movimenti ed i saldi preventivi esistenti" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
|  | STRING F_COD_CAUS 3 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 9 "Causale " | ||||||
|  |   FLAGS "UZ" | ||||||
|  |   USE LF_CAUSALI | ||||||
|  |   INPUT CODCAUS F_COD_CAUS | ||||||
|  |   DISPLAY "Cod." CODCAUS | ||||||
|  |   DISPLAY "Descrizione@50" DESCR | ||||||
|  |   OUTPUT F_COD_CAUS CODCAUS | ||||||
|  |   OUTPUT F_DESCR_CAUS DESCR | ||||||
|  |   CHECKTYPE REQUIRED | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING F_DESCR_CAUS 50 40 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 20 9 "Descriz." | ||||||
|  |   USE LF_CAUSALI KEY 2 | ||||||
|  |   INPUT DESCR F_DESCR_CAUS | ||||||
|  |   DISPLAY "Descrizione @50" DESCR | ||||||
|  |   DISPLAY "Cod." CODCAUS | ||||||
|  |   COPY OUTPUT F_COD_CAUS | ||||||
|  | END | ||||||
|  | 
 | ||||||
| ENDPAGE | ENDPAGE | ||||||
| ENDMASK | ENDMASK | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user