Erste Inventur in OpenERP 7 / Odoo 7 / Odoo 8

Im Menüpunkt Lager > Inventurauträge (Odoo 7) oder Lager > Bestandsabgleich (Odoo 8) einen ersten Eintrag mit einem beliebiten Produkt anlegen.

Speichern, anwählen, exportieren in Liste.
Folgende Felder müssen mit exportiert werden:
– Bestandsaufnahme/Ort
– Bestandsaufnahme/Produkt
– Bestandsaufnahme/Produkt Einheit
– Erzeugt am
– Inventurlager (falls nötig)
– Inventurauftrag
– Unternehmen

Die Liste mit OpenOffice öffnen (auf Textform UTF-8 und Text- & Spaltentrenner sowie Spaltentyp „Text“ achten) und geöffnet lassen.

Nun eine Produktliste mit allen Produkten exportieren. Hier sind nur die internen Referenzen wichtig, also die interne Artikelnummer.
Mit OpenOffice öffnen und die erste Spalte mit Werten wie z.B. __export__.product_template_76 in die andere Liste kopieren.
In dieser Liste nun aus __export__.product_template_76 __export__.product_product_76 machen und die restlichen Zeilen mit den Werten aus der ersten Zeile füllen.


Import von Meldebeständen in Odoo 8

Eine Tabelle erstellen mit folgender Struktur

active product_max_qty product_min_qty logic qty_multiple location_id/id product_id/id
True 1.0 Beschaffe bis Auffüllbestand 1.0 stock.stock_location_stock 1500

Dann bei den Meldebeständen jeweils Sets von je maximal 1500 Artikeln importieren (jedenfalls in meinem Setup unter CentOS).
Product ID ist die Produkt / Datenbank ID. Dies muss für eine eindeutige Zuordnung ausgewählt werden.


Template inkl. Schriftart von Rechnung und Bestellung in Odoo 8 bearbeiten

In Odoo 8 sind die Templates für die Rechnungen und Bestellungen nicht mehr in den Unternehmensdaten gespeichert, sondern als HTML (zusätzlich) zu ändern.

Unter Einstellungen > Benutzer-Interface > Ansichten – suche nach „external“ findet man Header und Footer und kann diese nach QWeb CSS Standardklassen einrichten. Unter Suche nach „document“ findet man die Vorlagen für Rechnung und Bestellbestätigung…

Schriftarten sind dann jeweils im Header und im Template zu hinterlegen mit z.B.

< div style="font-family: Source Sans Pro; font-size: 8px;" class="header"/ >


Schriftart / Font zu Odoo8 unter CentOS hinzufügen

Die gewünschte Schriftart als TTF in den Ordner /usr/share/fonts/TrueType hinterlegen.

Im Ordner selbst den Befehl fc-cache ausführen.

Die Datei /odoo/openerp/report/render/rml2pdf/customfonts.py bearbeiten, dass entweder der Pfad /usr/share/fonts/TrueType zusätzlich geprüft wird oder einen der schon abgefragten Pfade anpassen.

Odoo8 service neu starten. In den Unternehmensdaten unter Reportkonfiguration die Schriftarten neu laden, auswählen und speichern.


Hide Child Products of Grouped, Bundled or Configurable

Mit dieser Extension werden automatisch beim Speichern eines Produktes mit verknüpften Artikeln die Sichtbarkeiten dieser auf einen eingestellten Wert geändert (Nicht sichtbar, Katalog, Suche, Katalog & Suche).
Viele einzelne Produkte sollen im Katalog und in der Suche nur über das Gruppenprodukt sichtbar sein, da hilft diese Extension immens, den Arbeitsaufwand zu verringern und den Katalog rein zu halten.
Es gibt auch die Möglichkeit, den kompletten Katalog zu prüfen und dementsprechend zu ändern.

Download und Anleitung bei Magento-Connect hier.


Custom Product Urlkey

In Magento ist die automatische Vergabe der URL Keys nur mit dem Namen möglich.

Dieses Modul ergänzt die Funktion um alle möglichen Attribute.

Download über Magento-Connect hier

Der Code für Datei Designcomplex_Urlkey.xml in app\etc\modules\

<?xml version="1.0" ?>
<config>
    <modules>
    <Designcomplex_Urlkey>
        <codePool>local</codePool>
        <active>true</active>
    </Designcomplex_Urlkey>
    </modules>
</config>

und config.xml im Pfad app\code\local\Designcomplex\Urlkey\etc\ und der Code ist

<?xml version="1.0"?>
<config>
  <modules>
    <Designcomplex_Urlkey>
      <version>0.1.0</version>
    </Designcomplex_Urlkey>
  </modules>
    <global>
        <models>
            <Designcomplex_Urlkey>
                <class>Designcomplex_Urlkey_Model</class>
            </Designcomplex_Urlkey>
        </models>
  </global>
    <global>
        <events>
            <catalog_product_save_before>
                <observers>
                    <Designcomplex_Urlkey>
                        <type>singleton</type>
                        <class>Designcomplex_Urlkey/observer</class>
                        <method>updateurl</method>
                    </Designcomplex_Urlkey>
                </observers>
            </catalog_product_save_before>
        </events>
    </global>       
</config> 

Dazu kommt die Observer.php im Verzeichnis app\code\local\Designcomplex\Urlkey\Model

<?php
class Designcomplex_Urlkey_Model_Observer{
    public function updateurl($observer){
        //Mage::log('URLKey log', null, 'urlkey.log');
        if($observer->getEvent()->getProduct()){
            $Product=$observer->getEvent()->getProduct();
            $Url='';
            if(!is_null($Product->getData('manufacturer'))):
            $Url=$Url.$Product->getAttributeText('manufacturer').'-';
            endif;
            if(!is_null($Product->getData('name'))):
            $Url=$Url.$Product->getData('name');
            endif;
            //Mage::log('URLKey log'.$Url, null, 'urlkey.log');
            $Product->setData('url_key',$Url);      

        }
    }
}

In der Observer.php sind die unterschiedlichen Attributarten zu beachten. Der Name wird nur mit getData(’name‘) abgerufen und Attribute wie „manufacturer“ und die meisten anderen Text-Attribute werden mit getAttributeText(‚attribute_code‘) abgerufen.