730 precompilato + di uno snippet

  • Creatore Discussione Creatore Discussione marino51
  • Data di inizio Data di inizio
nel file credenziali.php, dove sono definiti tutti i valori del "proprietario", aggiungi
PHP:
        $opzionale1             = "0";
        $opzionale2             = "0";
        $opzionale3             = "0";
 
Durante l'invio all'endpoint di test di una fattura con un importo di 100.000€ ho ricevuto il messaggio di file non conforme allo schema di validazione. Abbassato l'importo a 99.999 è andato tutto bene. Nell'xsd non mi sembra ci sia un massimo al campo 'importo'. Che voi sappiate è un limite del sito di test o è così anche in esercizio?
 
Che voi sappiate è un limite del sito di test o è così anche in esercizio
è limitato
upload_2018-2-4_17-47-28.png
 
avete qualche esempio di come funziona l'invio xml della fattura elettronica per le aziende?
 
Ciao!
Intanto grazie mille per questi script! Sto provando ad usarli ed inizio a vedere la luce fuori dal tunnel anche se con lentezza!

Scrivo per fare un paio di domande con alcune proposte.

1. Ho letto le 17 pagine del forum, ma non sono sicuro di aver trovato la versione definitiva di tutti gli script; per caso un'anima pia potrebbe condividermi l'ultima versione dei files? Lo chiedo perchè prelevando i files dalle varie pagine del forum mi sono trovato alcuni errori perchè mancavano alcuni parametri.

2. non ho capito se è necessario eseguire ancora il .bat... dato che il mio ambiente è unix/linux non riesco ad eseguirlo e credo che questo sia il problema bloccante che mi ritrovo!

Detto questo volevo fare una proposta: sarebbe possibile mettere questo fantastico lavoro sotto https://github.com/? Così le modifiche ai files verrebbero costantemente tracciate! Volendo potrei occuparmene io!

Se non fosse possibile, sarebbe comunque possibile aggiungere in testa ai files un commento con la data di ultima modifica ed un numero di versione?

Comunque grazie infinite, è un gran lavoro!!
 
Non posso aiutarti perché i miei script sono fusi all'interno di un gestionale di fatturazione e quindi pesantemente personalizzati. Però ho usato quelli che trovi in queste pagine che funzionano bene. Anche io trovai errori ma era colpa mia e non degli script. Fai un passo alla volta, tipo crea prima il cliente soap e vedi se funzione, poi fai un altro passetto finché funziona e via dicendo.
 
Però ho usato quelli che trovi in queste pagine che funzionano bene.
:):):):):)

Ho letto le 17 pagine
vi sono 2 post (il primo e uno intermedio) che contengono rispettivamente la versione per professionisti e la versione per strutture
la modifica a queste versioni riguarda la crittografia, interna a php, piuttosto che esterna come inizialmente progettata,
per comodità ti riporto la modifica che fu suggerita,
PHP:
$fp=fopen("FC/_sanitelCF.cer", "r"); $pub_key=fread($fp,8192); fclose($fp); $key_resource = openssl_get_publickey($pub_key);

function EncryptData($source)
{
    global $key_resource;

//  $crypted_text = file_get_contents( "FC/x_".$source.".enc", FILE_USE_INCLUDE_PATH );

    openssl_public_encrypt($source, $crypted_text, $key_resource);
    return(base64_encode($crypted_text));
}

nei post successivi trovi gli script per recuperare i vari file di conferma e/o errori

come già suggerito, parti dal file credenziali.php, è richiamato in tutti gli script e contiene i dati di base,
poi passo passo attiva tutte le funzionalità
in questo modo "fai tuo" l'intero processo con la certezza di conoscerlo
e la possibilità di variare ciò che serve per adattarlo al tuo software ( vedi la mia "interfaccia" csv .... )
 
Ciao,
sto mettendo mano agli script per adeguarli al mio sistema di invio, grazie mille per le preziosissime informazioni!
Ho un dubbio: per verificare che le fatture siano state correttamente acquisite è necessario fare la verifica tramite il file FattureInvioReportMensile, però mi sembra che manchi nel mio file Credenziali.php la definizione della costante: _ReportMensile_WSDL ... possibile?

Ciao e grazie mille!!
 
ReportMensile_WSDL ... possibile?
possibile certo perché sono stati aggiunti dopo
facile anche "trovarle" .... , in ogni caso
PHP:
    $InterrogazionePuntuale = "https://invioSS730pTest.sanita.finanze.it/InterrogazionePuntuale730Web/InterrogazionePuntuale730Port";
    $ReportMensile          = "https://invioSS730pTest.sanita.finanze.it/ReportMensile730Web/ReportMensilePort";

    $InterrogazionePuntuale = "https://invioSS730p.sanita.finanze.it/InterrogazionePuntuale730Web/InterrogazionePuntuale730Port";
    $ReportMensile          = "https://invioSS730p.sanita.finanze.it/ReportMensile730Web/ReportMensilePort";
 
