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

ARGOMENTO: [SOLVED] Avanzamento workflow da ERPPeek

Avanzamento workflow da ERPPeek 1 Anno 7 Mesi fa #28903

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
La similitudine di programmazione con oerplib è notevole.
Credo che sia dovuta allo stesso approccio di programmazione, che nasconde l'interfaccia XMLRPC
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.

Avanzamento workflow da ERPPeek 1 Anno 7 Mesi fa #28904

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Per tornare la problema, la sequenza di funzioni da usare sono quelle dell'interfaccia UI.
Attivavando il debug mode puoi anche vedere le singole funzione collegate ai buttoni che attivi e i nomi di campi e funzioni.

Solitamente io provo prima il flusso con interfaccia UI in debug mode e mi segno le sequenze.
Poi la trascrizione con oerplib (o erppeek) diventa una mera scrittura di codice.

Purtroppo questi sistemi hannon un grosso limite nelle risposte, nel senso che non catturano tutte le risposte del server.

A volte io attivo python (ho un file che mi esegue il login e entra in pdb) e poi eseguo manualmente le funzioni.
In questo modo riesco a vedere le eventuali risposte di errore ad un comando
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: MiCantino

Avanzamento workflow da ERPPeek 1 Anno 7 Mesi fa #28928

  • MiCantino
  • Avatar di MiCantino
  • Offline
  • Expert Boarder
  • Messaggi: 137
  • Ringraziamenti ricevuti 7
  • Karma: 1
Grazie Antonio.

Uso il DEBUG mode (se intendi per debug mode il parametro log_level su "debug"), ma comunque non ne vengo a capo. il metodo di ingresso chiamato sembra essere il '
wkf_approve_order
', ma mentre da web funziona tutto corettamente, attraverso ERPPeek mi porta l'ordine di aquisto in un limbo dal quale non esco: l'ordine è approvato ma non vedo i movimenti e non riesco più farlo regredire o avanzare...

Il problema non può essere ERPPeek, perchè si occupa solo di effettuare la chiamata e questo avviene correttamente
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Avanzamento workflow da ERPPeek 1 Anno 7 Mesi fa #28929

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
MiCantino ha scritto:
Grazie Antonio.

Uso il DEBUG mode (se intendi per debug mode il parametro log_level su "debug"), ma comunque non ne vengo a capo. il metodo di ingresso chiamato sembra essere il '
wkf_approve_order
', ma mentre da web funziona tutto corettamente, attraverso ERPPeek mi porta l'ordine di aquisto in un limbo dal quale non esco: l'ordine è approvato ma non vedo i movimenti e non riesco più farlo regredire o avanzare...

Il problema non può essere ERPPeek, perchè si occupa solo di effettuare la chiamata e questo avviene correttamente

Scusa ma non mi sono spiegato bene
Io ho costruito questo programma molto grezzo:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import oerplib
import pdb

__version__ = "0.0.1"

xml_port = 8069
db_name = 'demo'
user = 'admin'
passwd = 'admin'
oe_ver = '7.0'
try:
    fd = open('./inv2draft_n_restore.conf', 'r')
    lines = fd.read().split('\n')
    for line in lines:
        tkn = line.split('=')
        if tkn[0] == 'login_user':
            user = tkn[1]
        elif tkn[0] == 'login_password':
            passwd = tkn[1]
        elif tkn[0] == 'db_name':
            database = tkn[1]
        elif tkn[0] == 'xml_port':
            xml_port = int(tkn[1])
        elif tkn[0] == 'oe_version':
            oe_ver = tkn[1]
    fd.close()
except:
    database = raw_input('database[def=demo]? ')
    user = raw_input('username[def=admin]? ')
    passwd = raw_input('password[def=admin]? ')
    p = raw_input('port[def=8069]? ')
    if p:
        xml_port = int(p)
    p = raw_input('odoo version[def=7.0]? ')
    if p:
        oe_ver = p

oerp = oerplib.OERP(port=xml_port, version=oe_ver)
uid = oerp.login(user=user,
                 passwd=passwd, database=database)
fd = open('./inv2draft_n_restore.conf', 'w')
fd.write('login_user=%s\n' % user)
fd.write('login_password=%s\n' % passwd)
fd.write('db_name=%s\n' % database)
if xml_port != 8069:
    fd.write('xml_port=%d\n' % xml_port)
if oe_ver:
    fd.write('oe_version=%s\n' % oe_ver)
fd.close()

pdb.set_trace()

Questo sofware legeg le credenziali dal file ./inv2draft_n_restore.conf, effettua il login e poi cede il controllo alla console python.
Da qui inserisco e provo i vari comandi python per capire come funziona un determinato flusoo di workflow.
Se la funzione riceve un errore, viene visualizzato sulla console (nel programma invece è perso)

Modifica le istruzioni oerplib con le tue istruzioni erppeek a tieni sempre pronto questo programma
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.

Avanzamento workflow da ERPPeek 1 Anno 7 Mesi fa #28932

  • MiCantino
  • Avatar di MiCantino
  • Offline
  • Expert Boarder
  • Messaggi: 137
  • Ringraziamenti ricevuti 7
  • Karma: 1
Ho trovato una strada differente, lanciando odoo con i parametri --log-request e --log-response.
Così facendo ho visto che da interfaccia viene lanciato invocato sia il metodo exec_workflow (con signal 'purchase_approve' ) che il metodo 'wkf_approve_order' (attraverso 'execute_kw').
Con questa sequenza l'operazione viene effettuata correttamente anche da ERPPeek.

Insomma la soluzione era abbastanza semplice, ma qualcuno un giorno dovrà spiegarmi il senso di questo:
purchase_workflow.xml,  righe 144 e ss.

<record id="trans_confirmed_router" model="workflow.transition">
            <field name="act_from" ref="act_confirmed"/>
            <field name="act_to" ref="act_router"/>
            <!-- <field name="signal">purchase_approve</field> removed from simplification/useability -->
</record>
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.121 secondi

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

Protected by R Antispam