Newsgroup: it.comp.lang.delphi
Titolo: Fattura Elettronica e controllo formale con file .xsd v. 1.2.1

?
 
A me da questo errore: "Undeclared XSD element: 
'{
http://www.3w.org/2000/09/xmldsig#}Signature
".
 
In pratica nel nuovo file versione 1.2.1 hanno aggiornato la riga 7 con 
questa: "  <xs:import namespace="
http://www.w3.org/2000/09/xmldsig#
" 
schemaLocation="xmldsig-core-schema.xsd" />"
 
Se sostituisco questa riga 7 con quella presente nel vecchio file " 
<xs:import namespace="
http://www.w3.org/2000/09/xmldsig#
" 
schemaLocation="
http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
" 
/>"
 
Il controllo va a buon fine.
 
Qualcuno ha lo stesso problema?
 
Grazie.
 
Ciao.

Mi dispiace... i controlli noi li facciamo tramite l'intermediario (che mi ritorna gli errori del caso).
 
Al momento (ultima fattura inviata 2gg fa con RC) non abbiamo segnalazioni diverse da prima.
 
 

 
Stai parlando  Analyzer e Agyo ?
Puoi dirmi se i programmi sono stati venduti e installati sulla macchina
dell' azienda o sono quelli dello Studio commerciale?
 
grazie.
 
 


Ma come si fa ad eseguire il controllo con quel file?
uso Delphi 7 su Win 64.
Grazie.
 


 
Ciao.


Ho provato cosě:
-------------------------------------------------------------------------
procedure TFwps.BitBtn3Click(Sender: TObject);
var
  ninpfile:string;
  XML, XSDL: Variant;
 
begin
  ninpfile:=FileListBox5.FileName;
  if FileExists(ninpfile) then begin
     ShowMessage('prima di createoleoject');
     XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.4.0');
     ShowMessage('dopo di createoleoject');
 
     XSDL.validateOnLoad := True;
 
     ShowMessage('prima di .add');
     XSDL.add('','Schema.xsd'); // qui segnala l'errore
     ShowMessage('Schema Loaded');
 
     XML := CreateOLEObject('MSXML2.DOMDocument.4.0');
     XML.validateOnParse := True;
     XML.resolveExternals := True;
     XML.schemas := XSDL;
     XML.load(ninpfile); //XML nome file
     ShowMessage(XML.parseError.reason);
  end;
--------------------------------------------------------------------------------
a me da:
 
An invalid character was found in text content   
 
con entrambe le righe:
<xs:import namespace="
http://www.w3.org/2000/09/xmldsig#
" schemaLocation="xmldsig-core-schema.xsd" />
<xs:import namespace="
http://www.w3.org/2000/09/xmldsig#
"
schemaLocation="
http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
" />
 
ho provato con diversi file xml
 
 
 
end;
 

       XSDL.add('','Schema.xsd'); // qui segnala l'errore
 
Non hai valorizzato il primo parametro, infatti dalla pagina di Dr Bob: 
// 1st argument is target namespace
 
Devi valorizzare il primo parametro:
XSDL.add('
http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2
', 
'Schema.xsd');
 
Ciao.


Scusa,
 
ho sostituito la riga ma segnala sempre lo stesso errore:
 
XSDL.add('
http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2
','Schema.xsd');
 
An invalid character was found in text content
 
Ciao,

 dell' azienda o sono quelli dello Studio commerciale?
 
No, si tratta di un intermediario con il quale abbiamo un contratto per la gestione delle fatture elettroniche.
 
Ci mette a disposizione una serie di webservices per la gestione sia delle fatture attive che passive.
 
Inoltre ci rende disponibile un'area di test dove caricare le fatture di prova. Questa deve essere comunque collegata con l'AdE perché otteniamo le risposte direttamente da loro (se specifico un indirizzo pec come destinatario effettivamente mi arriva una mail da Sogei)


Se provi con questo:
XSDL.add('
http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2
','
http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd'
);
 
come va?
 
Caio.

Caio. 
Tizio? :-)))
 

 
 
