Zakresy leżą u nas na Dysku jako dokumenty Worda — pobierz plik i wczytaj go tutaj,
a sekcje i punkty załącznika ułożą się same.
Nagłówek sekcji: linia zaczynająca się od # lub zakończona dwukropkiem
(rozpoznawane są też krótkie linie przed listą, np. „Prace ogólne - wszystkie pomieszczenia").
Pozostałe linie stają się punktami listy. Puste linie oddzielają sekcje.
Dłuższy tekst z kilku zdań, zakończony kropką (np. „WAŻNE: …"), wychodzi jako
zwykły akapit, bez kropki listy.
Dodatkowe paragrafy (max 3, wstawiane przed §8)
Historia umów
📄
Wypełnij formularz i kliknij „Generuj umowę"
Umowy przygotowane przez zespół czekają tutaj na Twoją decyzję. Otwórz wczytuje
umowę do formularza — możesz ją jeszcze poprawić. Akceptuję i podpisuję dokłada
Twój podpis i dopiero wtedy odblokowuje pobranie pliku.
Twoja rola
—
Twój podpis
Skan podpisu wchodzi na umowę pod „ZAMAWIAJĄCY" w chwili, gdy ją akceptujesz.
Leży w bazie w wierszu przypisanym do Twojego konta i reguła po stronie serwera
nie wypuszcza go nikomu innemu — osoby przygotowujące umowy nie mają jak go pobrać.
Najlepiej wychodzi podpis złożony czarnym pisakiem na białej kartce, sfotografowany
z góry i przycięty do samego podpisu. JPG albo PNG, do 1 MB.
Próg kwotowy — umowy bez akceptacji
Umowy do tej kwoty operatorzy wystawiają i drukują sami, bez Twojej akceptacji i bez podpisu
(obie strony podpisują odręcznie). Powyżej progu umowa musi przejść przez zakładkę
„Do akceptacji".
Próg pilnuje baza, nie przeglądarka — operator nie wystawi sobie umowy powyżej
progu, nawet grzebiąc w kodzie strony. Puste pole albo 0 = próg wyłączony, wszystko idzie
przez akceptację.
Umowa na dokładnie tę kwotę jeszcze mieści się w progu.
Powiadomienia o umowach do akceptacji
Gdy ktoś wyśle umowę do akceptacji, osoby akceptujące dostają maila. Wysyłką zajmuje się
mały skrypt w Waszym Google — kod i instrukcja wdrożenia: plik
google-apps-script/Powiadomienia.gs w repozytorium.
Pole puste = obieg działa normalnie, tylko bez maila.
Trafia do Supabase, nie do kodu na GitHubie.
Puste = mail idzie do wszystkich z rolą akceptującą. Wpisanie adresów zawęża
wysyłkę tylko do nich — role zostają bez zmian, więc reszta dalej może akceptować, jeśli trzeba.
Skrypt i tak przyjmuje wyłącznie adresy w domenie @kmbno.pl.
Puste = mail po akceptacji dostaje autor umowy i cały zespół operatorów
(wszystkie konta z rolą przygotowującą) — lista aktualizuje się sama, gdy ktoś dojdzie
albo odejdzie. Wpisanie adresów zawęża wysyłkę tylko do nich; autor dostaje mail zawsze.
Połączenie z Monday
Generator pobiera dane wykonawców i zakres prac przez funkcję „monday” na Supabase. Token Monday jest
sekretem tej funkcji (Supabase → Edge Functions → Secrets → MONDAY_TOKEN) — nie ma go ani w kodzie,
ani w bazie, ani w przeglądarce. Funkcja wpuszcza tylko zalogowanych i przepuszcza wyłącznie odczyt.
Zakres prac z Dysku Google
W Monday jest tylko link do folderu z zakresem — treść leży na Dysku. Mały skrypt w Waszym Google
podaje ją generatorowi, dzięki czemu Załącznik nr 1 wypełnia się sam po wybraniu inwestycji.
Kod skryptu i instrukcja wdrożenia: plik google-apps-script/Kod.gs w repozytorium.
Plik z zakresem może nazywać się dowolnie — skrypt bierze dokument leżący w folderze
(dokument Google, potem .docx, potem .txt; przy kilku — ostatnio
modyfikowany). Wymaga natomiast, żeby nazwa folderu zawierała „zakres" —
to jedyne, co pilnuje, żeby przez ten adres nie dało się wyciągnąć innych plików z Dysku.
Trafia do Supabase, nie do kodu na GitHubie.
Tablice i kolumny
Wybierz tablice, a kolumny dopasują się automatycznie po nazwach. Jeśli coś trafi nie tam, gdzie powinno — popraw ręcznie.