Jak czytać komunikaty modułu
Komunikaty FlexigoTech Migration Base są dwojakiego rodzaju. Jedne pilnują reguły unikalności: czegoś, co moduł dopuszcza tylko raz na projekt, na zestaw mapowania, na kategorię albo na rekord. Drugie pojawiają się przy próbie zmiany statusu i wyjaśniają, co ją blokuje.
W tabeli zobaczysz teksty z nawiasami klamrowymi, np. {current_status} albo {len(blocking_recs)}. Tak są zapisane w kodzie modułu; na Twoim ekranie w tym miejscu pojawi się status lub liczba dotycząca Twojego przypadku.
Jeśli najpierw chcesz zrozumieć, przez co przechodzi każdy rekord, opisujemy to w artykule jak Migration Base działa od środka.

Komunikaty Migration Base po kolei
| Komunikat | Kiedy się pojawia | Co zrobić |
|---|---|---|
Each source record can only be archived once per project | Przy archiwizacji rekordu źródłowego, który jest już zarchiwizowany w tym samym projekcie | Znajdź istniejące archiwum tego rekordu w projekcie i pracuj na nim |
Each source record can only be staged once per project | Przy przenoszeniu do stagingu rekordu źródłowego, który już jest w stagingu w tym projekcie | Odszukaj istniejący wpis w stagingu zamiast tworzyć nowy |
Each validation rule can only run once per record | Gdy ta sama reguła walidacji miałaby zostać ponownie uruchomiona na tym samym rekordzie | Sprawdź wynik, który już istnieje dla tej reguły i tego rekordu |
Each checklist item can only appear once per project | Przy dodawaniu do projektu pozycji checklisty, która już w nim jest | Użyj pozycji, która jest już na checkliście projektu |
Each account can only appear once per reconciliation type per project | Przy powtórzeniu konta z tym samym typem uzgodnienia w tym samym projekcie | Edytuj istniejącą linię dla tego konta i typu |
Each source dimension value can only map once per set | Przy ponownym mapowaniu tej samej wartości wymiaru źródłowego w zestawie | Popraw mapowanie, które już zawiera tę wartość w zestawie |
Each source value can only map once per category per set | Przy dwukrotnym mapowaniu wartości źródłowej w tej samej kategorii tego samego zestawu | Popraw istniejące mapowanie tej wartości w tej kategorii |
Each mapping set version must be unique | Przy zapisie mapping setu z wersją, która już istnieje | Nadaj inną wersję |
Illegal status transition: {current_status} → {new_status}. Allowed transitions: {allowed} | Przy żądaniu statusu, który nie jest dozwolony z bieżącego | Przeczytaj Allowed transitions i wybierz jeden z tych statusów |
Cannot advance to Reconciled: {len(blocking_recs)} blocking reconciliation line(s) remain unresolved. Please resolve or sign off these items first. | Przy próbie przejścia do Reconciled, gdy blokujące linie uzgodnienia nie są rozwiązane | Rozwiąż lub zatwierdź te linie i spróbuj ponownie |
Cannot go live: {len(blocking_items)} checklist items not completed | Przy próbie uruchomienia produkcyjnego z nieukończonymi pozycjami checklisty | Ukończ zaległe pozycje i powtórz krok |
Komunikaty, które blokują zmianę statusu
Te trzy nie wskazują błędnie wpisanych danych: mówią, że krok, który próbujesz wykonać, nie jest jeszcze możliwy.
Illegal status transition
Pełny komunikat zawiera bieżący status, status, o który prosisz, oraz listę Allowed transitions. Ta lista jest odpowiedzią: z obecnego statusu moduł przyjmuje tylko te, które się na niej znajdują. Jeśli status, do którego chcesz przejść, na niej nie widnieje, moduł nie pozwoli Ci wykonać tego przeskoku z miejsca, w którym jesteś.
Cannot advance to Reconciled
Liczba w komunikacie to liczba blokujących linii uzgodnienia, które wciąż nie są rozwiązane. Sam tekst mówi, co zrobić: rozwiązać je albo zatwierdzić (sign off) przed kolejną próbą. Na liście Reconciliation masz dla każdej linii projekt, typ uzgodnienia, kod konta, kwoty źródłowe i docelowe, różnicę oraz pola wyboru tolerancji, blokady i zatwierdzenia.

