Importowanie cenników w Odoo

Importowanie danych do Odoo może być bardzo czasochłonnym zadaniem. 

Jeśli importujemy dane za pośrednictwem standardowego modułu importu musimy się uzbroić w cierpliwość, commity w bazie są robione po wczytaniu dużej ilości danych a aktualizacja potrafi się blokować ponieważ Odoo, aktualizując jeden rekord cennika, zapisuje wszystkie także nieaktualizowane:


Jeśli odwołujemy się dodatkowo przez etykiety a nie identyfikatory zewnętrzne czas potrafi być naprawdę frustrujący, zwłaszcza gdy mamy 200 000 produktów i ceny zależą od zamówionej ilości (na takim przykładzie się skupimy).

Pobierając szablon importu dla cenników widzimy, że schemat importu importuje dane do tabeli Pricelist Items, pokażemy zatem jak wtłoczyć dane bezpośrednio do tej tabeli oszczędzając trochę czasu :



Upewnijmy się, ze mamy włączoną funkcjonalność cenników - ja włączyłam zaawansowane reguły, które pozwalają na tworzenie Cennika, jako formuły (np. "weź cenę katalogową w PLN, przelicz według bieżącego kursu EUR, zaokrąglij do 10 i odejmij 0,1 żeby wszystkie ceny w EUR wyświetlane na stronie miały końcówkę xxx9.90 EUR - jak to zrobić pokażemy innym razem).

Dla poniższego przykładu wystarczy aktywować Wiele cen na produkt.


Możemy teraz ręcznie dodawać wiele cen, przechodząc z produktu przez dodatkowe ceny:


Pamiętając, ze pola liczbowe w Odoo umożliwiają wpisywanie prostych formuł jak w excelu i same przeliczą wartość



Tworzymy cennik, do którego będziemy wtłaczać dane, pamiętając o tym, żeby nadać mu identyfikator xml, który nam potem ułatwi przygotowanie czytelnego pliku do importu (o identyfikatorach xml mamy osobny wpis na blogu):


Możemy teraz definiować ceny ręcznie:

Aby przygotować sobie wygodną metodę do importowania - włączamy tryb developerski (w innym wpisie pokazujemy różne metody jak to zrobić).

Przechodzimy do menu Modele (wystarczy zacząć pisać nazwę, będąc na ekranie głównym)


Znajdujemy model pricelist item


Po wejściu do modelu scrollujemy na sam dół i klikamy button Utwórz menu


Nowemu elementowi nadajemy nazwę i wybieramy pozycję nadrzędną, tu do przykładu pobrano pozycję Cenniki - przestanie ona być klikalna więc będzie trzeba zduplikować sobie ten element, jeśli wybierzemy element nieklikalny nie musimy tego robić.


Efekt mojego działania:


Wracam do "Elementy menu"


Duplikuję element nadrzędny


Zmieniam nazwę z Cenniki(1) na Lista Cenników i umieszczam tam, gdzie utworzone wcześniej Pozycje cenników


Efekt wygląda jak poniżej:


Mogę przejść do importu - tworzę plik z danymi i mogę mieć w nim pomocnicze kolumny, których nie będę importować, bo jeśli przygotowujemy na bazie exportu z Odoo to warto dodawać sobie etykiety/nazwy, żeby w przypadku wykrycia błędów łatwiej je poprawiać. Jest to także nieodzowne, gdy pracujecie na plikach przygotowanych przez innych - możecie prześledzić sposób przygotowania.


Gotowy plik importuję



Jestem w trybie developerskim - widzę trochę więcej informacji, system zmapuje mi dane z mojego excela z nazwami kolumn (możemy ręcznie zmapować, jak polecam już w szablonach mieć pełne i poprawne nazwy).

Po kliknięciu Test, Odoo sprawdza nasz plik. W tym przypadku mam dwie referencje do cennika (Cennik czyli etykietę i ID - to są dane nadmiarowe), klikam więc na krzyżyk, żeby usunąć je z zakresu importu.



Za drugim razem Odoo potwierdza, ze plik jest OK.


Ustawiam sobie jeszcze ilość rekordów, po których będzie potwierdzony zapis do bazy (jeśli będzie błąd w linii 1820 będzie wiadomo, gdzie wznowić import po poprawieniu danych źródłowych). Jak widać mamy dwie kolumny, których nie importujemy - Cennik (etykieta) i Pomocnicza cena sprzedaży, według której wyliczałam cenę dla zakupu hurtowego.


Moje menu pozycje cennika nie pozwala na edycję ceny w tym widoku, bo kolumna Cena jest oparta na dwóch polach (Cena stała z modelu Pricelist Item oraz waluty z cennika), aby móc edytować muszę wyciągnąć pole źródłowe na widok.


Instaluję moduł Odoo Studio:


Ikona Studio jest jednak nieaktywna na widoku "Pozycje menu" muszę utworzyć identyfikator xml dla tej akcji okna






Szersza informacja znajduje się w innym wpisie na blogu.

Ikona Odoo Studio już nie jest wyszarzona.


Zaczynam od weryfikacji, czy w tym widoku potrzebne mi pole nie jest ukryte. Klikam w lewej kolumnie Pokaż niewidoczne elementy.

W tym przypadku tylko Start Date i End Date są w widoku jako domyślnie ukryte.


Klikam dodaj istniejące pole, wyszukuję Fixed price i przeciągam na widok w odpowiednie miejsce



Pozostała jeszcze kwestia ukrycia nadmiarowej kolumny (sklejonej z walutą) - klikam na price i zmieniam na "Ukryj domyślnie"


oraz umożliwienie edycji masowej


Po zamknięciu studio zmiany są widoczne od ręki:


Mogę zaznaczyć kilka wierszy i zmienić dane masowo:


Po kliknięciu Enter system poprosi mnie o potwierdzenie.



Share this post
Tags
Sign in to leave a comment
Trilab POS
obsługa paragonów z modułu Sprezedaż