Jak korzystać z PolyDrobe.

Skonfiguruj przestrzeń roboczą, zamodeluj swoje zasoby i warianty, zaproś zespół i napraw błędy, które pojawiają się najczęściej.

Działanie w czterech krokach

Projekt, taksonomia, zasoby, zespół. W tej kolejności.

1

Utwórz projekt

Utwórz pierwszy projekt i ustaw czytelny slug projektu.

2

Skonfiguruj taksonomię

Skonfiguruj kategorie, rzadkości, tagi, waluty, stany i wydania.

3

Dodaj assety i warianty

Dodaj zasoby, a następnie warianty z obrazami, cenami i opcjonalnymi metadanymi.

4

Zaproś swój zespół

Zaproś zespół i przypisz role Właściciel, Redaktor lub Przeglądarka.

Wszystko, co możesz zrobić

Otwórz przepływ pracy, aby zobaczyć szczegóły.

Konfiguracja projektuNajpierw struktura, potem treść.
  • Uzupełnij dane projektu i ikonę.
  • Zdefiniuj wielokrotnie używaną taksonomię w ustawieniach projektu.
Zarządzanie zasobami i wariantamiZasób to element bazowy, wariant to wersja.
  • Dodaj metadane zasobu i przypisz kategorię/rzadkość.
  • Dołącz tekstury, obrazy i ceny dla wariantów.
Przegląd i wyszukiwanieUtrzymuj katalog czytelny i łatwy w utrzymaniu.
  • Użyj filtrów, stanu i tagów, żeby znaleźć pracę, która stoi przed tobą.
  • Sprawdzaj zmiany w dzienniku aktywności.
Import i eksportBezpiecznie wymieniaj dane z pipeline.
  • Eksportuj dane projektu do JSON lub Excela albo zaznacz Dołącz pliki multimedialne, aby pobrać paczkę ZIP z obrazami, teksturami i siatkami.
  • Importuj pliki JSON, Excel lub paczki ZIP. Każdy import zaczyna się od podglądu, więc zmiany i błędy w poszczególnych wierszach sprawdzasz przed zapisaniem czegokolwiek.
Import z Google SheetsImportuj zasoby, warianty i ustawienia projektu z natywnego arkusza Google.
  • Utwórz natywny arkusz kalkulacyjny Google (nie przesłany plik .xlsx) z jednym arkuszem na typ encji: Currencies, Rarities, Releases, Tags, Categories, Assets, Variants.
  • Wpisz dokładne nagłówki kolumn w pierwszym wierszu każdego arkusza (wielkość liter ma znaczenie). Na przykład arkusz Variants wymaga kolumn: slug, name, asset_slug, rarity, release, currency, price, description, tags.
  • Encje są importowane w kolejności zależności: Currencies, Rarities, Releases, Tags, Categories, Assets i na końcu Variants. Wszystko, do czego odwołuje się wiersz, musi już istnieć w projekcie albo pojawić się wcześniej w tym samym przebiegu.
  • W swoim projekcie otwórz stronę Wymiana danych (Import / Eksport w menu projektu), wybierz Arkusz Google jako źródło importu i połącz swoje konto Google. PolyDrobe prosi o zakres drive.file, więc odczyta tylko te pliki, które mu wskażesz.
  • W sekcji Utwórz profil nadaj profilowi etykietę, kliknij Przeglądaj, aby wybrać swój arkusz w Google Picker, popraw nazwy arkuszy, jeśli twoje karty nazywają się inaczej, i kliknij Zapisz profil.
  • Na zapisanym profilu uruchom najpierw Podgląd. To uruchomienie testowe, które zgłasza błędy walidacji i niczego nie zapisuje; Importuj wykonuje ten sam przebieg na serio.
  • Tagi zasobów i wariantów podawaj jako wartości rozdzielone średnikami: starter;seasonal=winter;limited-edition.
  • Ceny przyjmują kropkę i przecinek jako separator dziesiętny (9.99 lub 9,99). Rzadkość jest dopasowywana po nazwie, waluta po kodzie, a wydanie po numerze wersji.

Przewodniki dla deweloperów

Podłącz swoje narzędzia, agentów AI i pipeline do PolyDrobe.