Cannot go live
Tutaj liczba oznacza pozycje checklisty, które nie zostały ukończone. Otwórz pozycje checklisty projektu, ukończ je i powtórz krok. Lista Checklist Items pokazuje projekt, pozycję, pola Done i Blocking, osobę, która ją wykonała, oraz datę.

Komunikaty, które zapobiegają duplikatom
Komunikaty o unikalności w module mają wspólny schemat: Each … can only … once per …. Końcówka tekstu określa zakres reguły: projekt, zestaw, kategorię albo rekord. Uważna lektura oszczędza szukania w złym miejscu. Na przykład komunikat o kontach mówi o jednym wystąpieniu na typ uzgodnienia i na projekt, więc konflikt dotyczy kombinacji konta i typu w tym projekcie.
W zestawach mapowania
Trzy komunikaty dotyczą mapping setów. Each source dimension value can only map once per set i Each source value can only map once per category per set pojawiają się, gdy powtarzasz wartość źródłową w tym samym zestawie (w drugim przypadku w tej samej kategorii). Each mapping set version must be unique pojawia się, gdy wersja zestawu już istnieje. W dwóch pierwszych przypadkach otwórz zestaw, znajdź wartość i popraw linię, która już ją mapuje; w trzecim zmień wersję.
W stagingu, archiwum i walidacji
Each source record can only be archived once per project i Each source record can only be staged once per project pojawiają się, gdy rekord źródłowy ma już swoje archiwum lub wpis w stagingu w tym projekcie. Each validation rule can only run once per record pojawia się, gdy reguła została już uruchomiona na tym rekordzie. We wszystkich trzech przypadkach to, czego szukasz, już istnieje: odszukaj to, zanim spróbujesz ponownie.
W checkliście i uzgodnieniach
Each checklist item can only appear once per project nie pozwala mieć tej samej pozycji dwa razy w projekcie. Each account can only appear once per reconciliation type per project nie pozwala powtórzyć konta z tym samym typem uzgodnienia w tym samym projekcie. Rozwiązaniem jest edycja istniejącego rekordu zamiast dodawania nowego.
Gdzie szukać istniejącego rekordu
W aplikacji Migration górne menu zawiera Migration Projects, Mapping Sets i Reconciliation, a listy mają przycisk New i wyszukiwarkę. Tam znajdziesz zestaw, linię uzgodnienia lub projekt, który powoduje konflikt.

Inne listy modułu, np. Connection Profiles, mają ten sam układ: przycisk New, wyszukiwarkę i kolumny, w tym przypadku Profile Name, Connection Type, Validated i Validation Message.

Jeśli jesteś w trakcie wdrożenia i chcesz wiedzieć, co wypełnić w każdym rekordzie, zajrzyj do przewodnika wdrożenia Migration Base.
Jak pomaga FlexigoTech
FlexigoTech Migration Base jest bezpłatny w Odoo Apps dla Odoo 17, 18, 19 i 20 (netto, bez VAT). Jeśli komunikat nie znika albo migracja wymaga czegoś, czego moduł nie obejmuje, w FlexigoTech wdrażamy Odoo 17, 18, 19 i 20 oraz tworzymy konektory i integracje na zamówienie.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_archive.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_checklist.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_dimension_map.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_mapping.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_project.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_reconciliation.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_staging_record.py
- Kod modułu: flexigo_migration_base 20.0 (075d1af0): models/migration_validation.py
- apps.odoo.com/apps/modules/20.0/flexigo_migration_base
- apps.odoo.com/apps/modules/17.0/flexigo_migration_base
- apps.odoo.com/apps/modules/18.0/flexigo_migration_base
- apps.odoo.com/apps/modules/19.0/flexigo_migration_base
- flexigotech.com/en/services.html
