|
|
|
|
Strumenti |
30-10-2021, 10:05 | #1 |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Comparare due database e aggiornarne uno
Nel mio lavoro ho iniziato ad utilizzare etichette elettroniche. Il mio gestionale mi permette unicamente di generare un csv con i prodotti in ordine alfabetico tipo
Nome, prezzo originale, prezzo scontato, percentuale di sconto, ecc. Il software di gestione vuole però che ad ogni riga, e quindi prodotto, sia associato un id numerico univoco, tipo ID, nome, prezzo originale, ecc. Il problema è che ogni volta introduco un prodotto nuovo questo andrà inserito in ordine alfabetico andando a spostare gli ID di tutti i prodotti, non consentendomi l’importazione automatica di un nuovo csv. Esiste un modo per automatizzare la comparazione di due Spreadsheet e di aggiornare il nuovo in automatico? Sono alla ricerca di qualcuno, anche a pagamento, che mi aiuti a risolvere il problema. Grazie a tutti |
30-10-2021, 10:15 | #2 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
metti un esempio di cosa vuoi ottenere così si capisce meglio
|
30-10-2021, 17:19 | #3 | |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Quote:
Nome, prezzo originale, prezzo scontato, percentuale di sconto Bounty, 1.00, 1.00, 0 Mars, 1.00, 0.90, 10 Twix 1.50, 1.20, 20 File 2 input software esl ID, nome, prezzo originale, prezzo scontato, percentuale di sconto 1, Bounty, 1.00, 1.00, 0 2, Mars, 1.00, 0.90, 10 3, Twix 1.50, 1.20, 20 Ora mettiamo che inserisco un nuovo prodotto Raffaello il gestionale genera un csv Bounty, 1.00, 1.00, 0 Mars, 1.00, 0.90, 10 Raffaello, 0.50, 0.50, 0 Twix 1.50, 1.20, 20 Che se importo pari pari avrà un risultato 1, Bounty, 1.00, 1.00, 0 2, Mars, 1.00, 0.90, 10 3, Raffaello, 0.50, 0.50, 0 4, Twix 1.50, 1.20, 20 Andandomi a cambiare gli ID di tutte le righe dopo “Raffaello” |
|
30-10-2021, 18:39 | #4 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
chi decide la posizione dell'ultimo inserimento?
Mi aspettavo che Raffaello fosse l'ultima voce e quindi il problema non si poneva. |
30-10-2021, 18:55 | #5 |
Senior Member
Iscritto dal: Nov 2017
Città: Verona (VEROITBC)
Messaggi: 5359
|
l'ID numerico è la chiave primaria (univoca) della tabella articoli?
Se viene inserito un nuovo articolo, viene inserito in ordine alfabetico causando un rename dei record? Ho capito male? |
30-10-2021, 18:57 | #6 |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Il mio problema è proprio quello. Ogni volta che genero il csv dal gestionale è prodotto in ordine alfabetico rendendomi impossibile automatizzarlo
|
30-10-2021, 19:43 | #7 |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Il passaggio tra i due csv è manuale. Cercavo appunto un modo di automatizzare la procedura
|
31-10-2021, 07:05 | #8 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
quindi il gestionale genera il csv senza ID ed in ordine alfabetico, ma non in ordine di inserimento.
Non mi è chiaro se a te l'output interessa mantenendo l'ordine di inserimento, magari attraverso data e ora che non vedo nel csv generato dal gestionale. Ultima modifica di misterx : 31-10-2021 alle 07:20. |
31-10-2021, 15:35 | #9 | |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Quote:
E parlo di un database di 18mila righe circa con 650 assegnazioni ID-prodotto. Sono anche disposto a rifare tutto da capo a patto di trovare un modo di automatizzare il tutto. |
|
31-10-2021, 16:39 | #10 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
Quote:
E quando inserisci un nuovo articolo, il gestionale non rinomina l'ID, ma è solo una impressione in quanto ti ritrovi con l'ordine alfabetico. Mi viene da pensare che se il gesionale producesse un CSV sena riordino, avresti a disposizione una lista ordinata per inserimento: è così? |
|
02-11-2021, 13:26 | #11 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 3000
|
Non puoi chiedere al supporto del gestionale un export in cui includano anche l'id ?
|
04-11-2021, 08:40 | #12 | |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Quote:
Certo, per la modica cifra di 3000 euro più 300 euro all'anno, per un file csv mi pare un pizzico eccessivo. |
|
04-11-2021, 09:05 | #13 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
se il gestionale è tuo, si può sempre accedere via SQL e fare ciò che si vuole.
Ultima modifica di misterx : 04-11-2021 alle 09:08. |
04-11-2021, 09:59 | #14 |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
|
04-11-2021, 12:09 | #15 | |
Senior Member
Iscritto dal: Jul 2005
Messaggi: 735
|
Quote:
1, Bounty, 1.00, 1.00, 0 2, Mars, 1.00, 0.90, 10 3, Twix 1.50, 1.20, 20 4, Raffaello, 0.50, 0.50, 0 se è cosi si può ottenere con uno script in python non troppo complesso ovviamente si puo fare più o meno in qualsiasi linguaggio di programmazione
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W |
|
04-11-2021, 14:48 | #16 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
il problema è che il gestionale gli genera un output senza ID e riordina in base al nome dell'articolo. In questo modo perdi l'ordine temporale degli inserimenti. Senza mettere le mani nel DB sei obbligato a tenere una traccia separata di quello che inserisci.
|
04-11-2021, 15:38 | #17 |
Senior Member
Iscritto dal: Jul 2005
Messaggi: 735
|
non so la logica dovrebbe essere abbastanza semplice ...
carico i 2 files csv in 2 linked list scorro in modo sequenziale la prima lista, controllo se il prodotto è presente nella seconda lista, se si aggiorno i dati di prezzo, e sconto se no aggiungo un nuovo elemento alla fine della lista creando un ID in ordine progressivo di inserimento salvo la seconda lista sul disco chiaramente definire tutti i dettagli dell'implementazione richiede un pochino di temp ma niente di trascendentale. Si potrebbe ragionare un pochino sulle prestazioni ma per poche migliaia di record non ci sono problemi.
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W |
04-11-2021, 18:23 | #18 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3597
|
sempre che gli articoli non vengano mai rimossi dal DB. Solitamente, nei DB seri, non accade mai che un articolo viene cancellato, rimane come storico e si continua ad aggiungere.
Se ha un file di storico che conserva sin dall'inizio, anche il "semplice" excel può assolvere a questo compito. |
04-11-2021, 18:50 | #19 | |
Senior Member
Iscritto dal: Jul 2005
Messaggi: 735
|
Quote:
Si può fare anche con macro excel ma è un po meno automatizzato, con uno script basterebbe una riga di comando per lanciarlo.
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W |
|
05-11-2021, 06:49 | #20 | |
Senior Member
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
|
Quote:
Scrivimi in MP |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:12.