Buongiorno a tutti e complimenti per lo splendido lavoro svolto.
Ho una domanda per Marino & C. sto utilizzando i vostri script per implementare un gestionale scritto in python per inviare le spese di un mio cliente ottico.
Purtroppo non riesco (ambiente TEST) ad ottenere il risultato sperato, ossia, inviando il mio file al sistema (senza errori) quando eseguo lo script per l'esito il risultato è sempre: file da elaborare. E' un problema dell'ambiente di test? Anche la ricevuta in PDF non riesco a produrla.

Questo l'output:
root@ubuntu:/var/www/html/730# php7.2 FattureInvioEsito.php 18032716161316656
<p><h4>RICHIESTA DELL' ESITO DOPO IL TRASFERIMENTO DELLE FATTURE</h4></p>EsitoInvioDatiSpesa730Service.wsdl<p> </p>https://invioSS730pTest.sanita.finanze.it/EsitoStatoInviiWEB/EsitoInvioDatiSpesa730Service<p> </p><p><h4>List of available SOAP functions</h4></p>EsitoInviiResponse EsitoInvii(EsitoInvii $parameters)<br /><p> </p><p><h4>List of types described in the WSDL for the Web service</h4></p>struct dettaglioEsitoNegativo {
string codice;
string descrizione;
}<br />struct dettaglioEsitoPositivo {
string protocollo;
string dataInvio;
int stato;
string descrizione;
long nInviati;
long nAccolti;
long nWarnings;
long nErrori;
}<br />struct Exception {
string message;
}<br />struct datiOutput {
string esitoChiamata;
string descrizioneEsito;
esitiPositivi esitiPositivi;
esitiNegativi esitiNegativi;
}<br />struct esitiPositivi {
dettaglioEsitoPositivo dettagliEsito;
}<br />struct esitiNegativi {
dettaglioEsitoNegativo dettaglioEsitoNegativo;
}<br />struct datiInput {
string pinCode;
string dataInizio;
string dataFine;
string protocollo;
string opzionale1;
string opzionale2;
string opzionale3;
}<br />struct EsitoInviiResponse {
datiOutput DatiOutputRichiesta;
}<br />struct EsitoInvii {
datiInput DatiInputRichiesta;
}<br /><p> </p><p><h4>INVIO LA RICHIESTA</h4></p>18032716161316656<p> </p><p><h4>LA RICHIESTA HA AVUTO RISPOSTA</h4></p><p><h4>E' PRESENTE L' ESITO PER IL PROTOCOLLO 18032716161316656</h4></p>protocollo = 18032716161316656<br />dataInvio = 27-03-2018 16:16:13<br />stato = 0<br />descrizione = Da elaborare<br />nInviati = 0<br />nAccolti = 0<br />nWarnings = 0<br />nErrori = 0<br /><p><h4>FINE DEL LAVORO</h4></p>

Potete darmi qualche dritta?
Grazie
 
Ultima modifica:
l'esito il risultato è sempre: file da elaborare
mi permetto,

un ambiente di test dovrebbe essere la copia speculare dell'ambiente operativo
nel caso specifico, per garantire un corretto debug dei dati prima del caricamento
ed al contempo per ridurre gli accessi all'ambiente operativo, ricevendo questo solo dati "puliti"

non è così,
i "servizi pubblici", mi permetto di generalizzare, sono sempre "approssimativi"
come dire, ritenta, sarai più fortunato

ps, anche quest' anno il mio 730 precompilato sarà sbagliato, perché gli scontrini sono stati caricati male,
avendone possibilità nel 2018 ho cambiato farmacia anche se più lontana da casa

purtroppo non si possono selezionare tutti i "servizi"
 
Grazie Marino per la risposta, quindi mi stai dicendo che devo andare un po' a .... fortuna ... devo azzardarmi a inviare tutto all'ambiente operativo e incrociare le dita anche dei piedi e sperare che tutto vada per il meglio.
 
dovresti tu
avere la certezza dei codici fiscali perché il sistema di test non li controlla
ed al contempo essere certo dei dati che stai passando in termini di valori, non dei formati
perché i formati sono controllati al momento del caricamento secondo quanto descritto nel file xsd

quindi il risultato é positivo se i tuoi dati sono validi

