Pagina 1 di 1

[Risolto] Avvisa se non è una fattura SDI

Inviato: mercoledì 31 gennaio 2024, 10:08
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) 

Re: Avvisa se non è una fattura SDI

Inviato: mercoledì 31 gennaio 2024, 11:13
da charlie
Ciao credo che i tuoi allegati contengano dati sensibili. Se mi sbaglio fammelo saper, grazie.

Re: Avvisa se non è una fattura SDI

Inviato: mercoledì 31 gennaio 2024, 18:31
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.

Re: Avvisa se non è una fattura SDI

Inviato: mercoledì 31 gennaio 2024, 19:00
da charlie
Ok, li allego nuovamente.

Re: Avvisa se non è una fattura SDI

Inviato: mercoledì 31 gennaio 2024, 22:10
da Attilafdd
Allego un esempio
Cattura Esempio 2.png
Cattura Esempio 2.png (101.71 KiB) Visto 864 volte

Re: Avvisa se non è una fattura SDI

Inviato: giovedì 1 febbraio 2024, 10:16
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.

Re: Avvisa se non è una fattura SDI

Inviato: giovedì 1 febbraio 2024, 12:40
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

Re: Avvisa se non è una fattura SDI

Inviato: venerdì 2 febbraio 2024, 10:22
da Barakkino
Grazie, Gaetanopr
Non so perché ma la macro non funziona. Forse perché c'è "Incolla Speciale" ?

Re: Avvisa se non è una fattura SDI

Inviato: lunedì 5 febbraio 2024, 9:43
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 

Re: Avvisa se non è una fattura SDI

Inviato: martedì 6 febbraio 2024, 12:09
da Barakkino
Gaetanopr ha scritto: lunedì 5 febbraio 2024, 9:43
Grazie Gaetano, sempre gentile

potevo arrivarci io, :?