Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2
  • 3

ARGOMENTO: leggere un file ascii da cartella locale

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29053

  • delta_p
  • Avatar di delta_p
  • Offline
  • Senior Boarder
  • Messaggi: 49
  • Karma: 0
Salve a tutti,

c'è qualche modo in Odoo di leggere ed importare dati da un file testo non csv posizionato in una cartella locale, senza la selezione del file da parte dell'utente ?

Immagino la risposta sia negativa per questioni di sicurezza di javascript, ecc.

La situazione è che nella nostra attività, macellerie, utilizziamo bilance che a chiusura di pesata, stampano l'etichetta con un codice a barre e rilasciano un corrispondente file testo ascii in una cartella condivisa. Il codice a barre contiene un riferimento al nome del file e la cassiera, in posizione distante dalle bilance, leggendo il barcode richiama e importa nella transazione pos, dell'attuale gestionale, i dati contenuti nel file, un rigo per ogni prodotto pesato, chiude la transazione emettendo lo scontrino fiscale o prosegue con altri prodotti. Ora intenzionati ad adottare Odoo vorremmo che si mantenesse questa operatività.

Ho smanettato un po' con Odoo individuando, probabilmente, dove e come si dovrebbe intervenire; creando intanto un nuovo tipo di regola nelle nomenclature barcode, ad esempio 'ascii file', quindi nello script java models.js in odoo\addons\point_of_sale\static\src\js aggiungere del codice in scan_product che ricevendo il codice a barre scannerizzato, corrispondente alla regola creata, esegua una procedura di lettura ed importazione dei righi contenuti nel file.

Il problema, chiaramente, è che javascript non può accedere a files locali, giusto ?

Qualche suggerimento ?

Grazie in anticipo
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29057

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Javscript non può leggere i file locali?
Da quando?
:angry017:

Il problema che hai posto è fuori tema in quanto non è inerente odoo stesso.
La programmazione in javascript è molto ostica ed è ancora più ostica l'integrazione con il codice server tramite JSON e relative interfacce.

La risposta che posso darti è questa:
Si, è possibile da javascript accedere ad un file locale (lo fa ogni volta che importi un file) ma qui difficilmente puoi ottenere una risposta esaudiente.
POtresti provare a semplificare, rendendo la directory dove le bilance scaricano i dati accesibbile dal server linux (se usi linux) o dal server dove odoo gira.
Anche qui il problema non è di odoo ma del sistema operativo che ospita odoo e con il quale devi capire come "montare" la directory condivisa
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: delta_p

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29058

  • delta_p
  • Avatar di delta_p
  • Offline
  • Senior Boarder
  • Messaggi: 49
  • Karma: 0
si, intendevo dire accedere a files locali senza la selezione degli stessi da parte dell'utente ma direttamente da codice indicando directory e file, con una scansione della directory per individuare il file, aprirlo e leggerne il contenuto.

Tipo a=dir(path), fname, fopen, freadline, ecc.
Ultima modifica: 1 Anno 6 Mesi fa da delta_p.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29059

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
delta_p ha scritto:
si, intendevo dire accedere a files locali senza la selezione degli stessi da parte dell'utente ma direttamente da codice indicando directory e file, con una scansione della directory per individuare il file, aprirlo e leggerne il contenuto.

Tipo a=dir(path), fname, fopen, freadline, ecc.

Se il processo deve scansionare periodicamente allora la directory DEVE essere accessibile dal server dove gira odoo e devi creare una azione schedulata ogni 'tot' minuti.

Ci sono troppe variabili per darti un suggerimento più preciso.
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29060

  • delta_p
  • Avatar di delta_p
  • Offline
  • Senior Boarder
  • Messaggi: 49
  • Karma: 0
il processo non è schedulato, la cassiera legge il barcode emesso dalla bilancia direttamente nell'applicazione touch pos come un normale prodotto, il gestionale individua il barcode come barcode bilancia, riferito ad un file, individua il file nella cartella condivisa predefinita e ne importa il contenuto nella transazione di vendita aperta.

questo è un esempio reale

82808256.001 è il file generato dalla bilancia,

8280 è il numero di cliente servito, 8256 è il numero di scontrino emesso dalla bilancia

il barcode stampato dalla bilancia è 2008280999999, quindi il processo eseguito sull'interfaccia touch POS di Odoo, dovrebbe riconoscere il pattern del barcode 20 come riferito ad un file, estrarre il riferimento al file che è 8280, individurare il file 8280*.001 nella cartella condivisa, importarne i righi nella transazione di vendita avviata.

Quindi intanto cerco di condividere la cartella locale con il server vps linux, poi cerco di scrivere il codice necessario ad eseguire il processo descritto sopra.
Ultima modifica: 1 Anno 6 Mesi fa da delta_p.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

leggere un file ascii da cartella locale 1 Anno 6 Mesi fa #29061

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Il client pos è interamente scritto in javascript .... quindi nativamente non puo' leggere un file presente ne sul pc ne su cartelle condivise. E' un sistema di sicurezza per impedire accesso non autorizzato a file presenti sul proprio pc da parte di script malevoli.

Allo stesso modo il codice javascript puo' interagire solo con il server dal quale è stato scaricato.

Queste condizioni possono essere rilassate e permettere sia le connessioni che la lettura dei files ... come non saprei perchè non mi sono mai interessato di javascript. Ma è possibile intervenendo sia sul codice che sul browser.

In alternativa ti scrivi un componente server su odoo che ti ritorno il json del file dopo averlo letto.

La soluzione (2) almeno per me è la piu' pulita e facile (non amo javascript :D)

In ogni caso dovrai intervenire sui codici javasciprt del pos
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: delta_p
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.141 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam