• Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP

730 precompilato + di uno snippet

  • Creatore Discussione Creatore Discussione marino51
  • Data di inizio Data di inizio 9 Gen 2016
Prec.
  • 1
  • …
  • 10
  • 11
  • 12
  • 13
  • 14
  • …
  • 26
Succ.
Primo Prec. 12 di 26 Succ. Ultimo
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 19 Gen 2017
  • #221
Buon giorno. Ho cambiato la riga di Credenziali.php
PHP:
if( !empty( $argv ) ) $protocollo = $argv[1];
così ho fatto questo scrip linux _5_FattureInvioRisultati.sh per mettere come argomento il protocollo con php a riga di comando
Codice:
#!/bin/bash
NRARG=1

if [ $# -lt "$NRARG" ]
   then
       protocollo=1601*************
   else
       protocollo=$1
fi
echo $protocollo

php FattureInvioRicevutaPdf.php $protocollo

php FattureInvioEsito.php $protocollo

php FattureInvioDettaglioErrori.php $protocollo
Spero sia utile a chi ha GNU/Linux e PHP a riga di comando come me.

Non ho ancora trovato nulla per avere dal sistemaTS la lista completa di quello che si è inviato: voi?
Meglio esser certi di che cosa hanno ricevuto, importi compresi.
Buon lavoro!
 
R

rudycox

Nuovo Utente
12 Gen 2016
25
4
3
  • 19 Gen 2017
  • #222
Confermo quanto scritto da Perseo e Marino, in fase di test su 4900 ricevute ho avuto warning su circa 400 codici fiscali.

In PRODUZIONE con gli stessi codici fiscali i warning sono scesi a 22 !!

Per la correzione, ho creato un nuovo xml con le sole ricevute dei warning ed i codici fiscali corretti e,
al posto del flag I (inserimento) ho messo V (Variazione).

Tutti sistemati ed accettati al primo colpo
 
B

BlackJad

Nuovo Utente
20 Gen 2017
3
0
1
42
  • 20 Gen 2017
  • #223
Ciao a tutti,
sto riscontrando un errore per tutti gli invii, nel caso di partita IVA con lo 0 (zero) iniziale. Il sistema boccia tutte le richieste perchè riconosce ovviamente un dato non valido.
Ad esempio, 023458124570 viene sicuramente tradotto lato server in 23458124570, quindi non sono più 11 caratteri.

Qualcuno ha avuto lo stesso problema?

Grazie.
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 20 Gen 2017
  • #224
BlackJad ha scritto:
Ciao a tutti,
sto riscontrando un errore per tutti gli invii, nel caso di partita IVA con lo 0 (zero) iniziale. Il sistema boccia tutte le richieste perchè riconosce ovviamente un dato non valido.
Ad esempio, 023458124570 viene sicuramente tradotto lato server in 23458124570, quindi non sono più 11 caratteri.

Qualcuno ha avuto lo stesso problema?

Grazie.
Clicca per allargare...
mai avuto il problema, perché definito come stringa di caratteri, non come numero
PHP:
$piProprietario        = "00265910661";
 
B

BlackJad

Nuovo Utente
20 Gen 2017
3
0
1
42
  • 20 Gen 2017
  • #225
marino51 ha scritto:
mai avuto il problema, perché definito come stringa di caratteri, non come numero
PHP:
$piProprietario        = "00265910661";
Clicca per allargare...
Ciao,
anche nel mio caso è stringa, ma se guardo l'xml della richiesta SOAP prodotto dal SoapClient, vedo che gli zeri iniziali sono tagliati.
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 20 Gen 2017
  • #226
BlackJad ha scritto:
Ciao,
anche nel mio caso è stringa, ma se guardo l'xml della richiesta SOAP prodotto dal SoapClient, vedo che gli zeri iniziali sono tagliati.
Clicca per allargare...
negli script che sono stati pubblicati in questa discussione, la partita iva è usata solo all'interno dei documenti
Codice:
</proprietario>
  <documentoSpesa>
    <idSpesa>
      <pIva>00265910661</pIva>
      <dataEmissione>2016-01-07</dataEmissione>
      <numDocumentoFiscale>
        <dispositivo>1</dispositivo>
        <numDocumento>001/2016851</numDocumento>
      </numDocumentoFiscale>
e vi compare nella sua interezza, forse stai parlando d'altro, se così fosse ti conviene aprire una discussione separata perché non coerente con il contenuto di questa
 
B

BlackJad

Nuovo Utente
20 Gen 2017
3
0
1
42
  • 20 Gen 2017
  • #227
marino51 ha scritto:
negli script che sono stati pubblicati in questa discussione, la partita iva è usata solo all'interno dei documenti
Codice:
</proprietario>
  <documentoSpesa>
    <idSpesa>
      <pIva>00265910661</pIva>
      <dataEmissione>2016-01-07</dataEmissione>
      <numDocumentoFiscale>
        <dispositivo>1</dispositivo>
        <numDocumento>001/2016851</numDocumento>
      </numDocumentoFiscale>
e vi compare nella sua interezza, forse stai parlando d'altro, se così fosse ti conviene aprire una discussione separata perché non coerente con il contenuto di questa
Clicca per allargare...
Grazie a tutti per le risposte, ma ho appena risolto.
Per chi riscontrasse un problema simile, questa è la soluzione:

Utilizzando il SoapClient lato PHP, qualsiasi invio fate (sincrono o asincrono) utilizzando i WSDL del kit di sviluppo, utilizza il suo file XSD associato, sempre disponibile nel kit di sviluppo.
Questo file XSD riporta la partita iva come tipo INT, quindi tutte le chiamate verranno serializzate in XML troncando gli 0 iniziali delle partite iva.
Per risolvere ho modificato l'XSD del kit di sviluppo impostando l'elemento pIva come string.

Evidentemente qualche genio all'interno della società che sviluppa il sistema, ha pensato bene di non applicare il tipo INT alle partite iva, ma lasciarlo STRING, ed ha dimenticato di aggiornare gli XSD.

Grazie.
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 21 Gen 2017
  • #228
marino51 ha scritto:
negli script che sono stati pubblicati in questa discussione, la partita iva è usata solo all'interno dei documenti
Clicca per allargare...
Quindi a prescindere da xsd eventualmente errato con
Codice:
<xs:element name="pIva">
   <xs:simpleType>
       <xs:restriction base="xs:integer">
           <xs:pattern value="([0-9]{11})"/>
       </xs:restriction>
   </xs:simpleType>
</xs:element>
che c'è solamente in DocumentoSpesa730pSchema.xsd (sincrono singolo dato che non vengono usati negli script di questa discussione del mitico marino51), viene creato da questi script l'elemento pIva perchè passato dallo script e anche perché non presente in InvioTelematicoSpeseSanitarie730p_schema1.xsd (asincrono più dati)?
In Credenziali.php ho
PHP:
define ("_piProprietario",       "98765432104");
....
$piProprietario       = _piProprietario;
e non diretto
PHP:
$piProprietario        = "00265910661";
come hai scritto: era solamente un esempio giusto?
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 21 Gen 2017
  • #229
Idee per integrare gli script con l'interrogazione del web server, se esiste come penso ma non so se completato da lor signori, per avere una lista completa dei dati che hanno preso compreso gli importi singoli di ogni documento fiscale?
Ho dato un occhiata, come detto, a InterrogazionePuntuale730Service_schema.xsd (aaaargh!) dove c'è
Codice:
<xs:complexType name="DocumentoFiscaleType">
   <xs:sequence>
       <xs:element name="idDocumentoFiscale" type="IdDocumentoFiscaleType" minOccurs="0"/>
       <xs:element name="dataPagamento" type="DataMinType" minOccurs="0"/>
       <xs:element name="totaliVociSpesa" maxOccurs="unbounded" minOccurs="0">
           <xs:complexType>
               <xs:sequence>
                   <xs:element name="tipoSpesa" type="xs:string"/>
                   <xs:element name="importo" type="xs:double"/>
               </xs:sequence>
           </xs:complexType>
       </xs:element>
e su InterrogazionePuntuale730Service.wsdl trovo questo url
Codice:
<wsdl:definitions targetNamespace="http://interrogazionepuntuale.p730.sanita.finanze.it">
   <wsdl:types>
       <xsd:schema elementFormDefault="qualified">
           <xsd:import namespace="http://interrogazionepuntuale.p730.sanita.finanze.it" schemaLocation="InterrogazionePuntuale730Service_schema.xsd"/>
       </xsd:schema>
che dovrebbe usare questi endpoint
Codice:
https://invioSS730pTest.sanita.finanze.it/InterrogazionePuntuale730Web/InterrogazionePuntuale730Port
https://invioSS730p.sanita.finanze.it/InterrogazionePuntuale730Web/InterrogazionePuntuale730Port
Ma l'xsd è totalmente diverso da quello delle ricevute ne vedo pdf per le specifiche tecniche nel kit (come nelle ricevute) e quindi non so esattamente come creare lo script per l'"interrogazione puntuale", che forse serve allo scopo, ovvero un nuovo InterrogazionePuntuale.php.

Vedo su Credenziali.php che era previsto anche un DocumentoSpesa perché vedo gli endpoint ma non vedo il WSDL
PHP:
$DocumentoSpesa   = "https://invioSS730pTest.sanita.finanze.it/DocumentoSpesa730pWeb/DocumentoSpesa730pPort";
...
$DocumentoSpesa   = "https://invioSS730p.sanita.finanze.it/DocumentoSpesa730pWeb/DocumentoSpesa730pPort";
...
define ("_DocumentoSpesa_WSDL",       "");

Mi manca un pezzo oppure non sei riuscito a finirlo / farlo?
Il DocumentoSpesa730p.wsdl nel kit è nella cartella TracciatiWS/WS_SincronoSingoloDato730/ ma è totalmente diverso da quello delle ricevute e, sopratutto, non ho trovato nessun PDF che spieghi quali sono esattamente i campi per la richiesta ed esattamente i campi di risposta... su DocumentoSpesa730pSchema.xsd (e anche InterrogazionePuntuale730Service_schema.xsd) non c'è neanche datiInput, datiOutput, Exception, dettaglioEsitoNegativo, dettaglioEsitoPositivo etc etc insomma non ci ho capito molto. Voi? Oppure sono io che non ho trovato il PDF? Se qualcuno lo ha trovato posti il link del ministero per tutti. Grazie

Per le ricevute, come detto, c'è Specifiche tecniche ricevute 730 precompilato_16_11_2015.pdf dove spiega con capitoli apposta intitolati "DESCRIZIONE DEGLI ELEMENTI COSTITUTIVI DEL MESSAGGIO DI RICHIESTA DEL SERVIZIO x" e relativo "DESCRIZIONE DEGLI ELEMENTI COSTITUTIVI DEL MESSAGGIO DI RISPOSTA DEL SERVIZIO X"... da solo non ci riesco a farli. Qualcuno ha pensato come fare?

Per me doveva essere un servizio essenziale che il ministero / sogei doveva implementare... Non vi sembra? Grazie.

p.s. esiste anche ReportMensile730Service per un eventuale ReportMensile730.php con questi endpoint
Codice:
AMBIENTE DI TEST:
https://invioSS730pTest.sanita.finanze.it/ReportMensile730Web/ReportMensilePort
AMBIENTE DI PRODUZIONE:
https://invioSS730p.sanita.finanze.it/ReportMensile730Web/ReportMensilePort
 
Ultima modifica: 21 Gen 2017

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 22 Gen 2017
  • #230
come hai scritto: era solamente un esempio giusto?
Clicca per allargare...
si era un esempio,
considera che avendo la necessità, ho modificato i miei script per gestire sia il "medico" sia la "struttura"
apportando le dovute modifiche, di fatto, al solo "credenziali" e poco altro

Mi manca un pezzo oppure non sei riuscito a finirlo / farlo?
Clicca per allargare...
lo scorso anno non esistevano le funzioni indicate (credo di non sbagliare)

non ne ho mai sentito la necessità, d'altra parte nel pdf di conferma, ci sono le informazioni sui documenti
quanti inviati ed i relativi "stati" possibili,

quest'anno è stata aggiunta la totalizzazione per tipo di spesa, sia per gli importi che per il numero dei valori inviati

credo non debbano sussistere dubbi che, ciò che viene inviato viene anche correttamente recepito, se così non fosse ci conviene cambiare mestiere, quindi non vedo la necessità di ritrasferire a ritroso tutti i documenti inseriti

se ho ben capito il funzionamento sincrono, potrebbe si necessitare delle due funzioni nuove,
ma, credo sia meglio l'alternativa di inviare mensilmente i documenti in modo asincrono, quando ci fossero enormi volumi,
per operare i giusti CONTROLLI PRIMA dell'invio

per leggere i file, procurati qualche tool che possa aiutarti, vedi un risultato nel pdf allegato

credo che anche quest'anno ci possiamo stappare una .... gazzosa
 

Allegati

  • a_730_precompilata.pdf
    a_730_precompilata.pdf
    67,9 KB · Visite: 676
Ultima modifica: 22 Gen 2017
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 22 Gen 2017
  • #231
marino51 ha scritto:
non ne ho mai sentito la necessità, d'altra parte nel pdf di conferma, ci sono le informazioni sui documenti
quanti inviati ed i relativi "stati" possibili,
Clicca per allargare...
Vero ma nelle ricevute non ci sono i dettagli singoli. Penso il caso nel csv si è erroneamente invertito un CF o un importo il totale viene perfetto ma sono errati gli invii singoli e quindi si rischia sanzioni
Poi fidarsi è bene ma non fidarsi del sistemaTS è meglio. Gli unici dati "legale" che si possono dare come prove di aver inviato correttamente i dati sono le ricevute PDF del sistema TS ma come detto sarebbe meglio avere almeno un response. Ahime non viene un PDF ma solo una risposta dal web service quindi anche quello è non da portare in caso di "richiesta" di sanzione. Il SistemaTS a mio avviso dovrebbe dare un PDF completo dei dati inviati per poi controllarli ma si ha un documento ufficiale. Ma questa forse è una mia idea di Stato corretto.
Ti ringrazio del PDF, anche se i campi non so se sono gli stessi per gli altri 3 servizi ReportMensile730Service, ReportMensile730Service e DocumentoSpesa730p.

Ho provato a fare InterrogazionePuntuale.php ma probabilmente ho sbagliato qualcosa..
PHP:
<?php
require_once 'Credenziali.php';

echo "<p><h4>RICHIESTA INTERROGAZIONE PUNTUALE</h4></p>";

$ws = _InterrogazionePuntuale_WSDL;
$SoapClientParam["location"] = $InterrogazionePuntuale;

error_log("definisco il file wsdl ".$ws, 0);
echo $ws."<p> </p>";

error_log("definisco the soap server location ".$SoapClientParam["location"], 0);
echo $SoapClientParam["location"]."<p> </p>";

$client = new SoapClient($ws, $SoapClientParam);

echo "<p><h4>List of available SOAP functions</h4></p>";
$output = $client->__getFunctions();
while (list ($key, $val) = each ($output) ) echo $val."<br />"; echo "<p> </p>";

echo "<p><h4>List of types described in the WSDL for the Web service</h4></p>";
$output = $client->__getTypes();
while (list ($key, $val) = each ($output) ) echo $val."<br />"; echo "<p> </p>";

$dataEmissione = '01/01/2016';
$numDocumento = '1/2016';

echo "<p><h4>INVIO LA RICHIESTA</h4></p>";
echo $protocollo."<p> </p>";

error_log("invio la richiesta", 0);
error_log("pinCode    = ".$pincodeInvianteCifrato, 0);
error_log("Data = ".$dataEmissione, 0);
error_log("Documento = ".$numDocumento, 0);

$output = $client->InterrogazionePuntuale(Array
    (
    "interrogazionePuntualeRequest"    => (Array
        (
        "opzionale1"  => '0',
        "opzionale2"  => '0',
        "opzionale3"  => '0',
        "pincode"     => $pincodeInvianteCifrato,    // prima ho provato anche non cifrato
    "Proprietario"       => ( Array
        (
        "codiceRegione"      => $codiceRegione,
            "codiceAsl"          => $codiceAsl,
            "codiceSSA"          => $codiceSSA,
        "cfProprietario"     => $cfProprietario
        )),
    "idDocumentoFiscale"       => ( Array
    (
    "pIva"              => $piProprietario,
        "dataEmissione"         => $dataEmissione,
        "numDocumentoFiscale"   => (Array
        (
        "dispositivo"    => '1',
        "numDocumento"    => $numDocumento
        )),
        )),
        ))
    ));
if (is_soap_fault($output))
    {
    $err = "SOAP Fault: (faultcode: {$output->faultcode}, faultstring: {$output->faultstring})";
    error_log("richiesta terminata con errori", 0);
    echo "<p><h4>RICHIESTA TERMINATA CON ERRORI</h4></p>"."<p>$err</p>";
    var_dump($output); echo "<p> </p>";
    trigger_error($err, E_USER_ERROR);
    }
else
    {
    error_log("LA RICHIESTA HA AVUTO RISPOSTA", 0);
    echo "<p><h4>LA RICHIESTA HA AVUTO RISPOSTA</h4></p>";
//  var_dump($output); echo "<p> </p>";

    $esito = $output->interrogazionePuntualeResponse->esitoChiamata;

    if ( $esito == "0" )
        {
        error_log("E' PRESENTE L' INTERROGAZIONE PUNTUALE DI ".$numDocumento, 0);
        echo "<p><h4>E' PRESENTE L' INTERROGAZIONE PUNTUALE DI ".$numDocumento."</h4></p>";

        ReportOutput("esitoChiamata");
        ReportOutput("documentoFiscale");
        ReportOutput("listaMessaggi");
        }
    else
        {
        error_log("ERRORE: NON E' PRESENTE L' INTERROGAZIONE PUNTUALE DI ".$numDocumento, 0);
        echo "<p><h4>ERRORE: NON E' PRESENTE L' INTERROGAZIONE PUNTUALE DI ".$numDocumento."</h4></p>";
        }
    }

error_log("done ".$_SERVER['PHP_SELF'], 0);
echo "<p><h4>FINE DEL LAVORO</h4></p>";


function ReportOutput($var)
    {
    global $output;
    error_log($var." = ".$output->interrogazionePuntualeResponse->{$var}, 0);
//    error_log($var." = ".$output->DatiOutputRichiesta->esitiPositivi->dettagliEsito->{$var}, 0);
    echo $var." = ".$output->interrogazionePuntualeResponse->{$var}."<br />";
//    echo $var." = ".$output->DatiOutputRichiesta->esitiPositivi->dettagliEsito->{$var}."<br />";
    }
?>
Questi sono le funzioni e tipi usciti da __getFunctions() e __getTypes()
Codice:
RICHIESTA INTERROGAZIONE PUNTUALE

InterrogazionePuntuale730Service.wsdl

https://invioSS730pTest.sanita.finanze.it/InterrogazionePuntuale730Web/InterrogazionePuntuale730Port

List of available SOAP functions

interrogazionePuntualeResponse InterrogazionePuntuale(interrogazionePuntualeRequest $interrogazionePuntualeRequest)

List of types described in the WSDL for the Web service

struct interrogazionePuntualeRequest { string opzionale1; string opzionale2; string opzionale3; string pincode; ProprietarioType Proprietario; IdDocumentoFiscaleType idDocumentoFiscale; }
struct interrogazionePuntualeResponse { string esitoChiamata; DocumentoFiscaleType documentoFiscale; listaMessaggi listaMessaggi; }
struct listaMessaggi { messaggio messaggio; }
struct messaggio { string codice; string descrizione; string tipo; }
struct ProprietarioType { String3Type codiceRegione; String3Type codiceAsl; String6Type codiceSSA; CfType cfProprietario; }
struct IdDocumentoFiscaleType { String11Type pIva; DataMinType dataEmissione; numDocumentoFiscale numDocumentoFiscale; }
struct numDocumentoFiscale { Int3Type dispositivo; NumDocType numDocumento; }
struct DocumentoFiscaleType { IdDocumentoFiscaleType idDocumentoFiscale; DataMinType dataPagamento; totaliVociSpesa totaliVociSpesa; totaliVociSpesaRimborsate totaliVociSpesaRimborsate; string protocollo; string nomeFile; DataMinType dataInvio; String1Type tipoInvio; listaErroriDocumento listaErroriDocumento; }
struct totaliVociSpesa { string tipoSpesa; double importo; }
struct totaliVociSpesaRimborsate { string tipoSpesa; double importo; }
struct listaErroriDocumento { errore errore; }
struct errore { string codice; string descrizione; string tipo; }
string CfType
string String3Type
string String6Type
string String1Type
string String11Type
date DataMinType
int Int3Type
string NumDocType

Ma mi da
Codice:
PHP Fatal error:  SOAP-ERROR: Encoding: object has no 'pincode' property in InterrogazionePuntuale.php on line 58
PHP Fatal error:  Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'pincode' property in InterrogazionePuntuale.php:58

58:        "numDocumento"   => $numDocumento
Allego i file del kit relativi a InterrogazionePuntuale.

Se mi fate capire cosa ho sbagliato posso anche fare ed postare ReportMensile.php e DocumentoSpesa.php
Grazie

p.s. mi da estensione non corretta per l'allegato. Sono comunque quelli in kit730P_ver_20161223/TracciatiWS/WS_Interrogazioni/
 
D

Dan_OA

Nuovo Utente
23 Gen 2017
2
0
1
  • 23 Gen 2017
  • #232
Ciao a tutti, una domanda generica relativa al discorso.
Ho quasi ultimato un gestionale che oltre ad archiviare fatture ha la possibilità di inviarle al servizio tessera sanitaria. ( Fatto in PHP principalmente )

Ora ho un problema occasionale con l'invio...
Per ora le fatture vengono inviate singolarmente tramite MTOM con allegato XML zippato ( in futuro implementerò l'invio multiplo... ) quindi si parla di un invio per fattura.

Dopo l'invio di N fatture ( una decina direi ) sembra bloccarsi tutto. Nel senso che inviando ( diciamo l'undicesima ) una fattura risulta in elaborazione ma controllando da log risultano 0 fatture inviate e la ricevuta ovviamente non ritorna nulla.
Possibile che ci sia qualcosa tipo: dopo N richieste blocca tutto ?

In caso ci sono dei numeri / indirizzi email per contattare i tecnici SOGEI ? Riesco soltanto a trovare il numero verde e quello risulta sempre occupato.

Grazie per l'attenzione e scusate il wall of text
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 25 Gen 2017
  • #233
Ma nooo. Adesso che ho fatto il csv piu' simile all'invio effettivo in fase di test mi da errore
CODICE ERRORE E011 - MOTIVAZIONE DI SCARTO: FILE NON CONFORME ALLO SCHEMA DI VALIDAZIONE
non ho cambiato lo script ho solo cambiato il numero documento che al posto del solo numero ho messo (obbligo) esattamente come è scritto sulla fattura ovvero n/A 16 nel csv...
Codice:
1;05/01/2016;1/A 16;*cf_controllato*;1;0;0;0;0
(gli importi sono tutti 1 per controllare) e l'XML inizia con:
Codice:
<precompilata xsi:noNamespaceSchemaLocation="730_precompilata.xsd">
<opzionale1>text</opzionale1><opzionale2>text</opzionale2><opzionale3>text</opzionale3>
<proprietario>
  <codiceRegione>604</codiceRegione><codiceAsl>120</codiceAsl><codiceSSA>010011</codiceSSA>
  <cfProprietario>Ix4O...tolto_per_chiarezza_lo_stesso_di_ieri</cfProprietario>
</proprietario>
<documentoSpesa>
 <idSpesa><pIva>98765432104</pIva><dataEmissione>2016-01-05</dataEmissione>
 <numDocumentoFiscale><dispositivo>1</dispositivo><numDocumento>1/A 16811</numDocumento>
 </numDocumentoFiscale>
 </idSpesa>
 <dataPagamento>2016-01-05</dataPagamento><flagOperazione>I</flagOperazione>
 <cfCittadino>_il_cf_criptato_del_cittadino_</cfCittadino>
 <voceSpesa><tipoSpesa>AD</tipoSpesa><importo>1.00</importo></voceSpesa>
</documentoSpesa>

... tutte le voci ...
</precompilata>
Ovviamente al posto di *cf_controllato* c'è il cf che ieri gli era andato bene... io certo non ho modificato lo script da ieri!

Avevo notato una piccolissima cosa strana ieri ma erano le solite sciocchezze del sistema di test.
Ovvero come è successo a voi mi dava degli warning errati (i cf sono stati controllati con il programma, con lo script del mitico Marino e per scrupolo quegli warning li ho controllati sul sito dell'Agenzia quindi tutti CF validi) W003;IL CF CITTADINO NON PRESENTE IN ARCHIVIO
Avevo notato che il csv degli errori (errati per colpa del sistema di test) mi sembrava non corretto il DOCUMENTO FISCALE NUMERO (che dovrebbe avere i 3 caratteri del microtime) ma noto che anche l'XML fatto dagli stessi script mi dava uno strano
<numDocumento>1.79</numDocumento>
con il csv alla voce del numero documento c'era solamente ;1; e non ;1/A 16; ma forse era perché il microtime() aveva solo 2 decimali e quindi è uscito .79. e quindi non me lo sono proprio filato.

Ho provato anche a mettere solo 10 righe nel csv. Uguale

Aiuto... ero quasi pronto per l'invio reale... che può essere successo? Grazie

Aggiunta: ho rimesso il file di ieri... neanche quello funziona più.... disperazione
No scusate quello di ieri funziona.... ma allora il problema è che non può essere messo 1/A 16? Perchè... è obbligatorio mettere esattamente come è riportato sulla fattura
<numDocumento>1683</numDocumento> gli va bene
<numDocumento>1/x 16258</numDocumento> corretto non gli va bene
 
Ultima modifica: 25 Gen 2017

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 25 Gen 2017
  • #234
;1/A 16;
mi sembra ci sia uno spazio, prova a toglierlo

Codice:
    <xs:simpleType name="numDocType">
        <xs:restriction base="xs:string">
            <xs:pattern value="([A-Za-z0-9_./\\\-]{1,20})"/>
        </xs:restriction>
    </xs:simpleType>
 
Ultima modifica: 25 Gen 2017
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 25 Gen 2017
  • #235
marino51 ha scritto:
;1/A 16;
mi sembra ci sia uno spazio, prova a toglierlo
Clicca per allargare...
Guarda grande Marino51, ci avevo pensato a pranzo infatti avevo provato con _ al posto di spazio e è andato "in attesa di elaborazione" quindi niente ricevuta da vedere.
Ma allora non sarà conforme a quanto scritto sulla fattura quindi, diciamo, errata. Oppure visto che è restircted senza spazi, nella documentazione tecnica del kit (e nelle leggi) mi sono perso come sostituire uno spazio con un determinato carattere?
Oppure non lo hanno proprio considerato? Ufff. Ovviamente il numero verde è così intasato che il disco dice di richiamare più tardi.
 
Ultima modifica: 25 Gen 2017

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 25 Gen 2017
  • #236
non mi creerei problemi (quando non ci sono), è tutto dimostrabile (tieniti una nota scritta per ricordare fra 5 anni, magari inseriscila nel "__TesseraSanitaria.log" che ti conservi con gli originali e i risultati dell'invio)
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 25 Gen 2017
  • #237
marino51 ha scritto:
non mi creerei problemi (quando non ci sono), è tutto dimostrabile
Clicca per allargare...
Hai ragione... certo se ci fosse un metodo anche per scaricare dal webservice quanto inviato con cf, numero e data fattura e sopratutto importo sarebbe una prova. Il tuo ottimo log va bene ma mi sa che se arrivano sanzioni poi non vale molto.... (vedi i miei post per creare le risposte da loro con l'eventuale ReportMensile.php, DocumentoSpesa.php e InterrogazionePuntuale.php che avevo tentato di fare ma che non è andato a buon fine).
Toglierò direttamente lo spazio quindi 1/A 2016 diventerà 1/A2016.
Per avere più dati ho modificato l'uscita del __TesseraSanitaria.log con questa riga per avere almeno l'importo sul tuo log (anche se sono solo i dati locali ma meglio che nulla):
PHP:
error_log($col[_ColDocNumber]." Euro: ".number_format($TotalEuro, 2, ".", "")." * ".$col[_ColFiscalCode]." * ".$cf, 0);

Ho anche un forte dubbio per l'arrotondamento al centesimo che non tornerebbe con i totale di una fattura, premettendo che spero vivamente che siano da inserire non le singole voci per ogni tipologia detraibile (esempio AD e AA) perchè altrimenti l'arrotondamento sarebbe in caso ancora non conforme al totale della fattura con abbinato lo scontrino (stessa cosa con le voci non detraibili). Questo perché si deve inviare l'importo IVAto:
Esempio: fattura con 4 voci:
coso detraibile1 imponibile A1 (ivato verrebbe 1 centesimo in più essendo per esempio x.006) tipo voce AD
coso detraibile2 imponibile A2 (ivato verrebbe 1 centesimo in più essendo per esempio x.006) tipo voce AA
... etc
In fattura si calcola A1+A2+A3+A4+... e DOPO si fa l'arrondamento al centesimo e quindi il totale fattura ivato.
Quindi se la fattura è per esempio
A1(voci AD) + A2(voci AA) = imponibileTot -> arrotondamento -> +iva = 100,00 su scontrino e relativa fattura allegata
Nel caso sopracitato si dovrebbero mettere verrebbe
A1 voce AD ivato 1 centesimo in più
A2 voce AA ivato 1 centesimo in più
totale inviato al sistemaTS 100,02 non conforme con la fattura.... quindi sanzione? Se si dovessero (cosa che non mi sembra) inviare le voci completamente separate anche con la stessa tipologia e se disgraziatamente fossero 100 e tutte ivate con 1 centesimo in più verrebbe 1 euro in più.... che ne pensate?
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 25 Gen 2017
  • #238
rudycox ha scritto:
devi cambiare alcune cose rispetto ai primi post di Marino in quanto l'inviate non è un singolo utente ma una struttura.
Clicca per allargare...
Sperando che vada bene la sostituzione senza spazio per il numero documento e mettendo TUTTE le voci AD raggruppate è corretto che per codificare per invio effettivo devo mettere su Credenziali.php, aggiungendo la tua funzione function EncryptData($source),
PHP:
    define ("_cfProprietarioCifrato", EncryptData("codice_fiscale_effettivo"));
    define ("_pincodeInvianteCifrato", EncryptData("pincode_effettivo"));
Giusto? Grazie.
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 26 Gen 2017
  • #239
provo a rispondere io ...
LinuxOhYeah ha scritto:
Sperando che vada bene la sostituzione senza spazio
Clicca per allargare...
ok,
LinuxOhYeah ha scritto:
mettendo TUTTE le voci AD raggruppate è corretto
Clicca per allargare...
ok
LinuxOhYeah ha scritto:
per invio effettivo devo mettere su Credenziali.php
Clicca per allargare...
si, copia la struttura di test, nella sezione per l'invio effettivo e sostituisci i valori con quelli del "proprietario"
LinuxOhYeah ha scritto:
aggiungendo la tua funzione function EncryptData($source),
Clicca per allargare...
no, non lo farei, se hai provato il processo controllando i risultati prodotti da tutti i suoi passi, mantieni il processo inalterato
funzionerà allo stesso modo anche per i dati di "produzione"
 
L

LinuxOhYeah

Utente Attivo
26 Nov 2016
186
7
18
  • 26 Gen 2017
  • #240
marino51 ha scritto:
provo a rispondere io ...
Clicca per allargare...
Grazie infinite! Chi meglio di te visto che sei tu il creatore degli script !
marino51 ha scritto:
-> LinuxOhYeah ha scritto: ↑ aggiungendo la tua funzione function EncryptData($source),
no, non lo farei, se hai provato il processo controllando i risultati prodotti da tutti i suoi passi, mantieni il processo inalterato
funzionerà allo stesso modo anche per i dati di "produzione"
Clicca per allargare...
Va bene non la metto, ma allora come faccio a creare con i tuoi script i 2 dati criptati necessari per l'invio effettivo, mettendo $TEST = false; ? Ovvero _cfProprietarioCifrato e _pincodeInvianteCifrato
PHP:
if( $TEST )
...
else
    {
    error_log("INVIO EFFETTIVO *******", 0);

    define ("_name",           "Ottico EFFETTIVO");

    define ("_user",           "user_reale_non_criptato");
    define ("_psw",           "password_reale_non_criptato");

    define ("_networkUser",       "");
    define ("_networkPsw",       "");

    define ("_cfProprietario",       "cf_reale_non_criptato");
    define ("_cfProprietarioCifrato",   "DATO_CHE_MANCA_cf_reale_criptato");

    define ("_piProprietario",       "PartitaIva_reale");

    define ("_pincodeInviante",       "Pincode_Reale");
    define ("_pincodeInvianteCifrato",   "DATO_CHE_MANCA_Pincode_reale_criptato");

    $InvioTelematico... ;
    }
Sono necessari in _3_FatturaGeneraXMLdaTXT.php alle righe
PHP:
$encFC = $cfProprietarioCifrato;
...
$cfProprietario = $proprietario->addChild('cfProprietario', $encFC);
e in _4_FattureInviaWsdl.php alla riga
PHP:
"pincodeInvianteCifrato" => $pincodeInvianteCifrato,
oltre agli script FattureInvio*.php

_2_FattureGeneraOpenSSL.sh crea i file .enc di tutti i cf presi dal csv che vengono usati in GetEncFC($encFile) ma non quei 2 dati.... mi sembra.

Oppure mi sono preso un pezzo del tuo script che cripti queste 2 variabili?
Grazie
 
Ultima modifica: 26 Gen 2017
Prec.
  • 1
  • …
  • 10
  • 11
  • 12
  • 13
  • 14
  • …
  • 26
Succ.
Primo Prec. 12 di 26 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
Header spostato con explorer 7.0.5730.11?
  • ghisirds
  • 16 Lug 2007
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 19 Lug 2007
sbobby
campo precompilato
  • pup3770
  • 30 Apr 2015
  • MySQL
Risposte
1
Visite
2K
MySQL 28 Mag 2015
filomeni
[EXCEL] Calendario precompilato
  • novello88
  • 26 Mar 2014
  • Windows e Software
Risposte
1
Visite
3K
Windows e Software 7 Apr 2014
marino51
A
cancellare form precompilato
  • antonietta
  • 31 Lug 2008
  • Classic ASP
Risposte
2
Visite
4K
Classic ASP 1 Ago 2008
antonietta
A
B
Campo form precompilato
  • blasty
  • 3 Lug 2007
  • Classic ASP
Risposte
3
Visite
4K
Classic ASP 3 Lug 2007
PoLe
A
For in uno switch
  • alex12
  • 8 Mar 2023
  • PHP
Risposte
1
Visite
833
PHP 9 Mar 2023
WmbertSea
G
Qualcuno conosce questo software per gestire le telecamere
  • Giovannino60
  • 2 Lug 2022
  • IP Cam e Videosorveglianza
Risposte
0
Visite
1K
IP Cam e Videosorveglianza 2 Lug 2022
Giovannino60
G
A
Riprodurre uno schema colore
  • AiaceT
  • 30 Gen 2022
  • Photoshop
Risposte
15
Visite
2K
Photoshop 3 Feb 2022
WmbertSea
L
Non riesco a riprodurre uno sfondo
  • Lucabigoni
  • 18 Dic 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 18 Dic 2020
Lucabigoni
L
R
Distribuire uno Script "Facebook Auto Post"
  • race
  • 15 Nov 2020
  • PHP
Risposte
0
Visite
1K
PHP 15 Nov 2020
race
R
  • Bloccata
Come Unire file PST in Uno?
  • rebeca
  • 14 Ago 2020
  • Windows e Software
Risposte
0
Visite
2K
Windows e Software 14 Ago 2020
rebeca
M
temi premium Shopify da 180$ l'uno a prezzi bassissimi
  • michael9898
  • 13 Ago 2020
  • Altri Annunci
Risposte
0
Visite
2K
Altri Annunci 13 Ago 2020
michael9898
M
A
eliminare caratteri speciali mettendo uno spazio
  • AndreaCerre
  • 5 Ago 2020
  • PHP
Risposte
0
Visite
1K
PHP 5 Ago 2020
AndreaCerre
A
U
Cerco un graphic designer e uno sviluppatore Android
  • username998
  • 6 Lug 2020
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
1
Visite
2K
Offerte e Richieste di Lavoro e/o Collaborazione 7 Lug 2020
Max 1
C
  • Bloccata
Salve a tutti, sono uno studente
  • Carlo Zito
  • 10 Mag 2020
  • Presentati al Forum
Risposte
1
Visite
1K
Presentati al Forum 11 Mag 2020
Max 1
G
Fare uno sfondo con il prato e degli alberi
  • Giovannino60
  • 8 Mag 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 8 Mag 2020
Giovannino60
G
K
Help: problema con uno script di booking in php!
  • kathe
  • 28 Ott 2019
  • PHP
Risposte
0
Visite
743
PHP 28 Ott 2019
kathe
K
A
Creare con Javascript un percorso all'interno di uno spazio
  • albi64
  • 30 Set 2019
  • Javascript
Risposte
0
Visite
1K
Javascript 30 Set 2019
albi64
A
D
[Javascript] inserire uno script in un file php
  • diabolik71
  • 27 Set 2019
  • Javascript
Risposte
6
Visite
5K
Javascript 27 Set 2019
diabolik71
D
P
[PHP] Contare quante volte uno stesso id si ripete nella tabella
  • Phelps
  • 18 Mar 2019
  • PHP
Risposte
12
Visite
4K
PHP 20 Mar 2019
Phelps
P
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?