Patch level : 12.0 436
Files correlati : tf Commento : - Aggiunta nuovo programma cambio stato TF0100: - Tolta detraibilità - Tolti campi inutili dalla maschera - Spostata funzione checkRecord in tfutility - Aggiunti (disabilitati) a menù i nuovi programmi git-svn-id: svn://10.65.10.50/branches/R_10_00@24053 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									b6fe090da8
								
							
						
					
					
						commit
						fe7c5f30df
					
				@ -8,8 +8,8 @@ int main(int argc, char** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  switch (r)
 | 
					  switch (r)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
	
 | 
					 | 
				
			||||||
  case 1 : rt = tf0200(argc, argv); break;	// Comunicazione Liquidazioni Periodiche IVA
 | 
					  case 1 : rt = tf0200(argc, argv); break;	// Comunicazione Liquidazioni Periodiche IVA
 | 
				
			||||||
 | 
						//case 2 : rt = tf0300(argc, argv); break;	// Cambio stato invio
 | 
				
			||||||
	case 3 : rt = tf0400(argc, argv); break;	// Controllo Spesometro
 | 
						case 3 : rt = tf0400(argc, argv); break;	// Controllo Spesometro
 | 
				
			||||||
	case 4 : rt = tf0500(argc, argv); break;	// Invio IVA
 | 
						case 4 : rt = tf0500(argc, argv); break;	// Invio IVA
 | 
				
			||||||
	default: rt = tf0100(argc, argv); break;	// Spesometro
 | 
						default: rt = tf0100(argc, argv); break;	// Spesometro
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int tf0100(int argc, char* argv[]);
 | 
					int tf0100(int argc, char* argv[]);
 | 
				
			||||||
int tf0200(int argc, char* argv[]);
 | 
					int tf0200(int argc, char* argv[]);
 | 
				
			||||||
 | 
					int tf0300(int argc, char* argv[]);
 | 
				
			||||||
int tf0400(int argc, char* argv[]);
 | 
					int tf0400(int argc, char* argv[]);
 | 
				
			||||||
int tf0500(int argc, char* argv[]);
 | 
					int tf0500(int argc, char* argv[]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1325,17 +1325,21 @@ bool TTrFa_app::tff2200(TToken_string* strarr, int nriga)
 | 
				
			|||||||
	TRectype thisMov = cache().get(LF_MOV, strarr->get(_numero));
 | 
						TRectype thisMov = cache().get(LF_MOV, strarr->get(_numero));
 | 
				
			||||||
	tff2200f.set("PL_ESIGIVA",				is_split_payment(thisMov) ? "S" : is_IVA_diff(thisMov) || is_IVAxCassa(thisMov) ? "D" : "I");
 | 
						tff2200f.set("PL_ESIGIVA",				is_split_payment(thisMov) ? "S" : is_IVA_diff(thisMov) || is_IVAxCassa(thisMov) ? "D" : "I");
 | 
				
			||||||
	tff2200f.set("PL_NATURA",					strarr->get(_natura));
 | 
						tff2200f.set("PL_NATURA",					strarr->get(_natura));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						/* Tutto disabilitato! *************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	real det(strarr->get(_detraibile)); 
 | 
						real det(strarr->get(_detraibile)); 
 | 
				
			||||||
	// Nella conversione la vigola viene persa e 100,00 diventa 10.000 quindi divido 
 | 
						// Nella conversione la vigola viene persa e 100,00 diventa 10.000 quindi divido 
 | 
				
			||||||
	det /= CENTO;
 | 
						det /= CENTO;
 | 
				
			||||||
	if(det > ZERO)
 | 
						if(det > ZERO)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		tff2200f.set("PL_DETRAIBILE",   det);
 | 
							tff2200f.set("PL_DETRAIBILE",   CENTO - det);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else if(false)	// Sempre disabilitato!
 | 
						else if(false)	// Sempre disabilitato!
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		tff2200f.set("PL_DEDUCIBILE",   "SI");
 | 
							tff2200f.set("PL_DEDUCIBILE",   "SI");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tff2200f.set("PL_GESTIONE", "D");
 | 
						tff2200f.set("PL_GESTIONE", "D");
 | 
				
			||||||
	return tff2200f.insert();
 | 
						return tff2200f.insert();
 | 
				
			||||||
 | 
				
			|||||||
@ -342,7 +342,6 @@ BEGIN
 | 
				
			|||||||
  ITEM "N5|N5 - IVA in regime del margine"
 | 
					  ITEM "N5|N5 - IVA in regime del margine"
 | 
				
			||||||
  ITEM "N6|N6 - IVA in reverse charge"
 | 
					  ITEM "N6|N6 - IVA in reverse charge"
 | 
				
			||||||
  ITEM "N7|N7 - IVA assolta in altro stato U3"
 | 
					  ITEM "N7|N7 - IVA assolta in altro stato U3"
 | 
				
			||||||
  FIELD S12
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING A_ALIQUOTA 4
 | 
					STRING A_ALIQUOTA 4
 | 
				
			||||||
@ -375,26 +374,22 @@ END
 | 
				
			|||||||
NUMBER A_IMPONIBILE 12 2
 | 
					NUMBER A_IMPONIBILE 12 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 42 8 "Imponibile"
 | 
					  PROMPT 42 8 "Imponibile"
 | 
				
			||||||
  FIELD IMPORTO
 | 
					 | 
				
			||||||
  CHEKTYPE REQUIRED
 | 
					  CHEKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMBER A_IMPOSTA 12 2
 | 
					NUMBER A_IMPOSTA 12 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 PROMPT 42 9 "Imposta   "
 | 
					 PROMPT 42 9 "Imposta   "
 | 
				
			||||||
  FIELD IMPOSTA
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN A_REVERSE
 | 
					BOOLEAN A_REVERSE
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 9 "Reverse charge"
 | 
					  PROMPT 1 9 "Reverse charge"
 | 
				
			||||||
  FIELD REVERSE
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN A_AUTOFATT
 | 
					BOOLEAN A_AUTOFATT
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 PROMPT 25 9 "Autofattura"
 | 
					 PROMPT 25 9 "Autofattura"
 | 
				
			||||||
  FIELD AUTOFATT
 | 
					 | 
				
			||||||
  FLAGS "D"
 | 
					  FLAGS "D"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -44,7 +44,6 @@ enum filter_fatt
 | 
				
			|||||||
	disabled	// Disabilitate
 | 
						disabled	// Disabilitate
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MOV_CUSTOM 10000000
 | 
					 | 
				
			||||||
#define SHEET_GAP 101
 | 
					#define SHEET_GAP 101
 | 
				
			||||||
#define DTE_PROVV "DTE0000001"
 | 
					#define DTE_PROVV "DTE0000001"
 | 
				
			||||||
#define DTR_PROVV "DTR0000001"
 | 
					#define DTR_PROVV "DTR0000001"
 | 
				
			||||||
@ -172,7 +171,6 @@ class TTrFa_cursors : TObject
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	TRectype _next(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi);		// Si sposta avanti di un elemento
 | 
						TRectype _next(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi);		// Si sposta avanti di un elemento
 | 
				
			||||||
	TRectype _nextCust(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi);		// Si sposta avanti di un elemento tra quelli custom
 | 
						TRectype _nextCust(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi);		// Si sposta avanti di un elemento tra quelli custom
 | 
				
			||||||
	bool checkRecord(TISAM_recordset* rec);
 | 
					 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	//TTrFa_cursors();
 | 
						//TTrFa_cursors();
 | 
				
			||||||
	~TTrFa_cursors();
 | 
						~TTrFa_cursors();
 | 
				
			||||||
 | 
				
			|||||||
@ -152,29 +152,6 @@ TRectype TTrFa_cursors::_nextCust(return_code& code, TString& tipocf, TString& c
 | 
				
			|||||||
	return c_trasfatt->cursor()->curr();
 | 
						return c_trasfatt->cursor()->curr();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Utilizzo questa funzione per filtrare al meglio i record, tutti i casi che devo omettere verranno rilevati e ritorneranno false
 | 
					 | 
				
			||||||
 * Nota bene: viene sfruttato un puntatore di TISA_Recordset per non creare nuovi oggetti e velocizzare la chiamata
 | 
					 | 
				
			||||||
 * a questo punto il programma non ha ancora creato un record di $trasfatt con i dati che mi interessano
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
bool TTrFa_cursors::checkRecord(TISAM_recordset* rec)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	TString keyClifo; keyClifo << rec->get("23.TIPO").as_string() << "|" << rec->get("23.CODCF").as_string();
 | 
					 | 
				
			||||||
	// Salto le schede carburanti
 | 
					 | 
				
			||||||
	if(cache().get(LF_CLIFO, keyClifo, "ALLEG") == "C")
 | 
					 | 
				
			||||||
		return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Clienti
 | 
					 | 
				
			||||||
	if(rec->get("23.TIPO").as_string() == "C")
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		// Tolgo tutti i movimenti di sola IVA e in reverse charge o di tipo 3 (Acquisto di beni e servizi di soggetti non residenti)
 | 
					 | 
				
			||||||
		TCausale caus(rec->get("23.CODCAUS").as_string());
 | 
					 | 
				
			||||||
		if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
 | 
					 | 
				
			||||||
			return false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
int TTrFa_cursors::updateFilters(const char tipocf, const long codcf, TDate dal, TDate al, int cod)
 | 
					int TTrFa_cursors::updateFilters(const char tipocf, const long codcf, TDate dal, TDate al, int cod)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,9 @@ Caption = "Trasferimento Fatture"
 | 
				
			|||||||
Picture = <cg01>
 | 
					Picture = <cg01>
 | 
				
			||||||
Module  = tf
 | 
					Module  = tf
 | 
				
			||||||
Flags   = ""
 | 
					Flags   = ""
 | 
				
			||||||
Item_01 = "Trasferimento Fatture", "tf0 -0", ""
 | 
					Item_01 = "Trasferimento Fatture", "tf0 -0", ""+
 | 
				
			||||||
Item_02 = "Controllo Spesometro", "tf0 -3", ""
 | 
					//Item_02 = "Cambio stato Spesometro", "tf0 -2", ""
 | 
				
			||||||
Item_03 = "Liquidazione IVA Periodica", "tf0 -1", ""
 | 
					//Item_03 = "Controllo Spesometro", "tf0 -3", ""
 | 
				
			||||||
Item_04 = "Invio Liquidazione IVA Periodica", "tf0 -4", ""
 | 
					Item_04 = "Report Spesometro", "ba8 -4 totiva_aliq.rep", ""
 | 
				
			||||||
 | 
					Item_05 = "Liquidazione IVA Periodica", "tf0 -1", ""
 | 
				
			||||||
 | 
					Item_06 = "Invio Liquidazione IVA Periodica", "tf0 -4", ""
 | 
				
			||||||
 | 
				
			|||||||
@ -76,3 +76,32 @@ TString getRFSO(TString codrfso)
 | 
				
			|||||||
	TString key; key << codrfso[0] << "|" << codrfso.mid(1);
 | 
						TString key; key << codrfso[0] << "|" << codrfso.mid(1);
 | 
				
			||||||
	return cache().get(LF_ANAG, key, "RAGSOC");
 | 
						return cache().get(LF_ANAG, key, "RAGSOC");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Utilizzo questa funzione per filtrare al meglio i record, tutti i casi che devo omettere verranno rilevati e ritorneranno false
 | 
				
			||||||
 | 
					 * Nota bene: viene sfruttato un puntatore di TISA_Recordset per non creare nuovi oggetti e velocizzare la chiamata
 | 
				
			||||||
 | 
					 * a questo punto il programma non ha ancora creato un record di $trasfatt con i dati che mi interessano
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					bool checkRecord(TISAM_recordset* rec)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						TString keyClifo; keyClifo << rec->get("23.TIPO").as_string() << "|" << rec->get("23.CODCF").as_string();
 | 
				
			||||||
 | 
						TRectype rclifo = cache().get(LF_CLIFO, keyClifo);
 | 
				
			||||||
 | 
						// Salto le schede carburanti
 | 
				
			||||||
 | 
						if(rclifo.get("ALLEG") == "C")
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Clienti
 | 
				
			||||||
 | 
						if(rec->get("23.TIPO").as_string() == "C")
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							// Tolgo tutti i movimenti di sola IVA e in reverse charge o di tipo 3 (Acquisto di beni e servizi di soggetti non residenti)
 | 
				
			||||||
 | 
							TCausale caus(rec->get("23.CODCAUS").as_string());
 | 
				
			||||||
 | 
							if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
						} else if(rclifo.get("PAIV")[0] != '0' && rclifo.get("PAIV")[0] != '1' && rclifo.get("COFI")[0] >= '8')
 | 
				
			||||||
 | 
							// Salto tutti i fornitori con cod cf che inizia per 8 o 9 e con p.iva non valida
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,7 +1,9 @@
 | 
				
			|||||||
#include <strings.h>
 | 
					#include <strings.h>
 | 
				
			||||||
#include <recset.h>
 | 
					#include <recset.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Funzioni comode per più programmi
 | 
					// Funzioni/Costanti comode per più programmi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MOV_CUSTOM 10000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Ritorna il record custom
 | 
					// Ritorna il record custom
 | 
				
			||||||
TRectype getTrasFatt(TString reg, TString codiva);
 | 
					TRectype getTrasFatt(TString reg, TString codiva);
 | 
				
			||||||
@ -19,3 +21,5 @@ TString findDetraib(TString tipodet);
 | 
				
			|||||||
TString revCharge(TString numreg);
 | 
					TString revCharge(TString numreg);
 | 
				
			||||||
// Ritorna la ragione sociale del RFSO
 | 
					// Ritorna la ragione sociale del RFSO
 | 
				
			||||||
TString getRFSO(TString codrfso);
 | 
					TString getRFSO(TString codrfso);
 | 
				
			||||||
 | 
					// Controllo che sia un record che mi interessa
 | 
				
			||||||
 | 
					bool checkRecord(TISAM_recordset* rec);
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user