Generator przeglądów w opisywanym wdrożeniu modułu CMMS Studio TCS.net to procedura T-SQL, która raz na dobę w nocy czyta harmonogramy obiektów i tworzy dokumenty w statusie Nowe razem z wpisem w kalendarzu. O tym, kiedy dokument powstanie i do kogo trafi, decydują pola harmonogramu, dlatego uwagi wymaga konfiguracja, a nie sama procedura.
Opisujemy rozwiązanie z wdrożenia w zakładzie zagospodarowania odpadów komunalnych. Według stanu na 11.08.2026 baza tego zakładu obejmuje kilka tysięcy obiektów i ponad 100 tys. dokumentów CMMS, więc błąd w jednym polu harmonogramu powtarza się w każdym kolejnym cyklu. Ten sam mechanizm można odtworzyć w kolejnych wdrożeniach, a jego opis z perspektywy całego projektu znajdziesz w artykule o automatycznych przeglądach maszyn w CMMS.
Moduł CMMS jest częścią aplikacji Studio TCS.net, w której działa też system gospodarki narzędziowej z narzędziownią. Ogólny przegląd działu znajdziesz w opisie modułu CMMS Studio TCS.net.
Co generator odczytuje z harmonogramu obiektu
Harmonogram jest przypisany do obiektu w kartotece, a każda jego pozycja opisuje jedną czynność. Generator nie ma własnych ustawień terminów. Z każdej pozycji bierze kilka danych i znaczników, które zestawiamy w tabeli poniżej, i na ich podstawie wybiera jedną z czterech reguł.
Na schemacie widać kolejność, w jakiej pracuje procedura. Pozycja harmonogramu trafia do generatora, romb oznacza rozstrzygnięcie według interwału i terminu, a wynikiem jest zawsze dokument w statusie Nowe, przypisany osobie lub zespołowi. Ponieważ generator uruchamia się automatycznie raz na dobę w nocy, zmiana zapisana w ciągu dnia zadziała dopiero w najbliższym przebiegu.
Pola harmonogramu i ich wpływ na dokument
Tabela zestawia pola ustawiane przy zakładaniu pozycji z tym, co zmieniają w wygenerowanym dokumencie. Wartości pól słownikowych wybieramy z list, więc ich pisownię można ujednolicić jeszcze przed importem.
| Pole | Jak je ustawiamy | Wpływ na dokument |
|---|---|---|
| Czynność | Wybór ze słownika, który w opisywanym wdrożeniu liczy kilkaset pozycji. | Staje się pozycją na liście czynności do odhaczenia. |
| Interwał | Liczba dni kalendarzowych między kolejnymi przeglądami. | Wybiera regułę: poniżej 90 dni liczą się dni robocze, od 90 dni termin pomniejsza się o 14 dni. |
| Data ostatniego wygenerowania | Punkt odniesienia dla pierwszego terminu, później aktualizowany przez generator. | Od niej liczy się następny dokument; po utworzeniu dokumentu generator zapisuje nową wartość. |
| Rodzaj przeglądu | Wybór ze słownika, na przykład okresowy albo dozoru technicznego. | Rodzaj zapisuje się w dokumencie przeglądu. |
| Serwis wewnętrzny lub zewnętrzny | Znacznik przy pozycji harmonogramu. | Przy serwisie zewnętrznym termin wynika z końca poprzedniego przeglądu, a nowy dokument czeka na zamknięcie poprzedniego. |
| Zespół i osoba odpowiedzialna | Wybór z kartoteki pracowników i zespołów. | Dokument dostaje przypisanego wykonawcę, więc zadanie trafia do właściwych osób. |
| Duży przegląd | Znacznik przy czynnościach obiektu nadrzędnego. | Czynności jednego obiektu nadrzędnego trafiają do wspólnego dokumentu. |
| Według potrzeb | Znacznik przy czynnościach bez stałego cyklu. | Zawsze istnieje jeden otwarty dokument, a następny powstaje po zamknięciu poprzedniego. |
| Korekta interwału | Znacznik na obiekcie. | Przy realizacji wykonawca podaje datę kolejnego przeglądu, a interwał jest przeliczany z różnicy dni. |
Granica 90 dni należy do konfiguracji. Zmiana interwału z 89 na 90 dni przełącza pozycję z reguły dni roboczych na regułę z wyprzedzeniem 14 dni, czyli zmienia sposób liczenia terminu przy niemal tej samej długości cyklu.
Cztery przykłady obliczeniowe z datami
Poniższe daty są przykładami obliczeniowymi wynikającymi z reguł, a nie danymi z bazy zakładu. Wszystkie dotyczą roku 2026. Każdy wynik można sprawdzić zapytaniem SQL, w którym funkcja DATEADD w T-SQL dodaje interwał do daty, a funkcja DATEDIFF w T-SQL liczy dni między datami.
Interwał 30 dni i termin w sobotę
Czynność ma interwał 30 dni, a data ostatniego wygenerowania to czwartek 3 września. Termin wynosi 3 października, czyli sobotę. Pętla pomija sobotę i niedzielę, więc pierwszym dniem roboczym nie wcześniejszym niż termin jest poniedziałek 5 października i na ten dzień powstaje dokument w statusie Nowe. Po jego utworzeniu generator aktualizuje datę ostatniego wygenerowania, więc kolejny dokument nie pojawi się przed upływem następnego interwału.
Interwał 120 dni z wyprzedzeniem
Dla czynności z interwałem 120 dni i ostatnim wygenerowaniem 2 marca generator liczy dni, które upłynęły od tej daty. Próg wynosi 120 - 14 = 106 dni, a tyle dni mija we wtorek 16 czerwca. Tego dnia powstaje dokument, choć nominalny termin przypada dopiero na wtorek 30 czerwca. Zespół ma więc dwa tygodnie na zorganizowanie ludzi i części oraz uzgodnienie postoju maszyny.
Serwis zewnętrzny i opóźniony wykonawca
Interwał wynosi 180 dni, a wykonawca zewnętrzny zakończył poprzedni przegląd w piątek 20 marca, choć plan zakładał wcześniejszą datę. Generator nie bierze daty planowanej, tylko datę zakończenia poprzedniego zrealizowanego przeglądu zewnętrznego: 20 marca + 180 dni = środa 16 września. Opóźnienie wykonawcy przesuwa więc cały kolejny cykl, a nie jeden termin. Dopóki dokument z wrześniowym terminem jest otwarty, czyli nie ma statusu Zrealizowane ani Anulowane, nowy dokument dla tej czynności nie powstanie.
Duży przegląd i blokada dubli
Obiekt nadrzędny ma cztery obiekty podrzędne, a w każdym z nich czynność oznaczoną jako duży przegląd. Gdy nadejdzie termin, w poniedziałek 7 września generator tworzy jeden dokument z czterema czynnościami zamiast czterech osobnych zleceń. Dopóki ten dokument jest otwarty, kolejne nocne przebiegi nie dodają następnego, nawet jeśli mijają kolejne dni. Blokadę zdejmuje dopiero zamknięcie dokumentu, czyli status Zrealizowane albo Anulowane. Drzewo obiektów nadrzędnych i podrzędnych opisuje artykuł o strukturze obiektów technicznych.
Czego generator nie robi
Granice działania są równie ważne jak reguły, bo część oczekiwań wobec automatu trzeba spełnić w innym miejscu systemu.
- Nie planuje obciążenia serwisu - dokument dostaje termin z reguły, a rozłożenie prac między brygadami i godzinami zostaje po stronie planisty, który korzysta z osi czasu i kalendarza zleceń.
- Nie jest systemem przypomnień - jego wynikiem są dokument i wpis w kalendarzu. Przypomnienia o terminach ustawia się osobno, a opisuje je artykuł o terminach przeglądów i kalibracji narzędzi.
- Nie liczy terminu z godzin pracy maszyny - podstawą jest interwał w dniach, a czynności bez stałego cyklu obsługuje znacznik według potrzeb.
- Nie wykonuje ani nie zamyka przeglądu - dokument czeka w statusie Nowe, aż wykonawca przyjmie go do realizacji i odhaczy czynności.
Badania dozorowe prowadzimy w osobnym rejestrze. Dla obiektów ze znacznikiem wymaganego resursu zapis badania jest blokowany bez załącznika, co opisuje strona o rejestrze badań UDT.
Co zmienia się po edycji harmonogramu
Generator za każdym razem liczy od daty ostatniego wygenerowania, więc zmiana interwału zacznie działać od najbliższego nocnego przebiegu. Skrócenie interwału albo cofnięcie tej daty może od razu spełnić warunek reguły i wywołać dokument następnej nocy, nawet jeśli poprzedni przegląd odbył się niedawno. Dokumenty, które już powstały, pozostają bez zmian.
Z tego powodu przy imporcie harmonogramów z arkusza Excel sprawdzamy datę ostatniego wygenerowania każdej pozycji, bo od niej zależy pierwszy termin. Ogólne zasady przygotowania arkusza opisuje artykuł o imporcie danych z Excela.
Drugim sposobem zmiany cyklu jest korekta przy realizacji. Dla obiektów z odpowiednim znacznikiem wykonawca podaje datę kolejnego przeglądu, a system przelicza interwał z różnicy dni. Jeżeli przegląd zamykamy w poniedziałek 12 października, a w makiecie z początku strony wpisano kolejny przegląd na 12.11.2026, nowy interwał wynosi 31 dni.
Dokument, który trafia do wykonawcy
Numer dokumentu w makiecie, 2026-10-00412ZPR, zaczyna się od roku i miesiąca, a kończy sufiksem typu dokumentu. Dokument powstaje w statusie Nowe i przechodzi przez Przyjęte oraz W realizacji do Zrealizowane, a status Anulowane zamyka go bez wykonania prac.
Makieta tabletu z początku strony pokazuje dokument w statusie W realizacji. Nagłówek niesie dane obiektu i osoby odpowiedzialnej, a lista czynności ma odhaczone trzy pozycje z pięciu. Przy dwóch niewykonanych czynnościach widać przyciski zgłoszenia awarii, a obok pola uwag i daty kolejnego przeglądu jest miejsce na załączniki i zdjęcia.
Wykonawca może zgłosić awarię bezpośrednio z pozycji przeglądu, a dalszy obieg zgłoszenia i czas reakcji serwisu opisuje artykuł o czasie reakcji na awarie. Zamknięte przeglądy zostają w historii obiektu, a dni przestoju zestawia raport o dostępności technicznej maszyn.
Dokumenty przeglądów tego samego obiektu nadrzędnego, które powstały osobno, można połączyć. Wskazujemy dokument główny i dołączany, a następnie zatwierdzamy połączenie, dzięki czemu mechanicy wykonują jedną wizytę przy maszynie.