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

ARGOMENTO: [8.0] copia di un valore: cannot marshal

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27109

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ciao gigidn,
ho allegato uno schema riassuntivo di quello che devo fare:

devo trasferire gli ordini di vendita da una istanza di odoo ad un'altra.

La fase di trasferimento del solo ordine di vendita (sale.order + sale.order.line) la eseguo già.

Purtroppo mi sono accorto che ho un problema con gli utenti: l'utente con id1 nella prima istanza di odoo che per esempio si chiama tizio caio
non è tizio/caio nella seconda istanza di odoo. Quindi mi sono creato una tabella intermedia che chiama "brigdeUtenti" in cui tengo traccia
della corrisponze dei sequence tra le due istanze di odoo:

es:
utente odoo istanza 1 id:1 nome:caio cognome:tizio
utente odoo istanza 2 id:7 nome:caio cognome:tizio

tabella di bridge: istanzadb1:1
istanzadb2:7


in questa maniera ogni volta che trasferisco un ordine cerco sulla tabella di bridge e cambio l'id dell'utente in base alla corrispondenza.

(spero di essere stato chiaro )
Che ne pensi di questo approccio?
Allegati:
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27114

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
giuseppeflammia ha scritto:
Ciao gigidn,
ho allegato uno schema riassuntivo di quello che devo fare:

devo trasferire gli ordini di vendita da una istanza di odoo ad un'altra.

La fase di trasferimento del solo ordine di vendita (sale.order + sale.order.line) la eseguo già.

Purtroppo mi sono accorto che ho un problema con gli utenti: l'utente con id1 nella prima istanza di odoo che per esempio si chiama tizio caio
non è tizio/caio nella seconda istanza di odoo. Quindi mi sono creato una tabella intermedia che chiama "brigdeUtenti" in cui tengo traccia
della corrisponze dei sequence tra le due istanze di odoo:

es:
utente odoo istanza 1 id:1 nome:caio cognome:tizio
utente odoo istanza 2 id:7 nome:caio cognome:tizio

tabella di bridge: istanzadb1:1
istanzadb2:7


in questa maniera ogni volta che trasferisco un ordine cerco sulla tabella di bridge e cambio l'id dell'utente in base alla corrispondenza.

(spero di essere stato chiaro )
Che ne pensi di questo approccio?

Complicato: è la risposta di primo acchito.
Se hai utenti con diverso id tra i due DB, avrai partner con diverso id tra i due DB, e così via.
Quindi ahi bisogno di una tabella di frontiera (o bridge) per per ogni tabella da scambiare e questo rende molto complessa la procedura.
Cmq perchè non provi il modulo frame connector github.com/OCA/connector e parti da li?
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.

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27117

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Antoniov ha scritto:
giuseppeflammia ha scritto:
Ciao gigidn,
ho allegato uno schema riassuntivo di quello che devo fare:

devo trasferire gli ordini di vendita da una istanza di odoo ad un'altra.

La fase di trasferimento del solo ordine di vendita (sale.order + sale.order.line) la eseguo già.

Purtroppo mi sono accorto che ho un problema con gli utenti: l'utente con id1 nella prima istanza di odoo che per esempio si chiama tizio caio
non è tizio/caio nella seconda istanza di odoo. Quindi mi sono creato una tabella intermedia che chiama "brigdeUtenti" in cui tengo traccia
della corrisponze dei sequence tra le due istanze di odoo:

es:
utente odoo istanza 1 id:1 nome:caio cognome:tizio
utente odoo istanza 2 id:7 nome:caio cognome:tizio

tabella di bridge: istanzadb1:1
istanzadb2:7


in questa maniera ogni volta che trasferisco un ordine cerco sulla tabella di bridge e cambio l'id dell'utente in base alla corrispondenza.

(spero di essere stato chiaro )
Che ne pensi di questo approccio?

Complicato: è la risposta di primo acchito.
Se hai utenti con diverso id tra i due DB, avrai partner con diverso id tra i due DB, e così via.
Quindi ahi bisogno di una tabella di frontiera (o bridge) per per ogni tabella da scambiare e questo rende molto complessa la procedura.
Cmq perchè non provi il modulo frame connector github.com/OCA/connector e parti da li?

Io ho preso spunto da un altro connettore tra magento e odoo: anche questo connettore usa una tabella di bridge, una sorta di cache messa a metà strada tra le due istanze:
ora però mi trovo di fronte a questo problema: se dal db1 implento una funzione che recupera una riga per esempio da sale.order e la salvo in una variabile, come posso prendere il contenuto della variabile e passarlo interamente alla funzione xmlrpc per fare la scrittura sul db2 (evitando spacchettamenti )?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27119

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Semplice non puoi evitare "spacchettanti" (se ho capito bene quel che intendi) .... devi considerare i due sistemi completamente diversi e procedere manualmente al mappig ...

Visto che i due sistemi sono uguali si potrebbe automatizzare qualcosa ma bisogna capire se il gioco vale la candela .... parti considerando i due sistemi diversi e "spacchetta" tutto.

EDIT:

non modifico il messaggio ma aggiungo solo una nota ... ma è possibile che un correttore che in teoria dovrebbe aiutare ti fa scrivere frasi da ebete?
@KTec
www.ktec.it
Ultima modifica: 2 Anni 1 Settimana fa da gigidn.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27121

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
gigidn ha scritto:
Semplice non puoi evitare "spacchettanti" (se ho capito bene quel che intendi) .... devi considerare i due sistemi completamente diversi e procedere manualmente al mappig ...


Era quello che non volevo sentirmi dire... ho paura che nello spacchettamento posso dimenticare di "trascinare" qualche informazione.

:sick:
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] copia di un valore: cannot marshal 2 Anni 1 Settimana fa #27128

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
xmlrpc non può passare dati serializzati in forma binaria.
ad esempio se devi trasferire un'immagine devi convertirla in testo prima di spedirla.
idem per un ordine di vendita.
ciò che puoi fare e fare un .read() e farti restituire quindi il dizionario di tutti i valori (dando per scontato che dall'altra parte esistano record con lo stesso id, altrimenti il valore di partner_id sarà ad esempio sconosciuto)
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.135 secondi

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

Protected by R Antispam