Przypadek: dokument zmienił stan przy otwartym kreatorze
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Taller Aurora to fikcyjna firma, która używa Scrive Connector. Osoba z zespołu handlowego chce dać klientowi więcej czasu na podpisanie. Znajduje dokument w Signature Documents, ze State ustawionym na Pending. W kreatorze przedłużenia wpisuje liczbę dni. Tymczasem dokument przechodzi w stan Signed. Gdy klika Apply, Odoo zatrzymuje się i pokazuje komunikat: Only pending or timed-out documents can be prolonged.
Wraca do Scrive › Signature Documents, znajduje dokument i patrzy na pole State: jest tam Signed. Ta wartość nie należy do dwóch, które dopuszcza kod, więc akcja się zatrzymuje i nie zapisuje niczego z tego, co miało zmienić przedłużenie. Nic nie jest zepsute: dokument już podpisany nie podlega przedłużeniu.

Scrive › Signature Documents z danymi demonstracyjnymi (karty z tytułem [DEMO])Wniosek z tego przypadku: przycisk Apply w kreatorze jest widoczny zawsze, więc sama jego obecność nie gwarantuje, że dokument przejdzie sprawdzenie. Stan dokumentu kod sprawdza dopiero po kliknięciu i to właśnie to sprawdzenie wywołuje komunikat.

Kiedy dokładnie się pojawia
Komunikat pojawia się po kliknięciu Apply w kreatorze przedłużenia. Ten przycisk widać zawsze, w Odoo 17, 18, 19 i 20. Po kliknięciu kreator przechodzi do procedury przedłużającej dokument, a pierwsze, co ta procedura robi, to sprawdzenie stanu.
Warunek słowami: State dokumentu nie jest Pending ani Timed Out. Przy każdej innej wartości kod zgłasza błąd i akcja się zatrzymuje. Ponieważ ostrzeżenie pojawia się przed wysłaniem czegokolwiek do Scrive, to, co miało zmienić przedłużenie, nie zostaje zapisane.

Komunikat znajduje się w opublikowanym kodzie Odoo 17, 18, 19 i 20.
Które stany przechodzą, a które nie
Pole State widać w formularzu Signature Documents oraz na jego liście. Przy Odoo w języku polskim jego wartości i wynik sprawdzenia wyglądają tak:
State (polski) | Angielski | Przechodzi sprawdzenie? |
|---|---|---|
Draft | Draft | Nie |
Preparation | Preparation | Nie |
Awaiting Start | Awaiting Start | Nie |
Pending | Pending | Tak |
Signed | Signed | Nie |
Canceled | Canceled | Nie |
Timed Out | Timed Out | Tak |
Rejected | Rejected | Nie |
Error | Error | Nie |
Saved as Template | Saved as Template | Nie |
Tylko dwa wiersze mówią «Tak». Zwróć uwagę na Awaiting Start: nazwa przypomina Pending, ale to inna wartość i kod jej nie dopuszcza.
Co zrobić krok po kroku
- Otwórz menu
Scrive › Signature Documents. Jeśli nie widzisz częściScrive, brakuje Ci uprawnieniaUser. - Znajdź dokument i sprawdź jego bieżący
State, w formularzu albo na liście. - Jeśli jest tam
PendinglubTimed Out, dokument spełnia warunek: w kreatorze przedłużenia podaj liczbę dni i kliknijApply. - Jeśli jest tam inna wartość z tabeli, komunikat jest poprawny: ten dokument nie może być przedłużony z tego stanu i nic nie zostało zmienione.
Jeśli chcesz zobaczyć, jak wysłać dokument do Scrive, masz artykuł o przycisku Wyślij.
Co się dzieje, gdy sprawdzenie przechodzi
Gdy dokument jest w Pending lub Timed Out, procedura idzie dalej. Po kolei:
- Prosi Scrive o przedłużenie dokumentu o wskazaną liczbę dni.
- Aktualizuje kartę danymi, które Scrive zwraca w odpowiedzi.
- Zapisuje w dokumencie wiadomość o treści
Signing period prolonged by … day(s)., gdzie wielokropek to liczba dni przedłużenia.
Pytania, które się pojawiają
Czy po pojawieniu się błędu coś zostaje wysłane do Scrive?
Nie. W kodzie sprawdzenie stanu jest przed wywołaniem Scrive. Jeśli pojawi się błąd, wywołanie w ogóle nie dochodzi do skutku.
Czy po zobaczeniu komunikatu coś się traci?
Nie. Błąd zatrzymuje akcję i nic z tego, co miało zmienić przedłużenie, nie zostaje zapisane. Dokument pozostaje taki, jaki był.
Gdzie sprawdzić stan dokumentu?
Pole State jest w formularzu Signature Documents oraz na liście, w menu Scrive › Signature Documents.
Czy to dotyczy tylko jednej wersji Odoo?
Komunikat występuje we wszystkich czterech opublikowanych wersjach: 17, 18, 19 i 20.
Jak pomaga FlexigoTech
Jeśli wdrażasz Odoo i chcesz przejrzeć obieg podpisu od początku do końca, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Scrive Connector to moduł z jednorazową opłatą za wersję Odoo i wymaga subskrypcji FlexigoTech Cloud (plan Conector: 49 € miesięcznie lub 490 € rocznie, netto bez VAT). Połączenie przechodzi przez FlexigoTech Cloud, który przechowuje dane logowania w postaci zaszyfrowanej i nadzoruje synchronizację. Znajdziesz stronę modułu oraz jego kartę w Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_scrive_connector 20.0 (21b3b940): models/scrive_document.py
- Kod modułu: flexigobe_scrive_connector 20.0 (21b3b940): wizard/scrive_send_wizard_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_scrive_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
- Kod modułu: flexigobe_scrive_connector 20.0 (21b3b940): __manifest__.py
- Kod modułu: flexigobe_scrive_connector 20.0 (21b3b940): wizard/scrive_send_wizard.py