Sto diventando dislessico :(
 
Ciao.

Si, credo dipenda dalla CreateOleObject.
 
ho inserito un timing e vedo che la XSDL.add si mangia 30 secondi.
 
questa sotto è la mia versione quasi definitiva:
------------------------------------------------------------
 
procedure TFwps.BitBtn3Click(Sender: TObject);
var
  ninpfile:string;
  XML, XSDL: Variant;
  dir:string;
  file1,file2:string;
 
begin
  if pagecontrol3.activepage.Caption='Spedite' then begin
     ninpfile:=FileListBox5.FileName;
  end;
  if pagecontrol3.activepage.Caption='Da_Spedire' then begin
     ninpfile:=FileListBox4.FileName;
  end;
  if pagecontrol3.activepage.Caption='Da_Firmare' then begin
     ninpfile:=FileListBox3.FileName;
  end;
 
  memo2.Lines.add(ninpfile);
  if FileExists(ninpfile) then begin
 
     dir:=extractfiledir(ninpfile);
 
     XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.4.0');
     memo2.Lines.add(timetostr(time));
 
     XSDL.validateOnLoad := True;
     memo2.Lines.add(timetostr(time));
 
     memo2.Lines.add('prego attendere circa 30 secondi');
 
XSDL.add('
http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2
','
http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd'
);
     memo2.Lines.add('Schema Loaded: '+timetostr(time));
 
 
     XML := CreateOLEObject('MSXML2.DOMDocument.4.0');
     memo2.Lines.add(timetostr(time));
 
     XML.validateOnParse := True;
     memo2.Lines.add(timetostr(time));
 
     XML.resolveExternals := True;
     XML.schemas := XSDL;
     memo2.Lines.add(timetostr(time));
 
     XML.load(ninpfile); //XML nome file
     memo2.Lines.add(timetostr(time));
 
     if trim(XML.parseError.reason)='' then begin
        memo2.lines.add('OK, nessun errore rilevato');
        memo2.lines.add('');
     end else begin
        memo2.lines.add(XML.parseError.reason);
        memo2.lines.add(''); 
     end;                
  end;
end;
 
---------------------------------------------------------
Grazie ancora,
Ciao :-)
 


Alessandro, potresti darmi un indirizzo di contatto di questo intermediario?
Sto cercando un webservice per le fatture attive e passive
che consenta l'upload massivo (con un file zip) delle fatture di vendita
e il download delle fatture di acquisto.
 
grazie,
Eugenio.
 


 
Per il momento, io ho desistito ma tornerò alla carica ;)
 
Ciao.

Ciao.
 
C'č chi sostiene che su un Ng i ringraziamenti siano inutili
ma io non la penso cosě...
 
Grazie!
Ciao.
 

 Eugenio.
 
Ciao... prima di tutto scusa per il ritardo...
In questo periodo non riesco proprio a finire i lavori
 
L'intermediario che noi abbiamo scelto si chiama 2C Solution ed è una azienda di Padova.
Noi abbiamo un contratto come partner da parecchi anni.
 
La soluzione che noi abbiamo adottato con loro è di inviare tramite webservice le fatture una per una, in modo da avere per ognuna l'idsdi da collegare con la fattura stessa e poterne poi controllare gli stati, sempre tramite webservice.
 
Al termine del processo, in automatico, dopo circa un paio di mesi, le fatture vanno in conservazione sempre presso questa azienda
 
Con meccanismo simile le fatture vengono ricevute dall'intermediario e noi tramite webservice le scarichiamo sul gestionale.
 
Al momento abbiamo ancora in piedi anche la procedura per integrare data e numero protocollo e registrazione sulle fatture passive (via webservice) prima di mandarle in conservazione, anche se questa sembra non sia più una cosa obbligatoria.

 
Credo sia stato fatto apposta per escludere i piccoli :(
 
Ciao.

 
 
ed il fai da te :(

Al momento abbiamo ancora in piedi anche la procedura per integrare data e numero protocollo e registrazione sulle fatture passive (via webservice) prima di mandarle in conservazione, anche se questa sembra non sia piů una cosa obbligatoria.
 
Se tolgono l'obbligo di consevazione cade completamente anche il problema della firma digitale .
 
 
Ti ringrazio per la segnalazione, proverň a chiedere info per il pacco di fatture.
 
Ciao. :-)
 
 
 

Solo alcune precisazioni:
 
a) le fatture vanno su una per una, ma con un ciclo automatico.
Quindi l'operatore deve solo decidere da che numero a che numero, da che data a che data, ..., e inviare.
 
b) io arrivo ad avere "solo" clienti che fanno 50.000 fatture/anno, ma con lo stesso sistema sono integrati clienti che fanno ben oltre 1.000.000 fatture/anno
 
c) quando parlavo di una cosa non più obbligatoria mi riferivo al fatto di integrare i dati di protocollo prima di inviare in conservazione, non alla conservazione come tale
 
Ciao