[Risolto] Avvisa se non è una fattura SDI

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

[Risolto] Avvisa se non è una fattura SDI

Messaggio da Barakkino »

Buongiorno,
Dallo SDI (Sistema Di Interscambio Ag.Entrate) copio da un file PDF la fattura del fornitore, la incollo in un foglio OO (A1) e da qui poi ricavo i dati da manipolare.
Il mio quesito è: se per errore in A1 non venisse incollato il testo "FATTURA ELETTRONICA" è possibile creare un avviso di errore?
Grazie
 Editato: Allegati cancellati, contengono dati sensibili? (Admin) 
Ultima modifica di Barakkino il martedì 6 febbraio 2024, 12:07, modificato 1 volta in totale.
openoffice 4 su win 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8820
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Avvisa se non è una fattura SDI

Messaggio da charlie »

Ciao credo che i tuoi allegati contengano dati sensibili. Se mi sbaglio fammelo saper, grazie.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: Avvisa se non è una fattura SDI

Messaggio da Barakkino »

charlie ha scritto: mercoledì 31 gennaio 2024, 11:13 Ciao credo che i tuoi allegati contengano dati sensibili. Se mi sbaglio fammelo saper, grazie.
Grazie, Charlie della tua attenzione
Si tratta di una bolletta Consorzio Acque Potabili (CAP) i miei dati li ho cancellati tutti sono rimasti solo quelli dell'Ente che sono pubblici.
openoffice 4 su win 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8820
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Avvisa se non è una fattura SDI

Messaggio da charlie »

Ok, li allego nuovamente.
Allegati
Fattura SDI esempio.pdf
(126.04 KiB) Scaricato 28 volte
File Esempio.ods
(14.44 KiB) Scaricato 28 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Attilafdd
Volontario
Volontario
Messaggi: 539
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Avvisa se non è una fattura SDI

Messaggio da Attilafdd »

Allego un esempio
Cattura Esempio 2.png
Cattura Esempio 2.png (101.71 KiB) Visto 334 volte
Allegati
File Esempio v2.ods
(29.09 KiB) Scaricato 25 volte
LibreOffice 24.2.2 (Win 11)
-----------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: Avvisa se non è una fattura SDI

Messaggio da Barakkino »

Attilafdd ha scritto: mercoledì 31 gennaio 2024, 22:10 Allego un esempio

Cattura Esempio 2.png
Grazie, Attilafdd
la tua applicazione funziona benissimo, ma io avrei preferito una macro che bloccasse "Incolla" con una finestra indicante il non avvenuto incollaggio. La mia richiesta è anche perché ho altre situazioni simili dove incollando in modo sbagliato (+ o - celle) comprometterebbe il risultato.
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Avvisa se non è una fattura SDI

Messaggio da Gaetanopr »

Barakkino ha scritto: giovedì 1 febbraio 2024, 10:16 ....ma io avrei preferito una macro che bloccasse "Incolla" con una finestra indicante il non avvenuto incollaggio. La mia richiesta è anche perché ho altre situazioni simili dove incollando in modo sbagliato (+ o - celle) comprometterebbe il risultato.
Al massimo puoi cancellare quello appena incollato se in A1 non è presente la scritta "FATTURA ELETTRONICA", questo perchè se prima non incolli il contenuto in memoria non puoi sapere cosa sia presente nell'area degli appunti.
Ho aggiunto 3 righe alla fine della macro presente nel tuo allegato

Codice: Seleziona tutto

sub Incolla
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Flags"
args1(0).Value = "A"

dispatcher.executeDispatch(document, ".uno:Delete", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Format"
args3(0).Value = 1

dispatcher.executeDispatch(document, ".uno:PasteSpecial", "", 0, args3())

iF ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName("A1").String = "FATTURA ELETTRONICA" Then 
   dispatcher.executeDispatch(document, ".uno:Undo", "", 0, Array())
End If 

end sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: Avvisa se non è una fattura SDI

Messaggio da Barakkino »

Grazie, Gaetanopr
Non so perché ma la macro non funziona. Forse perché c'è "Incolla Speciale" ?
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Avvisa se non è una fattura SDI

Messaggio da Gaetanopr »

Cosa non funziona? io ho semplicemente aggiunto 3 righe alla macro già esistente, le mie modifiche annullano l'operazione di incollaggio in caso in A1 sia presente la scritta FATTURA ELETTRONICA, rileggendo a te però serve il contrario!!(forse intendi questo per "non funziona") ti basta cambiare il segno = con diverso <>.

Codice: Seleziona tutto

iF ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName("A1").String <> "FATTURA ELETTRONICA" Then 
   dispatcher.executeDispatch(document, ".uno:Undo", "", 0, Array())
End If 
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: Avvisa se non è una fattura SDI

Messaggio da Barakkino »

Gaetanopr ha scritto: lunedì 5 febbraio 2024, 9:43
Grazie Gaetano, sempre gentile

potevo arrivarci io, :?
openoffice 4 su win 10
Rispondi