ProgramowanieOchrona płatnościSzczegóły
- Poprawki w ramach pakietu są bezpłatne.
- Jeśli nie odpowiesz w ciągu 3 dni od dostarczenia pracy, zostanie ona zaakceptowana automatycznie.
Pieniądze są rezerwowane w chwili płatności i przekazywane dopiero po akceptacji pracy.

Przykładowy rezultat
Łączenie miesięcznych plików sprzedaży 9 sklepów w jeden raport w Excelu
Jak się go uruchamia
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, znaleziono 9 plików
2026-11-02 09:14:03 INFO shop-01.csv: 1284 wiersze
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 wierszy
2026-11-02 09:14:04 WARN shop-07.csv: pominięto 3 wiersze bez ceny (linie 88, 412, 913)
2026-11-02 09:14:05 INFO Gotowe: 10 412 wierszy -> report-2026-10.xlsx (arkusze „Sprzedaż” i „Podsumowanie”)
Ustawienia zamiast kodu
Nazwy kolumn każdego sklepu są zapisane w settings.ini, więc nowy sklep albo kolumna o zmienionej nazwie to po prostu jeden wiersz w tym pliku:
[columns]
date = Data, Data sprzedaży, Dzień
product = Produkt, Towar, Nazwa
quantity = Ilość, Szt., Liczba sztuk
price = Cena, Cena jedn.
Fragment kodu
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Wczytuje plik jednego sklepu i nadaje mu nazwy kolumn raportu."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: brak kolumny dla '{name}' (szukano: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Pliki: archiwum ZIP z plikami merge_sales.py (310 wierszy), settings.ini, requirements.txt oraz README, które opisuje instalację Pythona, uruchomienie skryptu i znaczenie każdego komunikatu w dzienniku. Klient uruchamia skrypt na własnym komputerze.
Klient: mała sieć 9 sklepów papierniczych; każdy sklep przesyła sprzedaż za miesiąc w pliku CSV lub Excel, z nieco innymi nazwami kolumn. Zadanie: jeden skrypt, który wczytuje każdy plik z folderu, sprowadza kolumny do jednego układu i zapisuje jeden raport w Excelu z całą sprzedażą oraz arkuszem podsumowań według sklepów.
Klient i wszystkie dane są wymyślone.
O usłudze
Plany lekcji, grafiki zmian, okna dostaw czy program wydarzenia często są prowadzone w Arkuszu Google, a przepisywanie ich po kolei do Kalendarza Google jest powolne i łatwo o błąd. Ten skrypt Google Apps Script odczytuje Twoje wiersze i tworzy dla każdego z nich wydarzenie w wybranym kalendarzu: tytuł, początek i koniec, miejsce i opis z Twoich kolumn. Zapisuje w wierszu identyfikator wydarzenia, więc gdy zmienisz godzinę i uruchomisz go ponownie, wydarzenie się przesunie, zamiast się zdublować. W pakiecie Premium może rozdzielać wydarzenia między kilka kalendarzy, na przykład po jednym na nauczyciela lub salę. Goście dostają zaproszenia tylko wtedy, gdy to włączysz. Wydarzenia trafiają na Twoje własne konto Google, na którym instalujesz i uruchamiasz skrypt; nie sprawdza on kolizji i niczego nie rezerwuje dla innych.
Co obejmuje usługa
- Co otrzymaszArchiwum ZIP z kodem Apps Script i plikiem README, który pokazuje, jak dodać go do arkusza, wybrać kalendarz i uruchomić; kod widać też na stronie zamówienia.
- Twoje kolumnyTytuł, data, początek, koniec, miejsce i opis
- Bez dubliIdentyfikator wydarzenia w wierszu wiąże go z wydarzeniem
- Twoja strefa czasowaGodziny odczytywane w ustawionej strefie czasowej
- Zaproszenia tylko na życzenieGoście są zapraszani tylko wtedy, gdy ta opcja jest włączona
- Czytelny kodZ komentarzami, łatwo później dodać kolumnę
Jak to działa
- 1ZadaniePrzysyłasz kolumny arkusza i wskazujesz kalendarz
- 2KodPiszemy skrypt i instrukcję instalacji
- 3WypróbujUruchamiasz go na kopii arkusza z kalendarzem testowym
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Nazwy kolumn Twojego arkusza i kilka wierszy (zmyślone imiona są w porządku), sposób zapisu dat i godzin, Twoja strefa czasowa i kalendarz, do którego mają trafiać wydarzenia (albo, w pakiecie Premium, kolumna, która wybiera kalendarz). Co ma się dziać, gdy wiersz się zmieni lub zostanie usunięty, i czy goście z danej kolumny mają dostawać zaproszenia. Mniej więcej ile jest wierszy i jak często arkusz się zmienia.
Zapytamy Cię:
- Co jest w arkuszu?
- Do którego kalendarza mają trafiać wydarzenia?
- Co ma się dziać, gdy wiersze się zmieniają?
- Czy zapraszać gości?
Porównaj pakiety
| Pakiety | PodstawowyWiersze na wydarzenia61 zł | StandardWydarzenia z ustawieniami125 zł | PremiumNarzędzie do kalendarza252 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Kod | do 150 wierszy | do 400 wierszy | do 1000 wierszy |
| Pliki z kodem | 1 | do 3 | do 8 |
| Plik ustawień | Nie | Tak | Tak |
| Czytelne komunikaty o błędach i log | Nie | Tak | Tak |
| Opcje uruchamiania i instrukcja uruchamiania według harmonogramu | Nie | Nie | Tak |
| Instrukcja instalacji i uruchomienia (README) | Tak | Tak | Tak |
| Język | Google Apps Script | Google Apps Script | Google Apps Script |
| Zamów Podstawowy | Zamów Standard | Zamów Premium |
Ochrona płatności
Płacisz przy składaniu zamówienia, ale pieniądze są przekazywane tylko za zaakceptowaną pracę.
- Stała cenaCena pakietu nie zmienia się po zapłacie.
- Pieniądze są zarezerwowanePrzy płatności kwota jest tylko rezerwowana. Serwis otrzymuje ją dopiero po akceptacji pracy.
- Sprawdzone przed dostarczeniemKażdy wynik przechodzi kontrolę jakości, zanim do Ciebie trafi, a przed akceptacją widzisz go na stronie zamówienia.
- Bezpłatne poprawkiProś o poprawki w ramach briefu tyle razy, ile przewiduje pakiet.
- Akceptacja po 3 dniachJeśli w ciągu 3 dni od dostarczenia pracy ani jej nie zaakceptujesz, ani nie poprosisz o poprawki, zostanie zaakceptowana automatycznie. Jeśli po dostarczeniu napiszesz na czacie zamówienia, zamówienie czeka; po naszej odpowiedzi możemy ponownie uruchomić odliczanie 3 dni i poinformujemy o tym na czacie.
- Ponowne wykonanie lub pełny zwrot pieniędzyJeśli wynik nie odpowiada Twojemu briefowi, a poprawki tego nie naprawiły, lub praca trwa ponad dwa razy dłużej niż termin, napisz na czacie zamówienia: wykonamy pracę ponownie albo zwrócimy całą płatność.
Pytania i odpowiedzi
A jeśli zmienię wiersz po utworzeniu wydarzenia?
Od pakietu Standard skrypt znajduje wydarzenie po identyfikatorze zapisanym w wierszu i je aktualizuje. W pakiecie Podstawowym wiersze, które mają już wydarzenie, są pomijane, więc zmieniasz wydarzenie w kalendarzu sam.
Czy będzie usuwać wydarzenia?
Tylko w pakiecie Premium i tylko według podanej przez Ciebie zasady, na przykład usuwając wydarzenie, gdy wiersz zostanie oznaczony jako Odwołane. Wydarzeń, których nie utworzył, nigdy nie rusza.
Czy może dodawać wydarzenia do kalendarzy moich współpracowników?
Do kalendarzy, które możesz edytować, na przykład udostępnionych, tak. W przeciwnym razie możesz zaprosić ich jako gości z kolumny, jeśli włączysz zaproszenia.
Czy dostajecie dostęp do mojego kalendarza?
Nie. Dodajesz skrypt do własnego arkusza i sam przyznajesz mu dostęp. Nigdy nie logujemy się na Twoje konto Google.
Nie ma tu odpowiedzi?


