I have a big problem with the August 2024 version
that blocks my management software. With the June 2023 version it works correctly.
I managed to reproduce a prg with the error that causes the program to exit.
After the first or second time I call StampaFattura() the program exits.
Can you help me?
I have attached the PRG and XML the schema is downloaded from the site
Maurizio
#include "FiveWin.ch"
#include "Fileio.ch"
Function Main()
local oBrw, oDlgMain, uData
SET EXCLUSIVE OFF
SET DELETED ON
SET OPTIMIZE ON
SetGetColorFocus()
USE CUSTOMER NEW ALIAS CUST SHARED VIA 'DBFCDX'
DATABASE uData
DEFINE DIALOG oDlgMain SIZE 640,460 PIXEL TITLE 'Doppio click su una colonna' ;
@ 10,10 XBROWSE oBrw SIZE -10,-30 PIXEL OF oDlgMain ;
COLUMNS 'First', 'City', 'Age', 'Salary' ;
PICTURES nil, nil, '999', '99,999,999.99' ;
OBJECT uData ;
AUTOSORT CELL LINES NOBORDER ;
ON DBLCLICK StampaFattura()
WITH OBJECT oBrw
:nStretchCol := STRETCHCOL_WIDEST
:CreateFromCode()
END
@ 210,270 BUTTON 'Close' SIZE 40,14 PIXEL OF oDlgMain ACTION oDlgMain:End()
ACTIVATE DIALOG oDlgMain CENTERED
Return nil
Function StampaFattura()
Local cPathXMl_ := ''
Local cFilter := "Fatture XML | *.xml |"
LOCAL oActivex ,oDlg ,cUrl := '' , cXT := ''
Local cTmpFile := cTempFile() +'.XML' ,cText := '' ,cFile := '' , nFile := 0
Local cschema := '' ,lStampata := .f. ,lauto := .F.
//cFile := '\\linux\dati\sql\mastronipe\FATTURE_XML\PASSIVE\IT10168371002_00ZOY.xml'
cFile := 'IT10168371002_00ZOY.xml'
IF ! file(cFile)
? '2-File non trovato ' + cFile
Return .f.
ENDIF
cText := MemoRead( cFile )
//if file('FoglioStileAssoSoftware.xsl')
cSchema := 'FoglioStileAssoSoftware.xsl'
//ELSE
// cSchema := 'http:\\www.nipeservice.it\FS\FoglioStileAssoSoftware.xsl'
//endif
nFile := FCreate( cTmpFile, FC_NORMAL )
IF FWrite( nFile, cText ) <> Len( cText )
? "Errore scrittura file: " + cTmpFile + " " + FError()
RETURN nil
ENDIF
IF .NOT. Fclose( nFile )
? "Errore creazione file: " + cTmpFile + " " + FError()
RETURN nil
ENDIF
cTmpFile := GetCurDir() + '\' + cTmpFile
nFile := FCreate( cTmpFile, FC_NORMAL )
cText := '<?xml-stylesheet type="text/xsl" href="' + cSchema + '"?>' + CRLF + ;
strtran(cText,"","")
IF FWrite( nFile, cText ) <> Len( cText )
? "Errore scrittura file: " + cTmpFile + " " + str(FError())
RETURN nil
ENDIF
IF .NOT. FClose( nFile )
? "Errore creazione file: " + cTmpFile + " " + str(FError())
RETURN nil
ENDIF
cUrl := cTmpFile
// http://forums.fivetechsupport.com/viewt ... hell+print
//-------------------------------------------------------------------------------------------
DEFINE DIALOG oDlg TITLE 'Fattura XML ' + cFile SIZE 830, 600 RESIZABLE
@ 40, 0 ACTIVEX oActiveX PROGID "Shell.Explorer" OF oDlg
oActiveX:nDlgCode = DLGC_WANTALLKEYS
oDlg:oClient = oActiveX
oDlg:bStart := <||
oDlg:Resize()
oActiveX:Navigate( cURL )
oActiveX:StatusBar = .t.
Return .t.
>
ACTIVATE DIALOG oDlg CENTERED
Return lStampata
File FATTURA.XML
- Code: Select all Expand view RUN
- <?xml version="1.0" encoding="ISO-8859-1" ?>
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatt ... ne_1.2.xsd">
<FatturaElettronicaHeader>
<DatiTrasmissione>
<IdTrasmittente> <IdPaese>IT</IdPaese> <IdCodice>10168371002</IdCodice>
</IdTrasmittente> <ProgressivoInvio>00ZOY</ProgressivoInvio> <FormatoTrasmissione>FPR12</FormatoTrasmissione> <CodiceDestinatario>T04ZHR3</CodiceDestinatario>
<ContattiTrasmittente> <Telefono>069316081</Telefono>
</ContattiTrasmittente>
</DatiTrasmissione>
<CedentePrestatore>
<DatiAnagrafici>
<IdFiscaleIVA> <IdPaese>IT</IdPaese> <IdCodice>10168371002</IdCodice>
</IdFiscaleIVA> <CodiceFiscale>10168371002</CodiceFiscale>
<Anagrafica> <Denominazione>Fornitore ITALY</Denominazione>
</Anagrafica> <RegimeFiscale>RF01</RegimeFiscale>
</DatiAnagrafici>
<Sede> <Indirizzo>VIA Trento</Indirizzo> <CAP>04012</CAP> <Comune>MALE</Comune> <Provincia>LT</Provincia> <Nazione>IT</Nazione>
</Sede>
<IscrizioneREA> <Ufficio>LT</Ufficio> <NumeroREA>179555</NumeroREA> <CapitaleSociale>110.00</CapitaleSociale> <StatoLiquidazione>LN</StatoLiquidazione>
</IscrizioneREA>
<Contatti> <Telefono>11111111</Telefono> <Fax>2222228</Fax>
</Contatti>
</CedentePrestatore>
<CessionarioCommittente>
<DatiAnagrafici>
<IdFiscaleIVA> <IdPaese>IT</IdPaese> <IdCodice>01181820224</IdCodice>
</IdFiscaleIVA> <CodiceFiscale>01181820224</CodiceFiscale>
<Anagrafica> <Denominazione>NIPESERVICE </Denominazione>
</Anagrafica>
</DatiAnagrafici>
<Sede> <Indirizzo>ZONA COMMERCIALE, 8</Indirizzo> <CAP>38027</CAP> <Comune>MALE'</Comune> <Provincia>TN</Provincia> <Nazione>IT</Nazione>
</Sede>
</CessionarioCommittente>
</FatturaElettronicaHeader>
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento> <TipoDocumento>TD24</TipoDocumento> <Divisa>EUR</Divisa> <Data>2024-04-30</Data> <Numero>IT 000442</Numero> <ImportoTotaleDocumento>1003.16</ImportoTotaleDocumento>
</DatiGeneraliDocumento>
<DatiOrdineAcquisto> <RiferimentoNumeroLinea>1</RiferimentoNumeroLinea> <RiferimentoNumeroLinea>2</RiferimentoNumeroLinea> <IdDocumento>IT 000465</IdDocumento> <Data>2024-04-23</Data>
</DatiOrdineAcquisto>
<DatiDDT> <NumeroDDT>IT 000604</NumeroDDT> <DataDDT>2024-04-23</DataDDT> <RiferimentoNumeroLinea>1</RiferimentoNumeroLinea> <RiferimentoNumeroLinea>2</RiferimentoNumeroLinea> <RiferimentoNumeroLinea>3</RiferimentoNumeroLinea>
</DatiDDT>
</DatiGenerali>
<DatiBeniServizi>
<DettaglioLinee> <NumeroLinea>1</NumeroLinea>
<CodiceArticolo> <CodiceTipo>Codice articolo</CodiceTipo> <CodiceValore>EP9821100</CodiceValore>
</CodiceArticolo> <Descrizione>Articolo 1</Descrizione> <Quantita>5.00</Quantita> <UnitaMisura>NR</UnitaMisura> <PrezzoUnitario>155.000000</PrezzoUnitario> <PrezzoTotale>775.00</PrezzoTotale> <AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DettaglioLinee> <NumeroLinea>2</NumeroLinea> <TipoCessionePrestazione>AB</TipoCessionePrestazione>
<CodiceArticolo> <CodiceTipo>ARTICOLO 2</CodiceTipo> <CodiceValore>XX1700418</CodiceValore>
</CodiceArticolo> <Descrizione>articolo 2</Descrizione> <Quantita>2.00</Quantita> <UnitaMisura>NR</UnitaMisura> <PrezzoUnitario>34.000000</PrezzoUnitario> <PrezzoTotale>68.00</PrezzoTotale> <AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DettaglioLinee> <NumeroLinea>3</NumeroLinea> <TipoCessionePrestazione>AC</TipoCessionePrestazione>
<CodiceArticolo> <CodiceTipo>Codice articolo</CodiceTipo> <CodiceValore>SPESE_TR</CodiceValore>
</CodiceArticolo> <Descrizione>ARTICOLO3</Descrizione> <Quantita>5.00</Quantita> <UnitaMisura>NR</UnitaMisura> <PrezzoUnitario>7.00</PrezzoUnitario> <PrezzoTotale>35.00</PrezzoTotale> <AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DatiRiepilogo> <AliquotaIVA>22.00</AliquotaIVA> <SpeseAccessorie>35.00</SpeseAccessorie> <ImponibileImporto>878.00</ImponibileImporto> <Imposta>193.16</Imposta> <EsigibilitaIVA>I</EsigibilitaIVA>
</DatiRiepilogo>
</DatiBeniServizi>
<DatiPagamento> <CondizioniPagamento>TP01</CondizioniPagamento>
<DettaglioPagamento> <ModalitaPagamento>MP12</ModalitaPagamento> <GiorniTerminiPagamento>60</GiorniTerminiPagamento> <DataScadenzaPagamento>2024-06-30</DataScadenzaPagamento> <ImportoPagamento>501.58</ImportoPagamento> <IstitutoFinanziario>CASSA CENTRALE</IstitutoFinanziario> <IBAN>IT</IBAN> <ABI>00000</ABI> <CAB>1200</CAB>
</DettaglioPagamento>
<DettaglioPagamento> <ModalitaPagamento>MP12</ModalitaPagamento> <GiorniTerminiPagamento>90</GiorniTerminiPagamento> <DataScadenzaPagamento>2024-07-31</DataScadenzaPagamento> <ImportoPagamento>501.58</ImportoPagamento> <IstitutoFinanziario>CASSA CENTRALE</IstitutoFinanziario> <IBAN>IT</IBAN> <ABI>00000</ABI> <CAB>1200</CAB>
</DettaglioPagamento>
</DatiPagamento>
</FatturaElettronicaBody>
</p:FatturaElettronica>