OpenERP – Kleine Helfer

veröffentlicht in Software Engineering am 19. Feb. 2014 Tags:

In unseren vergangen Blogbeiträgen haben wir bereits einige Beispiele für die Flexibilität von OpenERP angeführt. Viele individuelle Anpassungen lassen sich schon durch ganz kleine Module vornehmen. Hier ein paar Kostproben, die das alltägliche Arbeiten mit Kunden, Partnern und Produkten einfacher machen.

Begrüßungsfloskeln

Reports wie Angebote und Rechnungen sowie E-Mails werden in OpenERP mittels Vorlagen (Templates) automatisiert erstellt und an den betreffenden Kontakt adressiert. Für Sprachen mit Genus-spezifischer Anrede ist das Problem der Begrüßung damit leider noch nicht ganz gelöst. Beispielsweise wird eine Kundin nicht erfreut sein, wenn sie mit „Sehr geehrter“ angesprochen wird. Außerdem wirkt die Verwendung eines universellen „Hallo“, mit welchem das Problem nicht auftritt, oft unseriös.

Doch die Lösung ist simpel. OpenERP erlaubt es standardmäßig Titel zu Kontakten zu pflegen. In unserem Modul title_greetings wurde das Titel-Objekt ganz einfach um ein weiteres Feld für die Begrüßungsfloskel erweitert. So können in Reports und E-Mails auch die Begrüßungsfloskeln automatisiert generiert werden, insofern zuvor konfiguriert wurde, welcher Kunde oder Partner wie anzureden ist. Im alltäglichen Geschäft muss sich also keine Gedanken mehr darüber gemacht werden, Kontakte ungebührlich anzusprechen.

Screenshot von der Listenansicht Partner Kontaktanrede

Neue Spalte Grußformel für die Partner Kontaktanrede.

Erweiterung des Kontaktnamens

Beim Ausfüllen von Formularfeldern werden von OpenERP oft Einträge aus der Datenbank vorgeschlagen. Dies ist auch bei Feldern der Fall, in denen ein Kunde oder Partner einzutragen ist. Um Vorschläge zu ermitteln, durchsucht OpenERP hierbei nicht nur in den Kontaktnamen nach einer Übereinstimmung, sondern auch in den Namen der übergeordneten Firmenkunden. Die Kundenreferenz wird hierbei jedoch standardmäßig nicht durchsucht. Es ist also zunächst nicht möglich, einen Kunden per Kundennummer in ein Formular einzutragen. Aber gerade dies hat oft einen großen praktischen Nutzen im alltäglichen Geschäft.

Auch hier ist die Lösung recht einfach. Wie jedes Objekt in OpenERP hat auch das Kunden-Objekt eine name_get- und eine name_search-Methode. Auf der einen Seite ist die name_get-Methode für den Anzeigenamen eines Objektes, wie etwa in Formularfeldern, verantwortlich. Sie kann so angepasst werden, dass beim Anzeigen eines Kontaktes neben dem eigentlichen Namen auch die Kontaktreferenz dargestellt wird. Auf der anderen Seite steuert die name_search-Methode die Suche über den Namen eines Objektes. Hier kann die Suche so erweitert werden, dass auch Kundenreferenzen beachtet werden. Beides wurde in unserem kleinen Modul partner_extended_name umgesetzt. Neben den angeführten Anpassungen wird durch das Modul der Anzeigename eines Kontaktes außerdem um den Kontakttyp erweitert. So können Rechnungs- und Lieferadresse eines Kontaktes voneinander unterschieden werden, sollte der Kontaktname identisch sein.

Screenshot Angebotserstellung mit Modul partner_extended_name

Auswahl eines Kontakts über die Kundennummer.

Mehrsprachigkeit für Produkte deaktivieren

OpenERP unterstützt Mehrsprachigkeit. Jeder Nutzer kann konfigurieren, in welcher Sprache das System angezeigt wird. Das ist jedoch nicht alles. Viele Felder von Objekten sind übersetzbar. Beispielsweise können die Beschreibung und der Name eines Produktes in verschiedenen Sprachen gepflegt werden. Dies ist vor allem dann sehr nützlich, wenn nicht alle Kunden eines Unternehmens die gleiche Sprache sprechen. Angebote, Rechnungen und Lieferscheine können dann automatisch in der jeweiligen Sprache des Kunden erstellt werden. Leider birgt die Verwaltung von Übersetzungen in OpenERP 7 einige Tücken. Gerade wenn es um das Bearbeiten eines übersetzten Feldes geht, ist dies der Fall. Das liegt daran, dass die angezeigte Übersetzung am Benutzer hängt. Einem Benutzer ist es nicht möglich, Übersetzungen aus mehreren Sprachen gleichzeitig zu sehen oder zu bearbeiten. Frühere Versionen von OpenERP waren hier mitunter benutzerfreundlicher.

