Inserimento pulsante seleziona in un inventario
-
- Messaggi: 6
- Iscritto il: domenica 5 giugno 2022, 16:42
Inserimento pulsante seleziona in un inventario
Ciao a tutti.
Ho un inventario di prodotti (su fogli diversi, nell'esempio allegato "Filtri abitacolo"-...-"Filtri olio") e vorrei creare dei preventivi su un nuovo file di lavoro ("Output") selezionando i prodotti che mi interessano. In pratica, invece di utlizzare Copia e incolla, vorrei un pulsante nella colonna E di tutti i fogli che mi permetta in automatico di inserire il prodotto (compresi tutti i dati relativi a quel prodotto da Colonna A-D) nella lista "Output".
Inoltre nel foglio Output vorrei inserire un Menu a tendina con ricerca dei clienti dal foglio "Lista Clienti".
Poi più avanti affronterò il discorso dei prezzi.
Intanto grazie in anticipo,
Francesco
Ho un inventario di prodotti (su fogli diversi, nell'esempio allegato "Filtri abitacolo"-...-"Filtri olio") e vorrei creare dei preventivi su un nuovo file di lavoro ("Output") selezionando i prodotti che mi interessano. In pratica, invece di utlizzare Copia e incolla, vorrei un pulsante nella colonna E di tutti i fogli che mi permetta in automatico di inserire il prodotto (compresi tutti i dati relativi a quel prodotto da Colonna A-D) nella lista "Output".
Inoltre nel foglio Output vorrei inserire un Menu a tendina con ricerca dei clienti dal foglio "Lista Clienti".
Poi più avanti affronterò il discorso dei prezzi.
Intanto grazie in anticipo,
Francesco
- Allegati
-
- FM_Esempio lista prodotti.ods
- (15.44 KiB) Scaricato 94 volte
Ultima modifica di FraMartino il lunedì 13 giugno 2022, 7:38, modificato 1 volta in totale.
OpenOffice 4.1.12 su Windows 10
Re: Inserimento pulsante seleziona in un inventario
Ciao. C'è un motivo per cui usi un file xlsx invece di un ods se usi openoffice?
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661
Libreoffice 7/24 LinuxMint 21/22
Libreoffice 7/24 LinuxMint 21/22
-
- Messaggi: 6
- Iscritto il: domenica 5 giugno 2022, 16:42
Re: Inserimento pulsante seleziona in un inventario
Ciao, no in realtà solo casualità
OpenOffice 4.1.12 su Windows 10
Re: Inserimento pulsante seleziona in un inventario
Per cortesia sostituisci il file con uno in formato .ods. Grazie.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 6
- Iscritto il: domenica 5 giugno 2022, 16:42
Re: Inserimento pulsante seleziona in un inventario
Se ti può andare bene inserire i codice Tecnocar ne preventivo per selezionare l'articolo puoi usare più cercavert per ogni colonna assieme a SINISTRA per selezionare il foglio da cui pescare i dati. E' diretto senza pulsanti, ovviamente stampi il preventivo e poi cancelli i codici Tecnocar e le quantità
- Allegati
-
- FM_Esempio lista prodotti2.ods
- (37.22 KiB) Scaricato 93 volte
LibreOffice 7.3.4.2 (x64) Windows 11
-
- Messaggi: 6
- Iscritto il: domenica 5 giugno 2022, 16:42
Re: Inserimento pulsante seleziona in un inventario
Grazie. E' un buon inizio. Ma quello che io vorrei principalmente è andare ad esempio sul foglio "Filtri olio" e selezionare una riga, in modo da inserirla automaticamente nel preventivo "Output". Mi sono fatto capire? Grazie
OpenOffice 4.1.12 su Windows 10
Re: Inserimento pulsante seleziona in un inventario
Aggiungendo 2 colonne 1 per definire il tipo di filtro(in quale foglio crecare) e 1 per la selezione, il risultato dovrebbe soddisfare il tuo quesito utilizzando solo SE e CERCAVERT annidati
- Allegati
-
- FM_Esempio lista prodotti2.ods
- (25.94 KiB) Scaricato 102 volte
LibreOffice 7.3.4.2 (x64) Windows 11
Re: Inserimento pulsante seleziona in un inventario
Aggiungerei anche un Validità in Qtà per non preventivare ciò che non hai in magazzino
LibreOffice 7.3.4.2 (x64) Windows 11
-
- Messaggi: 6
- Iscritto il: domenica 5 giugno 2022, 16:42
Re: Inserimento pulsante seleziona in un inventario
Grazie, è interessante.
Il problema è che io ho a che fare con un inventario di prodotti molto più ampio (anche 100 fogli) e questa soluzione non mi sembra applicabile in questa situazione.
Pensavo ci fosse una qualche macro per poter inserire il Pulsante seleziona in tutti i fogli. Non esiste una soluzione del genere?
OpenOffice 4.1.12 su Windows 10
Re: Inserimento pulsante seleziona in un inventario
Codice: Seleziona tutto
Sub CreateMultiButtons
oDoc = ThisComponent
for i=0 to oDoc.Sheets.Count - 1
oSheet = oDoc.Sheets.getByIndex(i)
oDrawPage = oSheet.DrawPage 'Was oDrawPage = oDoc.getDrawPage()
rng = oSheet.getCellRangeByName("C4") ' posizione pulsante
sScriptURL = "vnd.sun.star.script:Standard.Module1.ButtonPushEvent?language=Basic&location=document"
nomepulsante = "Pulsante" & i
labelpulsante = "SELEZIONA"
oButtonModel = AddNewButton(nomepulsante, labelpulsante, oDoc, oDrawPage, rng)
oForm = oDrawPage.getForms().getByIndex(0)
' find index inside the form container
nIndex = GetIndex(oButtonModel, oForm)
AssignAction(nIndex, sScriptURL, oForm)
next
End Sub
' assign sScriptURL event as css.awt.XActionListener::actionPerformed.
' event is assigned to the control described by the nIndex in the oForm container
Function AddNewButton(sName As String, sLabel As String, oDoc As Object, oDrawPage As Object, rng As Object) As Object
oControlShape = oDoc.createInstance("com.sun.star.drawing.ControlShape")
aPoint = CreateUnoStruct("com.sun.star.awt.Point")
aSize = CreateUnoStruct("com.sun.star.awt.Size")
aPos = rng.Position
aPoint.X = aPos.X
aPoint.Y = aPos.Y
aSize.Width = rng.Size.Width
aSize.Height = rng.Size.Height
oControlShape.setPosition(aPoint)
oControlShape.setSize(aSize)
oButtonModel = CreateUnoService("com.sun.star.form.component.CommandButton")
oButtonModel.Name = sName
oButtonModel.Label = sLabel
oControlShape.setControl(oButtonModel)
oDrawPage.add(oControlShape)
AddNewButton = oButtonModel
End Function
Sub AssignAction(nIndex As Integer, sScriptURL As String, oForm As Object)
aEvent = CreateUnoStruct("com.sun.star.script.ScriptEventDescriptor")
With aEvent
.AddListenerParam = ""
.EventMethod = "actionPerformed"
.ListenerType = "XActionListener"
.ScriptCode = sScriptURL
.ScriptType = "Script"
End With
oForm.registerScriptEvent(nIndex, aEvent)
End Sub
Function GetIndex(oControl As Object, oForm As Object) As Integer
Dim nIndex As Integer
nIndex = -1
For i = 0 To oForm.getCount() - 1 step 1
If EqualUnoObjects(oControl, oForm.getByIndex(i)) Then
nIndex = i
Exit For
End If
Next
GetIndex = nIndex
End Function
REM QUESTA E' LA MACRO ASSEGNATA AI PULSANTI
Sub ButtonPushEvent(ev as com.sun.star.awt.ActionEvent)
msgbox "pulsante creato"
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta