STATUS
Version
Für Odoo 8.0 - Version 1.0.72 vom 23.03.2017 - Quelle: Verfügbar nur mit Software-Pflege-Vertrag
Kunden mit einem Software-Pflege Vertrag bekommen kostenlos unser exklusives Backend Theme . Wundern Sie sich deshalb nicht wegen des Aussehens der deutlich optimierten Screenshots auch in der Version 8.
Themenbereiche
Funktionsumfang
Mit diesem Modul können Sie Ihr Odoo Hauptsystem mit Warenwirtschaft an ein Untersystem mit Odoo Webshop ankoppeln.
Es werden die Stammdaten (Kunden, Produkte inkl. Lagerbestand und Preislisten) von Muttersystem in separaten Webshop synchronisiert.
Kunden sowie Kundenbestellungen werden automatisch über eine Schattentabelle geholt und ins Muttersystem eingespielt.
Auftragsprozessänderungen wie Lieferstatus und Dokumente (AB, Lieferschein, Rechnung) werden im Webshop upgedatet.
Das Quell- und das Zielsystem müssen den gleichen Kontenrahmen haben!
Was muss im Mastersystem installiert werden?
Installieren Sie das Modul: eq_odoo_connector_master unter Einstellungen > Lokale Apps
Der Odoo Connector installiert noch zusätzlich die folgenden 3 Module:
Zu sehen unter Abhängigkeiten.
ACHTUNG: das Modul connector_ecommerce hat noch Abhängigkeiten zu den Modulen:
- sale_payment_method_automatic_workflow
- connector_base_product
- sale_exceptions
Diese Module müssen im Master installierbar sein.
Der Tab Connector erscheint im Backend
Was muss im Clientsystem installiert werden?
Im Clientsystem muss ein Modul installiert werden:eq_website_quantity
Dieses Modul bewirkt, dass man die Lagerbestände anzeigen kann.
Voraussetzung ist das Equitania eq_website_customerportal bereits installiert ist.
Was darf nicht im Clientsystem installiert werden
Das Modul eq_sale_order_seperation darf im Clientsystem nicht installiert sein. Die Auswahl „Auftrag immer sofort bestätigen“ (unter Einstellungen > Kundenportal) darf man nicht aktivieren, um die richtige Funktionsweise des Moduls zu gewährleisten.
Einstellungen Mastersystem
Backend
Backend → Anlegen → hier konfigurieren Sie die verschiedenen Client Systeme also Untershops
Vergeben Sie einen frei wählbaren Namen für Ihren Untershop.
Füllen Sie die URL, Port, Sprache, Datenbankname, Benutzername und Kennwort. Setzen Sie die Sprache auch unter den Push-Optionen.
Holen Sie dich die benötigten Daten ggf. von Ihrem Systemadministrator. Speichern Sie Ihre Einstellungen.
Testen der Verbindung
Klicken Sie nach dem Speichern auf Verbindung testen.
Sie bekommen eine Statusmeldung.
Nur wenn der Verbindungstest zu Ihrem Clientsystem erfolgreich war, können Sie fortfahren. Andernfalls korrigieren Sie Ihre Eingaben.
Mapping konfigurieren
Gehen Sie unter Mapping → Anlegen
Leider müssen Sie die folgenden Tabellen im aktuellen Entwicklungsstand manuell anlegen. Dabei gehen Sie wie folgt vor:
Vergeben Sie einen passenden Namen und suchen Sie nach dem Modell (unten angegeben):
Über Eintrag hinzufügen, fügen Sie die Felder, die unten genannt sind über anhaken hinzu:
Speichern nicht vergessen!
Fertig konfiguriertes Mapping:
Wir empfehlen die folgende Konfiguration.
Verwenden Sie die folgenden Mappings für den PUSH Vorgang:
1.) Product Template (Modell: product.template)
accessory_product_ids
alternative_description
alternative_product_ids
categ_id
default_code
description
description_purchase
description_sale
diameter
dimensions
ean13
eq_seo_name
height
image
image_medium
image_small
internal_note
length
list_price
loc_case
loc_rack
loc_row
lst_price
material
name
price
product_variant_ids
public_categ_ids
purchase_ok
sale_delay
sale_ok
standard_price
state
type
uom_id
uom_po_id
virtual_available
warranty
website_description
website_published
website_sequence
weighed_amount
weight
weight_net
width
2.) Product Product (Modell: product.product)
alternative_description
categ_id
code
default_code
description
description_purchase
description_sale
diameter
dimensions
ean13
eq_minimum_qty
eq_sale_min_qty
eq_seo_name
height
image
image_medium
image_small
image_variant
is_product_variant
length
list_price
loc_case
loc_rack
loc_row
lst_price
name
price
product_tmpl_id
purchase_ok
sale_delay
sale_ok
standard_price
state
type
volume
warranty
website_published
website_sequence
website_url
weight
weight_net
width
3.) Product Category ( Modell: product.category)
name
parent_id [many2one]
4.) Product UOM ( Modell: product.uom)
category_id
name
uom_type
5.) Product Material (Modell:product.material)
name
6.) Partner (Modell: res.partner)
active
birthdate
city
comment
country_id
credit_limit
customer
date
eq_birthday
eq_prospective_customer
eq_unlocked_for_webshop
fax
function
image
is_company
lang
mobile
name
parent_id
phone
property_product_pricelist
street
street2
supplier
title
type
use_parent_address
vat
website
zip
7.) Product public category (Modell: product.public.category)
name
parent_id [many2one]
8.) Translation (Übersetzung) (Modell: ir.translation)
comments
lang
module
Name
res_id
source
type
value
Verwenden Sie außerdem die folgenden Felder für den PULL Vorgang:
9.) Sale order (Modell:sale.order)
amount_tax
amount_untaxed
client_order_ref
date_order
invoiced
order_line
order_policy
origin
partner_id
parent_id
partner_invoice_id
partner_shipping_id
picking_policy
pricelist_id
shipped
state
validity_date
10.) Sale orderline ( Modell: sale.order.line)
delay
name
order_id
price_unit
product_id
product_uom
product_uom_qty
sequence
state
th_weight
tax_id [many2many]
11.) Tax mapping (Modell: account.tax)
amount
applicable_type
base_sign
child_depend
description
domain
include_base_amount
name
price_include
python_applicable
ref_base_sign
ref_tax_sign
sequence
tax_sign
type
type_tax_use
12.) Country (Modell: res.country)
address_format
code
image
name
13.) Partneranrede (Modell: res.partner.title)
domain
name
shortcut
14.) Preislistenversion (Modell: product.pricelist.version)
active
date_start
date_end
items_id
name
not_in_overview
price1
price2
pricelist_id
15.) Mengeneinheit(ME) Kategorie (Modell: product.uom.categ)
category_id
name
uom_type
16.) Meldebestand (Modell: stock.warehouse.orderpoint)
active
name
product_id
product_max_qty
product_min_qty
qty_multiple
Beispiel fertig konfiguriertes Mapping:
Sie haben insgesamt 16 Mappings angelegt.
Das Mapping von Equitania Feldern
Das Mapping von Equitania Feldern, z.B. der Hausnummer eq_house_no erfolgt genauso wie das Mapping von "normalen" also Standardfeldern, falls das Feld in beiden Systemen existiert. Andernfalls ist ein Mapping benutzerdefinierter Felder nötig. (siehe folgender Abschnitt)
Mapping > Benutzerdefinierte Felder
Dieses Feld ist für die Fälle notwendig, wenn man Daten aus einem Feld übertragen will, dass es in einem der Systeme nicht gibt. Hier muss angegeben werden, in welches Feld der Inhalt dann geschrieben werden soll.
Arbeitsschritte
Unter dem Punkt Arbeitsschritte sehen Sie alle Arbeitsschritte, die das Master- zum Clientsystem ausgeführt hat, inklusive Statusmeldung.
Einstellungen Clientsystem
Im Clientsystem müssen noch Auslieferungsmethoden angelegt werden. Auslieferungsmethoden werden nicht automatisch übernommen.
Lesen Sie hierzu: https://equitania.atlassian.net/wiki/x/PQKQ
Bei der Nutzung der Mindermengenlogik müssen Sie das Mindermengenprodukt hinterlegen.
- Bisher vorhandene Anreden auf neu hinzugefügte Anreden ändern:
- Ermittlung der verwendeten Anreden: SELECT * FROM res_partner_title WHERE id IN (SELECT DISTINCT(title) FROM res_partner)
- Ermittlung des Mappings der Anreden in Master-DB: SELECT * FROM odo_res_partner_title ORDER BY openerp_id
- Verweis auf alte Anreden durch IDs der neuen Anreden ersetzen
- Alte Anreden löschen
Produktpush
Gehen Sie im Mastersystem auf Backend und einen Ihrer angelegten Shops und klicken Sie auf den Button Produktpush ausführen.
Die Produkte, die Sie in Ihrem Mastersystem erstellt hatten, sollten nun auch im Client unter Verkauf > Produktverzeichnis > Produkte
sichtbar sein. Es werden nur die Produkte angezeigt, die veröffentlicht sind.
Produkte dürfen NUR IM MASTERSYSTEM angelegt werden. Sind Produkte im Client angelegt worden, kann dies später beim Bestellpull zu Problemen führen.
Preislistenpush
Überspielen Sie Ihre Preislisten.
Partnerpush
Überspielen Sie Ihre gesamten Partner. Wählen Sie die Option "Nur Kunden", um nur Kunden zu übertragen.
Wenn der Initialpush einmal ausgeführt wurde, sorgt ein Cronjob dafür, dass Daten i.d.R. 1x pro Minute (je nach dem wie ihr Intervall eingestellt ist) abgeglichen werden.
Meldebestände
Überspielen Sie die Meldebestände.
Anreden
Überspielen Sie die Kontaktanreden.
PULL-Optionen
Partnerpull ausführen
Klicken Sie unter Connector > Backend > PULL auf Partnerpull durchführen.
Gehen Sie unter Connector > Shadowtabellen > Neue Partner.
Wählen Sie einen / mehrere Partner aus und gehen Sie unter Mehr auf Partner verarbeiten.
Klicken Sie Alles akzeptieren.
WICHTIG - nur Partner mit dem Status Entwurf werden verarbeitet.
Ihre neuen Kontakte aus dem Clientsystem wurden ins Mastersystem übernommen.
Es ist auf jeden Fall notwendig, dass Sie vor dem Bestellungspull erst den Partnerpull ausführen und alle Partner akzeptieren, da es sonst aufgrund von Dateninkonsistenz zu einem Fehler kommen kann. Sie bekommen einen Fehler beim Bestellimport.
Bestellungspull ausführen
Gehen Sie unter Connector > Shadowtabellen > Neue Bestellungen
Hier sehen Sie nun die importierten Bestellungen aus dem Clientsystem.
Haken Sie die Bestellungen, die Sie ins Mastersystem übernehmen wollen an und klicken Sie unter Mehr > Bestellungen verarbeiten
Klicken Sie auf Alles akzeptieren:
WICHTIG - nur Bestellungen mit dem Status Entwurf werden verarbeitet. Die Aufträge des Public User werden ignoriert.
Ihre Bestellungen wurden importiert. Wenn Bestellungen importiert und dann im Master bestätigt werden, sollte das auch den Bestand verringern.
Sie sehen anhand der Felder, wann jeweils der letzte Pull durchgeführt wurde.
Testbestellung im Clientsystem:
Übertragene Bestellung im Mastersystem:
Wenn es keine Änderungen gibt, öffnet sich ein entsprechendes Hinweisfenster:
Zurücksetzen der Systeme für neue Synchronisation
Falls in der Master-DB schon mal Synchronisationen liefen, müssen die Mappings zwischen Master und Servant zurückgesetzt werden:
DELETE FROM odo_product_category; DELETE FROM odo_product_material; DELETE FROM odo_product_pricelist; DELETE FROM odo_product_pricelist_item; DELETE FROM odo_product_pricelist_version; DELETE FROM odo_product_product; DELETE FROM odo_product_template; DELETE FROM odo_product_uom; DELETE FROM odo_product_uom_categ; DELETE FROM odo_res_partner; DELETE FROM odo_res_partner_title; DELETE FROM odo_res_lang; DELETE FROM queue_job; DELETE FROM odo_product_public_category; DELETE FROM odo_res_currency; DELETE FROM odo_res_currency_rate; DELETE FROM odo_sale_order; DELETE FROM odo_sale_order_line; DELETE FROM odo_account_invoice; DELETE FROM odo_account_invoice_line; DELETE FROM odo_account_tax; DELETE FROM odo_res_country; DELETE FROM odo_stock_warehouse_orderpoint; DELETE FROM odo_ir_translation; DELETE FROM odo_backend;
In der Servant-DB: Entfernen der Produkte und ggf. Zurücksetzen der Tabellen, die auf Produkte verweisen:
DELETE FROM account_invoice_line; DELETE FROM account_invoice; DELETE FROM account_move; DELETE FROM ir_attachment WHERE res_model = 'account.invoice'; ALTER SEQUENCE account_invoice_line_id_seq RESTART; ALTER SEQUENCE account_invoice_id_seq RESTART; ALTER SEQUENCE account_move_id_seq RESTART; DELETE FROM sale_order_line; DELETE FROM sale_order; DELETE FROM ir_attachment WHERE res_model = 'sale.order'; ALTER SEQUENCE sale_order_line_id_seq RESTART; ALTER SEQUENCE sale_order_id_seq RESTART; DELETE FROM stock_pack_operation; DELETE FROM stock_picking; DELETE FROM stock_move; DELETE FROM stock_quant; DELETE FROM stock_inventory_line; DELETE FROM stock_inventory; DELETE FROM stock_production_lot; DELETE FROM procurement_order; DELETE FROM stock_warehouse_orderpoint; ALTER SEQUENCE stock_move_id_seq RESTART; ALTER SEQUENCE stock_quant_id_seq RESTART; ALTER SEQUENCE stock_warehouse_orderpoint_id_seq RESTART; ALTER SEQUENCE stock_inventory_line_id_seq RESTART; ALTER SEQUENCE stock_inventory_id_seq RESTART; ALTER SEQUENCE stock_production_lot_id_seq RESTART; ALTER SEQUENCE procurement_order_id_seq RESTART; DELETE FROM delivery_carrier; ALTER SEQUENCE delivery_carrier_id_seq RESTART; DELETE FROM product_template; ALTER SEQUENCE product_product_id_seq RESTART; ALTER SEQUENCE product_template_id_seq RESTART; DELETE FROM product_category; ALTER SEQUENCE product_category_id_seq RESTART; DELETE FROM product_public_category; ALTER SEQUENCE product_public_category_id_seq RESTART; DELETE FROM product_material; ALTER SEQUENCE product_material_id_seq RESTART; DELETE FROM product_pricelist; ALTER SEQUENCE product_pricelist_id_seq RESTART; ALTER SEQUENCE product_pricelist_version_id_seq RESTART; ALTER SEQUENCE product_pricelist_item_id_seq RESTART; DELETE FROM res_users WHERE id > 4; DELETE FROM res_partner WHERE id > 5; DELETE FROM res_partner_title; ALTER SEQUENCE res_partner_title_id_seq RESTART; DELETE FROM mail_message; DELETE FROM mail_mail; DELETE FROM ir_attachment WHERE res_model = 'mail.compose.message'; ALTER SEQUENCE mail_message_id_seq RESTART; ALTER SEQUENCE mail_mail_id_seq RESTART; DELETE FROM mail_followers_mail_message_subtype_rel; DELETE FROM mail_followers; ALTER SEQUENCE mail_followers_id_seq RESTART;
DELETE FROM ir_property where res_id LIKE 'res.partner,%' AND cast(split_part(res_id, ',', 2) as int) NOT IN (select id from res_partner); DELETE FROM ir_property WHERE res_id LIKE 'product.template,%' AND cast(split_part(res_id, ',', 2) as int) NOT IN (SELECT id FROM product_template);
DELETE FROM ir_translation WHERE name LIKE 'product.template,%' AND COALESCE(res_id,0) > 0 AND res_id NOT IN (SELECT id FROM product_template); DELETE FROM ir_translation WHERE (name = 'res.partner.title,name' OR name = 'res.partner.title,shortcut') AND res_id > 0;
DELETE FROM account_account WHERE user_type = 2 AND type = 'receivable' AND CAST(code as int) > 10000;
UPDATE ir_config_parameter SET value = '0' WHERE key = 'eq.website.customerportal.min.order.net.price.product.id';
Nach dem Push der Produkte muss unter Einstellungen → Konfiguration → Kundenportal wieder die Einstellung "Produkt für Minderwert" gepflegt werden:
Voraussetzungen
- Basiert auf Odoo 8.0
- Empfohlener Fork https://github.com/equitania/myodoo-server
- Abhängigkeiten: base_setup, connector, connector_ecommerce, product_m2mcategories
Modulvideo
Release Note
- Änderungen vom 23.03.2017
Ähnliche Inhalte