Konfiguracja REST APIZintegruj się z PolyDrobe przez standardowe REST API. Dostępne w planie Pro.

1. Wygeneruj token dostępu

Przejdź do Ustawienia przestrzeni roboczej > Tokeny API i utwórz nowy osobisty token dostępu. Nadaj mu opisową nazwę (np. „CI Pipeline” lub „Local Script”), zaznacz zakresy odczytu i zapisu oraz wybierz okres ważności. Skopiuj token, gdy się pojawi, bo pokazujemy go tylko raz.

# Your token will look like this:
pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5...

# Keep it safe. You cannot retrieve it later.
# If lost, revoke it and create a new one.

2. Uwierzytelniaj żądania

Dołączaj token jako token Bearer w nagłówku Authorization przy każdym żądaniu.

curl -H "Authorization: Bearer pdtk_abc123..." \
     https://polydrobe.app/api/v1/projects/

3. Wylistuj swoje projekty

Zwraca wszystkie projekty, w których jesteś członkiem. Odpowiedź ma standardową kopertę z kluczami data i meta.

GET /api/v1/projects/

# Response:
{
  "data": [
    {
      "id": "...",
      "name": "Cyber Skins",
      "slug": "cyber-skins",
      "asset_count": 42,
      "my_role": "owner"
    }
  ],
  "meta": { "total": 1, "page": 1, "page_size": 25 }
}

4. Utwórz zasób

Utwórz zasób wewnątrz projektu. Wymaga roli Redaktor lub Właściciel. Slug powstaje automatycznie z nazwy.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Plasma Rifle", "description": "Sci-fi weapon", "category_slug": "weapons"}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/assets/

5. Utwórz wariant

Dodaj do zasobu wariant z ceną, rzadkością i stanem. Wszystkie odwołania do kluczy obcych używają slugów.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Gold Edition", "rarity_slug": "legendary", "price": "29.99", "currency_code": "USD"}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/assets/plasma-rifle/variants/

6. Wyszukuj zasoby

Pełnotekstowe wyszukiwanie w zasobach i wariantach oparte na mechanizmie PostgreSQL. Obsługuje frazy, OR i negację.

GET /api/v1/projects/cyber-skins/search/?q=gold+legendary&type=variant&limit=10

7. Operacje zbiorcze

Aktualizuj lub usuwaj wiele wariantów naraz. Wymaga funkcji Operacje zbiorcze, dostępnej w planie Pro.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"slugs": ["v1", "v2", "v3"], "updates": {"status_slug": "released"}}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/bulk/variants/update/

Dostępne endpointy

REST API sięga po wszystkie dane projektu, które przechowuje PolyDrobe: od samego katalogu po media, operacje zbiorcze, dziennik aktywności i webhooki. Grupy poniżej to pełny zestaw. Wszystkie endpointy używają adresów URL opartych na slugach.

Projects:       GET|POST /v1/projects/
                GET|PATCH|DELETE /v1/projects/{slug}/

Assets:         GET|POST /v1/projects/{slug}/assets/
                GET|PATCH|DELETE /v1/projects/{slug}/assets/{slug}/

Variants:       GET|POST /v1/projects/{slug}/assets/{slug}/variants/
                GET|PATCH|DELETE .../assets/{slug}/variants/{slug}/
                GET /v1/projects/{slug}/variants/  (flat list)

Media:          GET .../variants/{slug}/images/
                PATCH|DELETE .../variants/{slug}/images/{uuid}/
                GET .../variants/{slug}/textures/
                DELETE .../variants/{slug}/textures/{uuid}/

Bundles:        GET|POST /v1/projects/{slug}/bundles/
                GET|PUT|PATCH|DELETE /v1/projects/{slug}/bundles/{slug}/
                GET|POST /v1/projects/{slug}/bundles/{slug}/items/
                DELETE .../bundles/{slug}/items/{variant_slug}/

Collections:    GET|POST /v1/projects/{slug}/collections/
                GET|PUT|PATCH|DELETE .../collections/{slug}/
                GET .../collections/{slug}/items/
                POST .../collections/{slug}/members/
                DELETE .../collections/{slug}/members/{variant_slug}/
                POST .../collections/{slug}/duplicate/

