Patch level : nopatch
Files correlati : Commento : Implementazione FP
This commit is contained in:
		
							parent
							
								
									1f9e42cdfb
								
							
						
					
					
						commit
						ad60df5390
					
				@ -154,8 +154,6 @@ void TPA_mask::fill()
 | 
			
		||||
 | 
			
		||||
	TSheet_field&  docs = sfield(F_DOCS);
 | 
			
		||||
	TString_array& sht  = docs.rows_array();
 | 
			
		||||
	docs.hide();
 | 
			
		||||
 | 
			
		||||
	sht.destroy();
 | 
			
		||||
 | 
			
		||||
	const TDate dal             = get(F_DATAINI);
 | 
			
		||||
@ -200,19 +198,20 @@ void TPA_mask::fill()
 | 
			
		||||
	{
 | 
			
		||||
		if (!pi.add_status())
 | 
			
		||||
			break;
 | 
			
		||||
		const TRectype& doc = rec.cursor()->curr();
 | 
			
		||||
		const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC));
 | 
			
		||||
		const TDocumentoEsteso doc(rec.cursor()->curr());
 | 
			
		||||
 | 
			
		||||
		// Controllo che la numerazione sia tra quelle giuste
 | 
			
		||||
 | 
			
		||||
		// Controllo che il tipo documento sia OK
 | 
			
		||||
		if(!check_doc_filter(doc))
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
		const TTipo_documento& td = doc.tipo(); //cached_tipodoc(doc.get(DOC_TIPODOC));
 | 
			
		||||
		bool sent = false;
 | 
			
		||||
 | 
			
		||||
		if (chiave_paf_doc(doc, hfatt, bfatt))
 | 
			
		||||
		{
 | 
			
		||||
				if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*")
 | 
			
		||||
				if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && 
 | 
			
		||||
					  paf0100f.sq_get("P1_GESTIONE") != "0" && paf0100f.sq_get("P1_ERRINT") != "*")
 | 
			
		||||
				{
 | 
			
		||||
						if (paf0100f.sq_get("P1_GESTIONE") != filter_selected)
 | 
			
		||||
								continue;
 | 
			
		||||
@ -224,24 +223,25 @@ void TPA_mask::fill()
 | 
			
		||||
 | 
			
		||||
		TToken_string& row = docs.row(-1);
 | 
			
		||||
		row                = sent ? " " : "X";
 | 
			
		||||
		row.add(rec.get(DOC_ANNO).as_int(), 1);
 | 
			
		||||
		row.add(rec.get(DOC_CODNUM).as_string());
 | 
			
		||||
		row.add(rec.get(DOC_TIPODOC).as_string());
 | 
			
		||||
		row.add(doc.get_int(DOC_ANNO), 1);
 | 
			
		||||
		row.add(doc.get(DOC_CODNUM));
 | 
			
		||||
		row.add(doc.get(DOC_TIPODOC));
 | 
			
		||||
 | 
			
		||||
		TString tipodoc = rec.get(DOC_TIPODOCSDI).as_string();
 | 
			
		||||
		TString tipodoc = doc.get(DOC_TIPODOCSDI);
 | 
			
		||||
		
 | 
			
		||||
		if (tipodoc.blank())
 | 
			
		||||
			tipodoc = td.tipo_doc_sdi();
 | 
			
		||||
		if (today <data_inizio && (tipodoc == "TD24" || tipodoc == "TD25" || tipodoc == "TD27"))
 | 
			
		||||
			tipodoc = "TD01";
 | 
			
		||||
		row.add(tipodoc);
 | 
			
		||||
		row.add(rec.get(DOC_NDOC).as_int());
 | 
			
		||||
		row.add(rec.get(DOC_DATADOC).as_date());
 | 
			
		||||
		row.add(rec.get(CFV_CODCF).as_int());
 | 
			
		||||
		row.add(rec.get("20." CLI_RAGSOC).as_string());
 | 
			
		||||
		row.add(doc.get_int(DOC_NDOC));
 | 
			
		||||
		row.add(doc.get_date(DOC_DATADOC));
 | 
			
		||||
		row.add(doc.get_int(CFV_CODCF));
 | 
			
		||||
		row.add(doc.clifor().get(CLI_RAGSOC));
 | 
			
		||||
 | 
			
		||||
    TString cod_ind_sped = doc.get(DOC_CODINDSP);
 | 
			
		||||
		TString rif = get_dest_sdi(doc.get(DOC_TIPOCF)[0], doc.get_int(DOC_CODCF), cod_ind_sped);
 | 
			
		||||
 | 
			
		||||
    TString cod_ind_sped = rec.get(DOC_CODINDSP).as_string();
 | 
			
		||||
		TString rif = get_dest_sdi(rec.get(CFV_TIPOCF).as_string()[0], rec.get(CFV_CODCF).as_int(), cod_ind_sped);
 | 
			
		||||
		// Se è ancora vuoto potrebbe essere estero
 | 
			
		||||
		if(rif.empty())
 | 
			
		||||
		{
 | 
			
		||||
@ -257,13 +257,15 @@ void TPA_mask::fill()
 | 
			
		||||
		}
 | 
			
		||||
;
 | 
			
		||||
		row.add(rif);
 | 
			
		||||
		row.add(rec.get("17." CFV_PARIFAMM).as_string());
 | 
			
		||||
		row.add(rec.get("20." CLI_COFI).as_string());
 | 
			
		||||
		row.add(doc.clifor().vendite().get(CFV_PARIFAMM));
 | 
			
		||||
		row.add(doc.clifor().get(CLI_COFI));
 | 
			
		||||
 | 
			
		||||
		bool split = doc.clifor().get_bool(CLI_SPLITPAY);
 | 
			
		||||
 | 
			
		||||
		bool split = rec.get("20." CLI_SPLITPAY).as_bool();
 | 
			
		||||
		if (split)
 | 
			
		||||
		{
 | 
			
		||||
			const long numreg = rec.get(DOC_NUMREG).as_int();
 | 
			
		||||
			const long numreg = doc.get_int(DOC_NUMREG);
 | 
			
		||||
 | 
			
		||||
			if (numreg > 0)
 | 
			
		||||
			{
 | 
			
		||||
				const TRectype& mov = cache().get(LF_MOV, numreg);
 | 
			
		||||
@ -273,13 +275,11 @@ void TPA_mask::fill()
 | 
			
		||||
		row.add(split ? "X" : " ");
 | 
			
		||||
 | 
			
		||||
		const bool attach = !rec.get("COLL_GOLEM").is_empty();
 | 
			
		||||
 | 
			
		||||
		row.add(attach ? "X" : " ");
 | 
			
		||||
		row.add((!td.invio_xml()) ? "X" : "");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	docs.force_update();
 | 
			
		||||
	docs.show();
 | 
			
		||||
 | 
			
		||||
	if (fat_no_cod > 0)
 | 
			
		||||
		warning_box("Sono state trovate una o più fatture senza codice destinatario né pec");
 | 
			
		||||
}
 | 
			
		||||
@ -639,7 +639,7 @@ bool TPA_mask::check_doc_filter(const TDocumentoEsteso& d) const
 | 
			
		||||
	const TString& codnum = d.get(DOC_CODNUM);
 | 
			
		||||
	const TString& tipodoc = d.get(DOC_TIPODOC);
 | 
			
		||||
	const char stato = d.stato();
 | 
			
		||||
	const TTipo_documento& td = cached_tipodoc(d.get(DOC_TIPODOC));
 | 
			
		||||
	const TTipo_documento& td = d.tipo(); // cached_tipodoc(d.get(DOC_TIPODOC));
 | 
			
		||||
	// Mi precarico la tabella dei documenti scelti
 | 
			
		||||
	FOR_EACH_SHEET_ROW(sfield(F_DOCUMENTI_TIPO), nr, row)
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
@ -567,7 +567,6 @@ protected:
 | 
			
		||||
	const TRectype& cco(const TRectype&                doc) const; // Contratto/Convenzione/Offerta
 | 
			
		||||
	const char * stato_paf() const { return _provvisorio ? "X" : "D"; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	const TString & natura(const char* codiva) const;
 | 
			
		||||
	static const char* get_esigibilita_iva(const TDocumentoEsteso& doc);
 | 
			
		||||
	void set_IVA(TString         codiva, TPaf_record& paf) const;
 | 
			
		||||
 | 
			
		||||
@ -1616,8 +1616,9 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900
 | 
			
		||||
		for (int i = 0; i < FR_CMAX; i++)
 | 
			
		||||
		{
 | 
			
		||||
			const TString scat(rdoc->get(conai_sottocat_name(i)));
 | 
			
		||||
			const real peso_conai = rdoc->get_real(conai_peso_name(i)).string();
 | 
			
		||||
 | 
			
		||||
			if (scat.full() && cache().get("&VESCC", scat).not_empty() && !_has_cust)
 | 
			
		||||
			if (scat.full() && peso_conai != ZERO && cache().get("&VESCC", scat).not_empty() && !_has_cust)
 | 
			
		||||
			{
 | 
			
		||||
				reset(paf2100f);
 | 
			
		||||
				paf2100f.set("PK_KEYNLINEA", static_cast<long>(riga_doc));
 | 
			
		||||
@ -1628,7 +1629,7 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900
 | 
			
		||||
				msg_conai << "Contributo CONAI " << conai_material(conai_str2class(scat)) << " (Kg)";
 | 
			
		||||
				paf2100f.set("PK_TIPODATO", "CONAI");
 | 
			
		||||
				paf2100f.set("PK_RIFDATO", msg_conai);
 | 
			
		||||
				paf2100f.set("PK_RIFNUMERO", rdoc->get_real(conai_peso_name(i)).string());
 | 
			
		||||
				paf2100f.set("PK_RIFNUMERO", peso_conai);
 | 
			
		||||
				ok &= insert(paf2100f);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2729,7 +2730,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
			
		||||
	pafw300f.set("PW_NUMERO", doc.numero());
 | 
			
		||||
	pafw300f.set("PW_DATA", doc.data());
 | 
			
		||||
 | 
			
		||||
	if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml())
 | 
			
		||||
	if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml() || _provvisorio)
 | 
			
		||||
	{
 | 
			
		||||
		pafw300f.set("PW_CODSDI", "**********");
 | 
			
		||||
	}
 | 
			
		||||
@ -3404,10 +3405,8 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
 | 
			
		||||
		pafw300f.set("PW_TIPONUM", ""); //TODO COSA CI METTIAMO NEL TIPO NUM
 | 
			
		||||
		pafw300f.set("PW_NUMERO", mov.get(MOV_NUMDOC));
 | 
			
		||||
		pafw300f.set("PW_DATA", mov.get_date(MOV_DATADOC));
 | 
			
		||||
		/*
 | 
			
		||||
		if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml()) //TODO COSA CI VA MESSO?? COSA VUOL DIRE INVIO XML
 | 
			
		||||
		if (!_definitivo) 
 | 
			
		||||
			pafw300f.set("PW_CODSDI", "**********");
 | 
			
		||||
		*/
 | 
			
		||||
		pafw300f.set("PW_CDEST", _coddest);
 | 
			
		||||
		pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
 | 
			
		||||
		pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO());
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user