Ten wpis jest nieco bardziej specjalistyczny. Omawia często spotykaną w naszej pracy historię. Sprzedajemy produkty online za pomocą sklepów opartych o platformę IdoSell (wcześniej IAI-shop). Często wprowadzamy dostawy od różnych producentów. Bywa, że dokumenty zamówień są bardzo obszerne. Przepisywanie ręczne ilości i rozmiarów łatwo prowadzi do pomyłek. Dlatego pomagamy sobie częściową automatyzacją tego procesu.
Poniżej mamy przykładowe tabele z dostawami. Są stosunkowo małe, ale wystarczą do pokazania mechanizmu. Tabele i wszystkie funkcje można znaleźć w pliku roboczym w Arkuszach Google.
Widoczny poniżej, popularny format zapisywania zamówień i dostaw. Jest czytelny dla oka, ale nie nadaje się do szybkiego wprowadzenia do systemu..

Żeby tabela mogła być wykorzystana – musimy wzbogacić ją o kody czytelne dla Panelu IdoSell. W tym celu dopisuję kody produktów, oraz kody rozmiarów (W naszym przykładzie wyświetlane są domyślne kody z Panelu, jeśli używacie innego zestawu rozmiarów – kody można podejrzeć w dziale Produkty —> Rozmiary i wejść w ustawienia rozmiaru:

Po dopisaniu kodów nasza tabela dostawy wygląda tak:

Format wprowadzania produktów
IdoSell pozwala wprowadzać produkty “z palca”, wklejając dane z innej aplikacji lub wgrywając je w formacie .csv
Istotne jest, że dane muszą mieć format:
[Id produktu]-[Id rozmiaru];[ilość];[cena]
[Id produktu]-[Id rozmiaru];[ilość];[cena]
[Id produktu]-[Id rozmiaru];[ilość];[cena]
itd….
Czyli 1 szt. produktu koszulka1 (Id 345) w rozmiarze S i w cenie zakupu 29zł będzie miała kod:
345-3;1;29
Czyli musimy doprowadzić nasz arkusz i do postaci akceptowanej przez Panel i wkleić na kartę dostawy:

W helpie Panelu ten format jest szerzej omówiony – ja się skupię na użyciu go z Arkuszami Google.
Przerabiamy tabelę na format dostaw IdoSell
Skoro mamy już tabelę z dostawionymi kodami, czas przerobić dane. Sklejamy zatem wartości poszczególnych komórek i tworzymy nową tabelę, już z kodami w odpowiedniej składni. Pierwszy jej element widzicie w N6:

Ponieważ ta formuła będzie przeciągana na całą tabelę, muszę użyć częściowo adresowania bezwzględnego ($), żeby odwołania do kodów mi się nie pogubiły:

Ostatni etap to upakowanie wszystkich kodów i rozdzielenie ich enterami. W tym celu użyję funkcji textjoin (opisanej w osobnym wpisie) i znaku char(10)
, który jest symbolem końca linii.

Tak spreparowany materiał możemy wkleić do okienka importu lub zapisać w formacie .csv. Przy wklejaniu należy uważać, bo na początku i końcu dodawany jest “. Żeby dostawa była poprawnie przyjęta, te cudzysłowy muszą zostać usunięte.

Ograniczeniem tej metody jest pojemność jednej komórki w Arkuszach Google. Maksymalnie można zmieścić 50 000 znaków, czyli listę składającą się z kilkunastu tysięcy pozycji. Jeśli ktoś utknie to mogę opisać jak to obejść – proszę dać znać w komentarzu.