Classification: GET|POST /v1/projects/{slug}/{categories|tags|rarities|releases|currencies|statuses}/
                PATCH|DELETE /v1/projects/{slug}/{entity}/{slug}/

Favorites:      GET /v1/projects/{slug}/favorites/
                POST|PUT|DELETE /v1/projects/{slug}/favorites/{kind}/{uuid}/

Team:           GET|POST /v1/projects/{slug}/members/
                PATCH|DELETE /v1/projects/{slug}/members/{user_id}/

Bulk:           POST /v1/projects/{slug}/bulk/variants/update/
                POST /v1/projects/{slug}/bulk/variants/delete/

Search:         GET /v1/projects/{slug}/search/?q=term&type=all
Activity:       GET /v1/projects/{slug}/activity/
Export:         GET /v1/projects/{slug}/export/?format=json
Webhooks:       GET|POST /v1/projects/{slug}/webhooks/
                PATCH|DELETE /v1/projects/{slug}/webhooks/{uuid}/
Konfiguracja serwera MCPPodłącz asystentów AI (Claude, ChatGPT) do PolyDrobe przez Model Context Protocol. Dostępne w planie Pro.

1. Wygeneruj osobisty token dostępu

Przejdź do Ustawienia przestrzeni roboczej > Tokeny API i utwórz nowy token. Nazwij go od swojego klienta AI (np. „Claude Desktop” lub „Claude Code”). Zaznacz zakresy odczytu i zapisu oraz wybierz długi okres ważności (1 rok lub bez wygaśnięcia). Skopiuj token, gdy się pojawi, bo pokazujemy go tylko raz.

# Your token will look like this:
pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5...

# Use this token in the configuration steps below.
# The same token works for both REST API and MCP server.

2. Podłącz Claude Desktop

Dodaj serwer MCP PolyDrobe do konfiguracji Claude Desktop. Otwórz plik claude_desktop_config.json i dopisz ten wpis.

{
  "mcpServers": {
    "polydrobe": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://polydrobe.app/mcp"],
      "env": {
        "MCP_HEADERS": "Authorization: Bearer pdtk_abc123..."
      }
    }
  }
}

3. Podłącz Claude Code

Dodaj serwer MCP z terminala za pomocą CLI Claude Code.

claude mcp add polydrobe \
  --transport http \
  --url https://polydrobe.app/mcp \
  --header "Authorization: Bearer pdtk_abc123..."

4. Praca lokalna (tryb stdio)

Przy pracy lokalnej uruchom serwer MCP bezpośrednio przez stdio, bez HTTP. Uwierzytelnia on z góry wskazanego użytkownika.

python manage.py mcp_stdio --user=your-username

# Claude Desktop config for local stdio:
{
  "mcpServers": {
    "polydrobe-local": {
      "command": "python",
      "args": ["manage.py", "mcp_stdio", "--user=your-username"],
      "cwd": "/path/to/polydrobe"
    }
  }
}

5. Wypróbuj

Po połączeniu zadawaj asystentowi AI pytania o dane projektu zwykłym językiem.

# Example prompts for your AI assistant:

"List all my projects"
"Show me the assets in project 'cyber-skins'"
"Create a new asset called 'Neon Jacket' in the 'outerwear' category"
"Search for legendary variants with price above 20"
"Set up categories: Headwear, Outerwear, Footwear, Accessories"
"Tag all sword assets with 'melee' and 'weapon'"
"Export the project data as JSON"
"Give me a project overview with sample thumbnails"

Dostępne narzędzia MCP

Każda operacja odczytu, zapisu, wyszukiwania i eksportu w PolyDrobe jest wystawiona jako narzędzie. Asystent AI wykrywa przy połączeniu cały zestaw, pogrupowany w kategorie, i nie musisz nic konfigurować.

Projects:       list_projects, get_project, create_project,
                update_project, delete_project

Assets:         list_assets, get_asset, create_asset,
                update_asset, delete_asset

Variants:       list_variants, create_variant,
                update_variant, delete_variant

Bundles:        list_bundles, get_bundle, create_bundle,
                update_bundle, delete_bundle, list_bundle_items,
                add_bundle_item, remove_bundle_item,
                find_bundles_containing_variant