Sollte es ausreichen Produkte in deutscher Sprache zu pflegen, haben wir auch für diese Unannehmlichkeit ein kleines Modul geschrieben. Das Modul product_single_language_de deaktiviert die Übersetzbarkeit von Produktfeldern wie Produktname und Produktbeschreibung. Bei der Installation werden zunächst die deutschen Bezeichnungen direkt am Produkt gespeichert und anschließend alle weiteren Übersetzungen aus der Datenbank entfernt. (Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden.)

Die drei vorgestellten Module finden Sie als OpenERP Apps unter:

oder als Source bei Launchpad.

Falls Sie auch Interesse an OpenERP haben oder unsere Expertise für Ihr ERP-Projekt benötigen, dann nehmen Sie mit uns Kontakt auf. Wir helfen Ihnen gerne weiter!

Sie erreichen uns unter der Telefonnummer +49 (0)4105 5615699 oder per Mail an {This email is obscured. Your must have javascript enabled to see it}.

Über Katja Matthes

Frau Matthes ist nach ihrem Studium an der Otto-von-Guericke-Universität zu uns gestoßen und bereichert seitdem unser Team mit ihrem Fachwissen aus der Informatik. Bei unseren Projekten im Bereich Magento und OpenERP geht sie gerne auf die Wünsche unserer Kunden ein und kein SQL-Ausdruck ist ihr zu komplex. Sie ist nicht nur am Morgen mit guter Laune die Erste im Büro, sondern geht in ihrer Freizeit dem Musizieren und Schreiben nach.

News aus der OpenERP Community

veröffentlicht in Consulting,Software Engineering am 4. Feb. 2014 Tags: ,

Hier eine kleine Zusammenfassung aus den aktuellen Themen, welche die OpenERP-Community Anfang 2014 bewegen.

OpenERP CMS & eCommerce

Die wichtigste News von OpenERP ist natürlich, dass das neue CMS & eCommerce Modul für OpenERP-Cloud ausgerollt wird. Das neue Modul, dass auch Bestandteil der Version 8 sein wird, bietet die Möglichkeit eine einfache Webseite mit OpenERP zu erstellen und auch seine Produkte zum Verkauf anzubieten. Dabei wird keine separate Software und teure Integration von Shopsoftware zusätzlich zum lokalen ERP-System benötigt.
Die Infos gibt es auf der OpenERP Webseite. Cloud-Nutzer können das Feature jetzt schon nutzen, alle anderen müssen sich bis zur Version 8 gedulden, die im Juni 2014 erscheinen soll.

OpenERP – Magento – Connector

Der OpenERP-Magento-Connector ist in der neuen Version 2.3.0 veröffentlicht wurden. Neben ein paar Änderung an der API und der kontinuierlichen Verbesserungen ist besonders erwähnenswert, dass dieser jetzt komplett in deutscher Sprache zur Verfügung steht. Detaillierte Releasenotes findet ihr hier.

Intercompany-Modul

Elico Corp hat ein Intercompany Modul veröffentlicht. Dieses basiert auf dem OpenERP Connector Framework und dient dazu, Verkäufe zwischen zwei Firmen, die beide OpenERP einsetzen, zu automatisieren.

Anwendungsbeispiel: Firma A stellt bei Firma B eine Anfrage. Die Daten im Einkaufsmodul werden mit den Daten aus dem Verkaufsmodul der anderen Firma abgeglichen. Dies erspart viel Zeit, da sonst die Daten doppelt digitalisiert und kopiert werden müssten. Das Modul kann zwischen zwei verschiedenen Instanzen verwendet werden oder auch, wenn mit einem OpenERP-System mehrere Firmen (z.B. Tochterfirmen) verwaltet werden.

Erweitertes Kassenmodul

Über help.openerp.com sind wir auf ein interessantes Modul für die Erweiterung des Kassenmoduls aufmerksam geworden. Das Kassenmodul wird um die Funktionalität von Rücknahme/Retouren erweitert. Ebenso besteht nun die Möglichkeit im Kassenmodul den Kunden zu wählen.
Ein echter Mehrwert ist außerdem, dass als Manager die Perspektive gewechselt werden kann, ohne den aktuellen Mitarbeiter am Terminal auszuloggen. Dieses Modul zeigt, wie OpenERP mit zusätzlichen Funktionen auch an dieser Stelle erweitert werden kann. Bisher ist nur die erste Version veröffentlicht und es ist noch ein gewisses Risiko im Produktiveinsatz vorhanden, da die Entwicklung im Moment bei einem Entwickler liegt.

Falls Sie auch Interesse an OpenERP haben oder unsere Expertise für Ihr ERP-Projekt benötigen, dann nehmen Sie mit uns Kontakt auf. Wir helfen Ihnen gerne weiter!