dopo il caricamento puoi sfruttare il "report mensile" per incrociare i dati caricati con i dati in archivio
in modo da avere una certezza in più che lo scontrino/fattura é stato caricato bene
e NON VIENE VANIFICATO lo spirito del 730 precompilato
 
grazie capito il tuo discorso ... ok ricontrollerò i dati fino alla nausea ... (ho abbastanza tempo prima della prossima scadenza) ... e poi mi lancerò nel vuoto.

ti auguro una buona giornata
 
Help. Oggi cerco di spedire una fattura ed ottengo il messaggio di errore E011 per XML "FILE NON CONFORME ALLO SCHEMA DI VALIDAZIONE". Ovviamente sono mesi che non tocco i sorgenti. Ecco l'XML incriminato. Qualcuno riesce a capire perché non è conforme?

<?xml version="1.0" encoding="utf-8"?>
<precompilata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="730_precompilata.xsd">
<proprietario>
<cfProprietario>ATP/sSEVeJXHEfUi/TqDwSs7FUuaNqH0b4kFoUgtJRfRZtGgYIDORODfinHxo/jyZicMuQeWt7IVp0tgGTWGS2APfhM19FUWezVmagQ7MDtlOOjkADTD/5aAbvUlkmYEiwrA9Fx7KvBUVB1RgjHFCY93KkozVOWyeMSHWuvfwA8=</cfProprietario>
</proprietario>
<documentoSpesa>
<idSpesa>
<pIva>00954290599</pIva>
<dataEmissione>2018-12-05</dataEmissione>
<numDocumentoFiscale>
<dispositivo>1</dispositivo>
<numDocumento>21</numDocumento>
</numDocumentoFiscale>
</idSpesa>
<dataPagamento>2018-12-05</dataPagamento>
<flagOperazione>I</flagOperazione>
<cfCittadino>lzTxKt4ZT2lXRCUHpk2VlTvSVkOaHIsU0TL4EULooj8CNMLSekxGlfa2zN5Gk0zCnU18Mp2ye1xNWKm11cgSYTezydkmPApbKGvZ2kcxHIgVF2Hk5hDXhC5AxeRDWx6ce65a0tpV0ulDEY9xL1S7lFY8P9mgasUAqkAHNrBuL9A=</cfCittadino>
<voceSpesa>
<tipoSpesa>SR</tipoSpesa>
<importo>80.00</importo>
</voceSpesa>
<voceSpesa>
<tipoSpesa>AA</tipoSpesa>
<importo>2.00</importo>
</voceSpesa>
</documentoSpesa>
</precompilata>
 
spero tu abbia risolto, in ogni caso ho preso il testo xml che hai pubblicato,
ho creato il file xml con copia-incolla in blocco note di windows,
ho sostituito il $cfProprietarioCifrato e $piProprietario con quelli di prova,
ho tolto il carattere "0D" carriage-return usando hex-editor
ma solo dopo aver tolto lo spazio (o carattere non visibile) che precede sia <precompilata che </precompilata>
ho ottenuto il risultato
upload_2018-12-7_15-37-31.png

quindi a parte lo spazio, il tuo file é stato accettato dal sistema di prova
upload_2018-12-7_15-40-29.png
 
Grazie Marino, sei sempre una risorsa. La formattazione dell'XML l'ho fatta io a mano dato che il file creato è lineare e non contiene caratteri esc. Come ti dicevo il sorgente era sempre quello, invariato da mesi. Il giorno dopo, quando sono andato a cercare di capire l'errore, il tutto ha ripreso a funzionare regolarmente. A me questi misteri Sogei lasciano sempre addosso un non so che di inquietante...
Grazie ancora.
 
Ciao a tutti, innanzitutto volevo ringraziarvi perchè ho trovato molto utili tutte le indicazioni di questo thread. Grazie ad esso ho potuto implementare con successo il mio script personalizzato di invio ed è già il terzo anno di seguito che lo uso con successo.

Quest'anno mi è parso che l'ambiente di test si comportasse (a parità di codice) in modo differente, in particolare restituiva WS99 richiesta non completata nell'invocazione del Web Service della ricevuta.

Allora ho provato direttamente in produzione dove invece tutto è filato liscio.

Per caso è cambiata qualche specifica dell'ambiente di test ?
Potreste indicarmi di nuovo il link dove trovare tutte le specifiche e il SDK dell'invio al TS ? Purtroppo non ho salvato il link che ho usato tre anni fa ...
Inoltre, qual'è l'indirizzo mail della SOGEI alla quale di solito inviate richieste di chiarimenti ?

Grazie !
 

Discussioni simili