Collections:    collections_list, collections_get,
                collections_create, collections_update,
                collections_delete, collections_add_member,
                collections_remove_member, collections_duplicate

Classification: list_categories, create_category, update_category,
                delete_category, list_tags, create_tag, delete_tag,
                list_rarities, create_rarity, list_releases,
                create_release, list_currencies, create_currency,
                list_statuses, create_status

Tags:           add_asset_tags, remove_asset_tags,
                add_variant_tags, remove_variant_tags

Favorites:      list_favorites, add_favorite,
                remove_favorite, toggle_favorite

Team:           list_members, update_member_role, remove_member

Search:         search (full-text across assets & variants)
Activity:       get_activity_log

Images:         fetch_variant_thumbnail, fetch_variant_image,
                fetch_variant_texture, set_variant_thumbnail

Bulk:           bulk_create_variants, bulk_update_variants,
                bulk_delete_variants

Data:           export_project, import_project_data

OAuth 2.1 na produkcji (zaawansowane)

W pipeline'ach CI/CD i integracjach serwer-serwer możesz użyć przepływu client credentials OAuth 2.1 zamiast osobistych tokenów. W sprawie konfiguracji aplikacji OAuth napisz do wsparcia.

# Exchange client credentials for an access token:
curl -X POST https://polydrobe.app/o/token/ \
  -d "grant_type=client_credentials" \
  -d "client_id=your-client-id" \
  -d "client_secret=your-client-secret" \
  -d "scope=read write"

# For most use cases, personal access tokens from
# Workspace Settings > API Tokens are simpler and sufficient.

Kto może co robić

Trzy role, wyznaczone według tego, co każdy musi zmieniać. Przeglądający pozostają bezpłatni.

Właściciel

Zarządza ustawieniami projektu, limitami planu i dostępem zespołu.

  • Ustawienia projektu
  • Rozliczenia
  • Zarządzanie zespołem
  • Utwórz lub edytuj assety
  • Import i eksport
  • Przeglądanie tylko do odczytu
Płatne miejsce

Redaktor

Tworzy i aktualizuje zasoby, warianty oraz dane operacyjne.

  • Ustawienia projektu
  • Rozliczenia
  • Zarządzanie zespołem
  • Utwórz lub edytuj assety
  • Import i eksport
  • Przeglądanie tylko do odczytu
Płatne miejsce

Przeglądarka

Odczytuje dane projektu do review, QA i wglądu interesariuszy.

  • Ustawienia projektu
  • Rozliczenia
  • Zarządzanie zespołem
  • Utwórz lub edytuj assety
  • Import i eksport
  • Przeglądanie tylko do odczytu
Bezpłatne miejsce

Często zadawane pytania