Sie erreichen uns unter der Telefonnummer +49 (0)4105 5615699 oder per Mail an {This email is obscured. Your must have javascript enabled to see it}.

Über Markus Schneider

Als Analytiker und Informatiker ist Markus Schneider Experte für Shop- und ERP-Systeme. Dabei setzt er sein fundiertes Wissen insbesondere im Bereich der Open Source Software ein und kann verschiedene
Anwendungssysteme, z.B. Oxid eSales, OTRS, und Solr Suche, darin integrieren. Auch mit der Onlineshopsoftware Magento kennt sich Herr Schneider bestens aus. Zudem greift er auf gesammelte Erfahrungen unterschiedlicher Systeme wie Sage, SAP und speziell OpenERP zurück.

Kundenspezifische Preise in OpenERP

veröffentlicht in Software Engineering am 22. Jan. 2014 Tags: ,

OpenERP bietet von Haus aus die Möglichkeit Produktpreise nach komplexen Regeln abhängig von Kunden, Datum und Menge zu gestalten. Einem unserer Kunden fehlten noch zwei Dinge um dieses Potenzial voll auszuschöpfen. Zum einen bestand der Bedarf die Preislisten noch um explizit ausgewiesene Rabatte zu erweitern. Dies ist unter anderem dann nützlich, wenn gegenüber Kunden, die als Reseller auftreten, der empfohlenen Listenpreis zusammen mit der Marge auf der Rechnung ausgewiesen werden soll. Zum anderen sollte es eine einfache Möglichkeit geben zu einem gegebenen Produkt den kundenspezifischen Preis zu berechnen, um ihn beispielsweise bei telefonischer Beratung schnell parat zu haben. Die leichte Anpassbarkeit von OpenERP erlaubte uns diese Anforderungen unseres Kunden schnell und einfach zu realisieren.

Um Produkte in Preislisten mit einem Rabatt auszuweisen, haben wir die von Syleam entwickelten OpenERP-Addons pricelist_discount und sale_pricelist_discount für Version 7 von OpenERP migriert. Diese Module erweitern das Model product.pricelist.item um ein entsprechendes Feld. Dieses Rabatt-Feld wird dann beim Hinzufügen eines Produktes zu einem Angebot ausgelesen und dort in das vorhandene discount Feld von sale.order.line eingetragen. Die erweiterte Preislistenkonfiguration ist in Screenshot 1 zu sehen.

pricelist_discount

Screenshot 1: Ein Preislisteneintrag mit 5% Rabatt.

Damit kundenspezifische Preise, die sich aus möglicherweise komplexen Preislistenregeln ergeben, einfach abzurufen sind, haben wir ein Popup zur Preisberechnung angelegt, das direkt über einen Menü-Eintrag erreicht werden kann. Dort kann per gewohntem Drop-Down-Menü der Kunde und das Produkt ausgewählt und bei Bedarf zusätzlich eine Menge angegeben werden. Bei jeder Änderung der Parameter wird der aktuell gültige Preis für diese Kombination berechnet wie in Screenshot 2 zu sehen. Technisch gesehen verbirgt sich hinter dem Popup ein Wizard, der mittels der price_get Methode von product.pricelist (bzw. product.product, falls keine Preisliste vorhanden ist) den gültigen Preis berechnet

product_partner_price

Screenshot 2: Über ein Popup kann schnell der Produktpreis für einen Kunden ermittelt werden.

Die beiden hier vorgestellten Anpassungen finden Sie als OpenERP-Modul sowohl in den OpenERP Apps als auch auf Launchpad. Das Modul pricelist_discount erweitert Preislisten um explizite Rabatte, das Modul sale_pricelist_discount berücksichtigt diese Rabatte beim Anfertigen von Angeboten. Unabhängig davon stellt das Modul product_partner_price ein Popup zur einfachen Preisberechnung zur Verfügung. Falls in diesem Popup die Rabatt-Erweiterung von Preislisten berücksichtigt werden soll, sollte zusätzlich das Modul product_partner_price_pricelist_discount installiert werden, das die beiden vorherigen Module verbindet.

Falls Sie auch Interesse an OpenERP haben oder unsere Expertise für Ihr ERP-Projekt benötigen, dann nehmen Sie mit uns Kontakt auf. Wir helfen Ihnen gerne weiter!

Sie erreichen uns unter der Telefonnummer +49 (0)4105 5615699 oder per Mail an {This email is obscured. Your must have javascript enabled to see it}.

Über Thomas Rehn

Der ausgebildete Mathematiker Thomas Rehn ist begeisterter Problemlöser in C++, Java, Perl, PHP und Python. Seine jahrelange Erfahrung als System-Administrator sorgt für den reibungslosen Betrieb unserer Web-, Datenbank und Applicationserver. Nebenbei ist er Autor von und Contributor zu verschiedener mathematischer Open-Source-Software.

Nächste Seite »