Italiano - English

Configurare WebDAV con OpenERP 7.0

Sommario

    OpenERP 7.0
    1. Gestione dei permessi in OpenERP 7.0
    2. Risorse, Spese e TimeSheet in OpenERP 7.0
    3. Configurare WebDAV con OpenERP 7.0
    4. Windows con WebDAV di OpenERP 7.0 su HTTPS/SSL

      In questo articolo spiego come configurare WebDav per attivare la Gestione Documentale su OpenERP 7.0

    Installare WebDAV su OpenERP 7.0

    Prima di tutto bisogna installare il modulo Python per WebDav

    yum install pywebdav

    Modificare la il file di configurazione globale di openerp

    E' necessario inserire le seguenti righe nel file di configurazione globale di openerp, (solitamente openerp-server.conf).

    ##
    # WEBDAV Settings
    
    # Serve webdav over the http(s) servers
    enable = True
    
    # the directory that webdav will be served at this default val 
    # means that webdav will be on "http://your-server:8069/webdav/" 
    # or "https://your-server:443/webdav/" 
    vdir = webdav
    
    # Turn on the verbose messages of webdav
    verbose = True
    
    #Turn on the debugging messages of webdav
    debug = True

    Le ultime impostazione sono opzionali.

    Installare i moduli OpenERP

    E' necessario installare i moduli relativi alla gestione documentale e webdav. Installando: Shared Repositories (WebDAV). vengono anche installate tutte le dipendenze necessarie.

    Al termine della installazione OpenERP esegue la procedura automatica di configurazione delle cartelle e appare la voce Knowledge nel menu principale.

    A questo punto la connessione WebDav è disponibile ed è possibile accedere ai documenti con qualsiasi cliente di utilizzando l'indirizzo: https://TUO-SERVER:443/webdav/NOME-DB/Documents/

    Vedi l'articolo specifico per la connessione con Windows utilizzando "Connetti Unità di Rete"

    Salvare gli allegati su filesystem

    Con la gestione documentale è possibile allegare qualsiasi file a qualsiasi oggetto di OpenERP. Di defualt gli allegati vengono salvati nel Database. La gestione FTP dei documenti richiede il filesystem come deposito degli allegati, mentre con WebDAV l'impostazione filesystem non è obbligatoria.

    Per istruire OpenERP a salvare i gli allegati sul filesystem è necessario creare un parametro di sistema tramite

    • menu principale di OpenERP
    • >Impostazioni>Technical>Parametri>Parametri di Sistema
    • Crea un nuovo parametro con i seguenti valori:
      • Chiave: ir_attachment.location
      • Valore: file:///filestore

    Da questo momento OpenERP salva gli allegati sul filesystem alla posizione /root-di-openerp/filestore/nome-db/

    Per maggiori informazioni e un ottimo script per trasferire gli eventuali allegati inseriti in precedenza nel DB vedi: http://help.openerp.com/question/529/where-are-document-attachments-stored/

    Configurare le cartelle in OpenERP (per webdav e/o ftp)

    Le cartelle vengono impostate automaticamente alla installazione del modulo per la gestione documentale, tuttavia è possibile impostare la struttura delle cartelle a proprio piacimento da Menu Principale>Knowledge>Configurazione>Gestione Documentale>Cartelle (il menu è disponibile solo se si hanno i permessi  Funzionalità tecniche)

    Si distinguono le Cartelle statiche e le Cartelle per risorsa.

    Una cartella risorsa, è una cartella dinamica collegata ad un oggetto OpenERP. Ad esempio per creare (o impostare) una cartella che contine tutti i preventivi procedere come indicato in figura

    Create Resource Folder in Openerp

    Questa impostazione crea una cartella Documents/All Sales Order/ WebDav (o FTP) che conterrà una cartella per ogni preventivo generato in openerp. Il campo Name filed permette di impostare il nome della cartella dei singoli oggetti. Di default viene utilizzato il campo name, quindi nel caso dei preventivi le cartelle saranno Documents/All Sales Order/SO0001/, Documents/All Sales Order/SO0002/ ecc..

    E' possibile avere delle sotto cartelle risorse, ovvero che raccolgono gli oggetti collegati (vedi di seguito).

    File funzionali (Generated Files)

    In ogni cartella è possibile definire uno o piu' file funzionali che richiamano la stampa di uno dei report definiti sull'oggetto. Ad esempio si potrebbe evitare di salvare la stampa PDF di un preventivo ma avere un file funzionale che quando viene richiamato dall'utente esegue e stampa il report così come definito al momento attuale.

    Per impostare un file funzionale, procedere come indicato in figura:

    In questo modo si avranno dei files Documents/All Sales Order/SO0001/SO0001_PrintNow().pdf a zero byte che quando richiesti, visualizzano il report Quotation / Order in tempo reale.

    Si fa notare che il preventivo stampato corrisponde alla versione del preventivo al momento corrente, che potrebbe essere diversa dal preventivo stampato tempo indietro e magari inviato al cliente.

    Salvare il documento al momento della stampa

    Questa funzione è attiva solo sulle fatture ma è possibile attivarla su tutti ri report disponibili tra cui anche i Preventivi.

    Basta andare in Settings > Technical > Actions > Reports e definire un Attachment Prefix.

    E' bene associare questa opzione agli stati del documento e impostare Reload From Attachment, altrimenti verranno generati tanti PDF con nome identico quante stampe verranno lanciate sul documento. Inoltre i Client WebDAV vedono n copie identiche alla prima copia generata. D'altra parte l'opzione Reload From Attachment evita di salvare il report quindi in caso di modifiche al documento queste non verranno salvate nel PDF (ma verranno salvate nell'oggetto OpenERP). Insomma utilizzare queste opzioni con molta cautela.

    Creare una sotto cartella risorsa di una cartella risorsa

    Ad esempio si potrebbe desiderare una cartella Partners\Partner Quotations dove i preventivi sono solo quelli del singolo Partner. Quindi avere:

    Il collegamento avviene tramite la variabile “active_id” . Per ottenere questa funzionalità basta creare una cartella Partner Quotations come sotto cartella di Partners e definire il dominio (filtro) Domain: [( 'partner_id', '=', active_id )] per la cartella Partner Quotations.

    dove active_id è una variabile definita nella funzione e contiene l'id associato all'oggetto nella cartella padre (quindi in questo caso res_partner.id) mentre 'partner_id' è il nome del campo dell'oggetto Sales Order di OpenERP. Nel caso sia attiva l'opzione Vendite>Consenti indirizzi diversi> l'oggetto Preventivi (Tabella sale_order) ha anche il campo partner_invoice_id e partner_shipping_id quindi il dominio potrebbe essere:

    • Domain: ['|',( 'partner_id', '=', active_id ), ( 'partner_invoice_id', '=', active_id ) ]

    Oppure

    • Domain: ['|','|',( 'partner_id', '=', active_id ), ( 'partner_invoice_id', '=', active_id ), ('partner_shipping_id', '=', active_id)]

    Da notare l'utilizzo dell'operatore '|' (bitwise OR) è a notazione inversa infatti la seguente istruzione non funziona:

    [( 'partner_id', '=', active_id ), '|',( 'partner_invoice_id', '=', active_id ) ]
    

    Gli operatori logici hanno due operandi quindi la regola è

    operatore, operando1, operando2

    la seconda notazione è del tipo:

    operatore1, operatore2, operando1, operando2, operando3
    

    ed equivale a:

    operatore1, operando4, operando3

    dove:

    operando4 =(operatore2, operando1, operando2)
    

    che piu' leggibile in questo modo, anche se scritta con le parentesi non funziona:

    operatore1, (operatore 2, operando1,operando2), operando3
    
    vedi https://doc.openerp.com/trunk/server/api_models/ e cerca: Expressing a search domain (args) per ulteriori informazioni
    Vota questa pagina:

    0 Commenti:

    Lascia il tuo commento:

    Note:
    • La tua email non è obligatoria e non sarà visibile in alcun modo
    • Si prega di inviare solo commenti relativi a questa pagina
    • Commenti inappropriati o offensivi saranno modificati o eliminati
    • Codici HTML non sono consentiti. Prego usare i BB code:
      [b]bold[/b], [u]underline[/u], [i]italic[/i], [code]code[/code]
    Il codice, le illustrazioni e gli esempi riportati in questa pagina sono solo a scopo illustrativo. L'autore non prende alcuna responsabilità per il loro utilizzo da parte dell'utente finale.
    Questo materiale è di proprietà di Pk Lab ed è utilizzabile liberamente a condizione di citarne la fonte.