Czym jest PolyDrobe?
PolyDrobe to platforma do zarządzania zasobami gier: dokumentujesz w niej odzieżowe zasoby, czyli skiny, kosmetyki i akcesoria w całym projekcie gry, wersjonujesz je i pracujesz nad nimi zespołowo. Zamiast arkuszy kalkulacyjnych, od których zaczyna większość zespołów, dostajesz uporządkowaną bazę z wyszukiwaniem.
Jakimi rodzajami zasobów zarządza PolyDrobe?
PolyDrobe powstał z myślą o odzieży i przedmiotach kosmetycznych w grach: skinach postaci, strojach, akcesoriach, broniach i każdym przedmiocie, który ma kilka wariantów wizualnych. Każdy zasób może mieć wiele wariantów odpowiadających różnym kolorystykom, poziomom jakości lub wersjom sezonowym.
Czy PolyDrobe obsługuje podgląd modeli 3D?
Tak. PolyDrobe ma wbudowany podgląd modeli 3D, który renderuje pliki .glb i .gltf bezpośrednio w przeglądarce. Pliki siatek dołączysz do zasobów, a pliki tekstur do wariantów, i obejrzysz je bez wychodzenia z aplikacji.
Jak PolyDrobe wypada w porównaniu z Google Sheets przy śledzeniu zasobów gry?
Google Sheets nie ma ustrukturyzowanych typów danych, śledzenia wersji, kontroli ról ani obsługi mediów. PolyDrobe daje dedykowane pola na rzadkość, stan, cenę, wersję wydania i tagi, trzyma miniatury oraz modele 3D przy rekordzie i wymusza dostęp oparty na rolach.
Czym PolyDrobe różni się od Notion albo Airtable?
Notion i Airtable to ogólne narzędzia bazodanowe, w których schemat zasobów gry budujesz sam. PolyDrobe dostarcza ten schemat gotowy: hierarchię zasób-wariant, podgląd modeli 3D, zarządzanie teksturami, stany pipeline'u, poziomy rzadkości i wersjonowanie wydań.
Z jakimi silnikami gier działa PolyDrobe?
PolyDrobe jest niezależny od silnika. Dokumentuje i porządkuje katalog, a grę uruchamia twój silnik, więc zespoły pracujące w Unity, Unreal Engine, Godot albo własnym silniku korzystają z niego tak samo. Eksport do JSON i Excela oraz serwer MCP przenoszą dane do twojego pipeline'u.
Czy agenci AI mogą pracować na danych w PolyDrobe?
Tak. PolyDrobe ma serwer Model Context Protocol (MCP) pod adresem https://polydrobe.app/mcp. Każda operacja odczytu, zapisu, wyszukiwania i eksportu jest wystawiona jako narzędzie. Asystenci AI tacy jak Claude czy ChatGPT łączą się tokenem Bearer, a potem listują projekty, zarządzają zasobami, wariantami, pakietami i kolekcjami, konfigurują klasyfikacje, przypisują tagi, aktualizują wpisy zbiorczo i przeszukują bazę zwykłym językiem. Instrukcje konfiguracji znajdziesz w sekcji Przewodniki dla programistów.
Czym różni się REST API od serwera MCP?
Oba sięgają po te same dane przez tę samą warstwę usług. REST API używa standardowych metod HTTP (GET, POST, PATCH, DELETE) i kopert JSON, co pasuje do skryptów, pipeline'ów CI/CD i własnych integracji. Serwer MCP mówi w Model Context Protocol, więc asystenci AI tacy jak Claude czy ChatGPT pracują na twoich danych zwykłym językiem. Oba wymagają planu Pro i uwierzytelniania OAuth2.
Jak zdobyć token dostępu do API?
Przejdź do Ustawienia przestrzeni roboczej > Tokeny API i kliknij Utwórz token. Nadaj mu nazwę, zaznacz zakresy (odczyt, zapis) i wybierz okres ważności. Skopiuj token, gdy się pojawi, bo pokazujemy go tylko raz. Ten sam token działa w REST API i na serwerze MCP, a oba wymagają planu Pro.
Czy PolyDrobe wspiera pracę zespołową?
Tak. Projekt może mieć wielu członków zespołu w trzech rolach: Właściciel (pełna kontrola razem z ustawieniami i rozliczeniami), Redaktor (tworzy i aktualizuje zasoby oraz warianty) i Przeglądarka (dostęp tylko do odczytu dla QA i interesariuszy). Współpracowników zapraszasz e-mailem z ustawień projektu.
Czy każdy skin powinien być zasobem czy wariantem?
Użyj jednego zasobu dla elementu bazowego i wariantów dla kolejnych wersji.
Jak utrzymać spójne nazewnictwo?
Wprowadź jasne reguły nazewnictwa i korzystaj z URL opartych o slug.
Czy mogę udostępniać dane projektu na zewnątrz?
Tak, w planach obejmujących Wymianę danych. Na stronie Wymiana danych wyeksportujesz cały projekt do JSON lub Excela albo do paczki ZIP, która niesie też pliki multimedialne, i przekażesz go dalszym narzędziom, wydawcom lub zewnętrznym wykonawcom.
Co zawiera plan Free?
Plan Free obejmuje 1 własny projekt, do 3 członków, 1 GB przestrzeni roboczej, nieograniczone zasoby, 100 wariantów na projekt i 30 dni historii w dzienniku aktywności.
Czy miejsca w roli Przeglądarka liczą się do rozliczenia?
Nie. Do płatnych miejsc liczą się tylko role Właściciel i Redaktor. Miejsca w roli Przeglądarka są bezpłatne.
Czy PolyDrobe to produkt SaaS?
Tak. PolyDrobe to aplikacja SaaS działająca w przeglądarce pod adresem polydrobe.app. Nie musisz nic instalować. Załóż konto, utwórz projekt i od razu zacznij dodawać zasoby.
Czy mogę zaimportować do PolyDrobe istniejące dane o zasobach?
Tak. PolyDrobe importuje JSON, Excel (.xlsx), paczki ZIP z mediami obok pliku danych oraz Google Sheets. Wyeksportuj dotychczasowy arkusz w oczekiwanym formacie i zaimportuj go ze strony Wymiana danych. Każdy import zaczyna się od podglądu: przed zapisaniem zmian widzisz liczbę utworzonych i zaktualizowanych wierszy oraz błędów.
Jakich kolumn wymaga szablon importu z Google Sheets?
Każdy arkusz ma własny zestaw kolumn. Categories wymaga: slug, name, description, parent_slug. Tags wymaga: slug, name, value. Rarities wymaga: name, color (szesnastkowo #RRGGBB), priority. Currencies wymaga: code, name, symbol. Releases wymaga: version, name, description, release_date (YYYY-MM-DD). Assets wymaga: slug, name, description, category_slug, tags. Variants wymaga: slug, name, asset_slug, rarity, release, currency, price, description, tags. W nagłówkach kolumn wielkość liter ma znaczenie i muszą one stać w pierwszym wierszu. Synchronizacja z Google Sheets obejmuje te siedem typów encji; pakiety i kolekcje zaimportujesz przez przesłanie pliku Excel lub JSON.
Dlaczego import z Google Sheets zgłasza „Nie udało się wczytać metadanych arkusza”?
Plik jest najpewniej przesłanym .xlsx otwartym w Google Sheets, a nie natywnym arkuszem Google. Adres URL z fragmentem „rtpof=true” oznacza plik przesłany. Otwórz plik w Google Sheets, wybierz File > Save as Google Sheets, a potem w profilu synchronizacji kliknij Przeglądaj i wskaż przekonwertowany plik. Sprawdź też, czy podłączone konto Google może otworzyć ten arkusz.
Czy muszę łączyć konto Google osobno w każdym projekcie?
Tak. Każdy projekt wymaga własnego połączenia z Google, co utrzymuje izolację danych między projektami. Różne projekty mogą mieć różnych właścicieli i różne reguły dostępu. To samo konto Google możesz podłączyć we wszystkich projektach.

Typowe problemy

Szybkie rozwiązania najczęstszych problemów.

Brak uprawnień

Jeśli akcja jest niedostępna, sprawdź swoją rolę i poproś Właściciela o aktualizację dostępu.

Błędy walidacji importu

Przed ponownym importem sprawdź pola wymagane, slugi kategorii i wartości enum.

Problemy z uploadem mediów

Sprawdź typ pliku, rozmiar i użycie przestrzeni dyskowej względem limitów planu.

Google Sheets: „Nie udało się wczytać metadanych arkusza”

Plik jest najpewniej przesłanym .xlsx, a nie natywnym arkuszem Google. Otwórz go, wybierz File > Save as Google Sheets, a potem w profilu synchronizacji kliknij Przeglądaj i wskaż przekonwertowany plik. Sprawdź też, czy podłączone konto Google może otworzyć ten arkusz.

Google Sheets: zasoby lub warianty kończą się błędem „Tag not found” albo „Category not found”

Encje, do których się odwołujesz, muszą istnieć, zanim cokolwiek na nie wskaże. Importer przechodzi arkusze po kolei (Currencies > Rarities > Releases > Tags > Categories > Assets > Variants), więc kategoria, która się nie zaimportowała, pociąga za sobą swoje zasoby. Przeczytaj podgląd z uruchomienia testowego od góry i popraw najpierw najwcześniejszy typ encji.

Google Sheets: cena wariantu zgłasza „invalid price”

Import przyjmuje zarówno kropkę (9.99), jak i przecinek (9,99) jako separator dziesiętny. Jeśli błąd nie znika, poszukaj w komórce z ceną zbędnych znaków, symboli waluty lub spacji.

Zapytaj nas bezpośrednio.

Napisz do nas e-mail, a odpowie człowiek.