Skocz do zawartości

Czy z zaznaczonych transakcji mogę jakoś wydrukować listę towarów?

Polecane posty

Witam, mam pytanie:

 

Czy na podstawie transakcji, w module transakcje oczekujące na płatność lub do paczek mogę jakoś wydrukować listę towarów jakie zawierają te transakcje, coś jak listę magazynową z paczek.

 

Chodzi mi o to, że magazyn i biuro zaczynają pracę o tej samej godzinie czyli przychodzimy rano do firmy i w Sello jest trochę transakcji.

Teraz musimy najpierw wykonać operacje w Sello, tj. przeglądnąć formularze, potworzyć dokumenty, itd. aż do utworzenia paczki i dopiero możemy wydrukować listę magazynową i iść na magazyn po towar, żeby przynieść go sobie w całości do pomieszczenia gdzie pakujemy paczki.

Nikomu nie chce się gonić na magazyn za każdym razem po jedną rzecz. Przynosimy w całości, segregujemy na klientów i pakujemy.

 

W praktyce wygląda to tak, że pracownik magazynu żeby nie czekać, aż ktoś wykona operacje w Sello musi sobie na kartce zapisywać co ma przynieść z magazynu, a to trwa i może się pomylić i przynieść nie to co trzeba.

 

Przydałaby mi się możliwość wydrukowania zawartości transakcji zanim ktoś zacznie wykonywać operacje w Sello.

 

Może jest już gdzieś taka opcja i ją przeoczyłem, albo ktoś ma podobny system pracy i zna rozwiązanie. Od razu napiszę że magazyn nie może zaczynać pracy np godzinkę później - tego nie mogę zmienić.

 

Będę wdzięczny za wszelkie podpowiedzi. Pozdrawiam.

 

 

 

Link to postu

Niestety cały moduł wydruków jest przystosowany do pracy z paczkami, nie z transakcjami. Sugestie jakie mamy zapisane, to np dodanie znacznika paczka zapakowana, tak aby można było odróżnić paczkę "wirtualną" zrobioną na potrzeby wydruków od takiej już utworzonej.

Link to postu

Dziękuję za podpowiedzi.

Najlepiej to chyba sprawdzi się u nas rozwiązanie Patryka i dobrze by było w tej sytuacji wprowadzić ten znacznik, o którym wspomniał Bartek.

 

U nas to magazyn rzeczywiście powinien zaczynać pracę jakąś godzinkę później ;)

 

Czyli mam rozumieć że "domyślny", przewidziany przez twórców Sello :) sposób pracy z Sello wymaga:

najpierw przeprowadzenia wszelkich operacji w Sello

i dopiero gdy ma się w Sello utworzoną paczkę do wysyłki

to wtedy następuje jej fizyczne zapakowanie?

 

Czy większość z Was pracuje w ten sposób z Sello?

 

To już tylko pytam z ciekawości bo wiem że rozwiązań na pracę z Sello jest co najmniej kilka.

Pozdrawiam.

Link to postu

Czyli mam rozumieć że "domyślny", przewidziany przez twórców Sello :) sposób pracy z Sello wymaga:

najpierw przeprowadzenia wszelkich operacji w Sello

i dopiero gdy ma się w Sello utworzoną paczkę do wysyłki

to wtedy następuje jej fizyczne zapakowanie?

Żeby nie mieć dodatkowej roboty to najpierw musisz przygotować transakcję, a dopiero później utworzyć do niej paczkę - w tym momencie przepisywane są wszystkie dane (lista towarów, adres, rodzaj przesyłki) i później nie są już aktualizowane pomiędzy transakcją a paczką.  U mnie praca wygląda tak, że magazyn robi paczki wyłącznie do obsłużonych transakcji (rano do tych z poprzedniego dnia), rusza mniej-więcej tak, jak obsługa transakcji, często nawet nieco wcześniej, natomiast wysyłkę zamykamy najpóźniej o 15-15:30, a obsługę bieżącą robimy mniej-więcej do 18, więc na rano są już gotowe transakcje do przygotowania przesyłek.

Link to postu

Ile ludzi tyle sposobów...

 

U nas odbywa się to mniej więcej tak:

 

Sello -> obrobienie aukcji -> Tworzenie Paczek w programie -> druk listy magazynowej z FV i informacjami z maili -> przekazanie wydruku osobie korygującej (np; koszty wysyłki etc.) -> druk listów przewozowych -> druk paragonów -> przekazanie na magazyn :)

 

Samo obrobienie aukcji zajmuje ok. 30-40 min w przypadku 80-90 transakcji zgrupowanych, druk i kontrola ok. 30 min, drukowanie listów i potwierdzeń ok. 1 h i druk paragonów ok. 1-2h (musimy to robić ręcznie)

 

System mamy od północy do północy ;)

Link to postu

Czy ten znacznik "paczka zapakowana" zapewne z nową zakładką "Do zapakowania" byłby dla Was pomocny? Wtedy paczki po utworzeniu lądowały by w tej zakładce a dopiero po oznaczeniu "zapakowania" szły dalej - oczywiście opcja była by konfigurowalna.

 

Tak przy okazji, to można by pomyśleć jeszcze o wspomaganiu pakowania, może jakieś nowe okno ułatwiające pakowanie lub wykorzystanie czytnika kodów kreskowych?

Link to postu

druk paragonów ok. 1-2h (musimy to robić ręcznie)

Nie rozważałeś zakupu drukarki fisk. zamiast kasy? 1-2h pracy dziennie odpadają (plus korekta pomyłek, których powinno być o wiele mniej) - to konkretny koszt i zakup powinien się dość szybko zwrócić.

 

Czy ten znacznik "paczka zapakowana" zapewne z nową zakładką "Do zapakowania" byłby dla Was pomocny?

[...]

Tak przy okazji, to można by pomyśleć jeszcze o wspomaganiu pakowania, może jakieś nowe okno ułatwiające pakowanie lub wykorzystanie czytnika kodów kreskowych?

Dla mnie na dodatkowy znacznik w paczce raczej nie ułatwi pracy.  Istotniejsze, żeby zmiany danych (zwłaszcza adresowych) w transakcji przenosiły się do paczki - ale też nie jest to sprawa gardłowa.

Czytnik kodów - na ten moment trudno mi stwierdzić, czy korzystałbym z tego, ale niewykluczone.  Na pewno musiałby być dobrze zrobiony mechanizm weryfikujący zawartość przesyłek na podstawie danych z czytnika.

Link to postu

Ja stosuję zapytanie SQL, które wyciąga mi listę towarów wraz z innymi potrzebnymi danymi z transakcji w kolejności chronologicznej. Potem już można sobie skopiować do arkusza kalkulacyjnego wybrane rekordy i robić dalej, co się chce - zamówienie, czy listę do magazynu, zestawienia, etc. Podaję, może komuś się przyda:

 

SELECT it__Item.it_Name, it__Item.it_Symbol, tr__Transaction.tr_CreationDate, tr__Transaction.tr_OrigQuantity, cs__Customer.cs_Nick, it__Item.it_Producer

FROM ((tr__Transaction INNER JOIN cs__Customer ON tr__Transaction.tr_CustomerId = cs__Customer.cs_Id) INNER JOIN tr_Item ON tr__Transaction.tr_Id = tr_Item.tt_TransId) INNER JOIN it__Item ON tr_Item.tt_ItemId = it__Item.it_Id

WHERE (((tr__Transaction.tr_OrigQuantity)>=1))

ORDER BY tr__Transaction.tr_CreationDate DESC;

 

Link to postu

Czy ten znacznik "paczka zapakowana" zapewne z nową zakładką "Do zapakowania" byłby dla Was pomocny? Wtedy paczki po utworzeniu lądowały by w tej zakładce a dopiero po oznaczeniu "zapakowania" szły dalej - oczywiście opcja była by konfigurowalna.

 

Dla mnie tak, tyle że to zapytanie sql pramiza mi super spasiło więc dla mnie priorytet może być przesunięty o kilka pozycji w dół bo teraz będziemy robić tak:

1. wstępne przygotowanie na podstawie zapytania SQL i wydruku z arkusza

2. kontrola na podstawie listy magazynowej

 

Od razu zapytam jak mogę zrobić to zapytanie w formie samo wykonywalnego pliku i rezultat żeby się generował od razu w formie pliku arkusza kalkulacyjnego?

 

I stąd przyszedł mi do głowy ciekawy jeśli nie genialny pomysł

;)

 

"wbudowana w Sello odpytywarka zapytań SQL"

 

- umieściłem go w sugestiach tutaj:

 

http://forum.sello.pl/index.php?topic=5500.0

 

 

Tak przy okazji, to można by pomyśleć jeszcze o wspomaganiu pakowania, może jakieś nowe okno ułatwiające pakowanie lub wykorzystanie czytnika kodów kreskowych?

 

Bardzo dobry pomysł ale jak to zauważył tadzimir wymagający dokładnego przemyślenia kilku aspektów, np:

-kontrola kodów kreskowych na towarach (w Subiekcie do niektórych towarów jest przypisane po kilka kodów)

-kody kreskowe musiały by być zapewne w Sello - dodatkowa rozbudowa bazy

-procedura kontroli musiałaby być szybka, a jednocześnie bardzo szczelna - w końcu to kontrola, czyli żeby magazynier przypadkiem nie kliknął co nie trzeba i w razie różnic niech mu ekran miga na czerwono, buczy i brzęczy ;)

-jeśli wejdzie kontrola czytnikami to od razu można pomyśleć o generowaniu własnych kodów kreskowych do paczek lub wykorzystaniu kodów kreskowych dostawców i umieszczenie ich na wydrukach i naklejkach do paczek, czyli możliwość sprawdzenia zawartości paczki po jej kodzie kreskowym - to byłby już kosmos :o

 

Wg mnie sposób kontroli to oddzielna zakładka w paczkach "do kontroli" - otwiera się paczka, pusta lista i magazynier po kolei wczytuje kody kreskowe towarów co ma w pudełku, a Sello porównuje listę z paczki z listą wczytaną i duże kółeczko na zielono jak się zgadza lub bardzo duże kółeczko na czerwono, buczenie i brzęczenie jak się nie zgadzają listy, wraz z pokazaniem błędnych pozycji.

 

Wydaje mi się że to masa pracy :(

Link to postu

Podaję, może komuś się przyda:

 

Dzięki super sprawa, mi się bardzo przyda ale mam jeszcze 2 pytania:

 

1. Czy można ograniczyć pobieranie transakcji do np. z ostatnich 30 dni?

 

2. Czy wiesz jak mogę zrobić to zapytanie w formie samo wykonywalnego pliku i rezultat żeby się generował od razu w formie pliku arkusza kalkulacyjnego?

 

Dziękuję i pozdrawiam

Link to postu

1. Czy można ograniczyć pobieranie transakcji do np. z ostatnich 30 dni?

Da się do ograniczyć dość dowolnie - w tym wypadku klauzulę WHERE z powyższego zapytania zastąp taką:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND DATEDIFF(d, tr_CreationDate, CURRENT_TIMESTAMP) <= 30)

Sugeruję jednak inne rozwiązanie - generowanie listy tylko dla transakcji niespakowanych, czyli:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND tr_PackingComplete = 0

 

2. Czy wiesz jak mogę zrobić to zapytanie w formie samo wykonywalnego pliku i rezultat żeby się generował od razu w formie pliku arkusza kalkulacyjnego?

Najprościej byłoby napisać skrypt w VB dla Excela, który wyjmie odpowiednie dane - jednak jeśli nie masz wystarczającej wiedzy programistycznej, żeby samemu to zrobić to sugeruję jednak rozwiązanie kopiuj-wklej.  Może wygodniejsze niż korzystanie z Management Studio będzie użycie modułu Zestawienia w Sub. - dodajesz tu własne zestawienie SQL, jednak później musisz je też przekopiować do Excela dla dalszej obróbki.  Przy takim rozwiązaniu nazwy wszystkich tabel w klauzuli FROM musisz poprzedzić prefiksem "nazwa_bazy_Sello." (np. "nazwa_bazy_Sello.tr__Transaction").

Link to postu

Może wygodniejsze niż korzystanie z Management Studio będzie użycie modułu Zestawienia w Sub. - dodajesz tu własne zestawienie SQL, jednak później musisz je też przekopiować do Excela dla dalszej obróbki.  Przy takim rozwiązaniu nazwy wszystkich tabel w klauzuli FROM musisz poprzedzić prefiksem "nazwa_bazy_Sello." (np. "nazwa_bazy_Sello.tr__Transaction").

 

Nie no facet czytasz mi w myślach :)

Nie wiedziałem, że jest taka opcja w Subiekcie i będzie działać z Sello - opłaca się mieć rozwiązania od jednego dostawcy.

Mam dodane zestawienie w Subiekcie, rano je wykonuję, jest od razu opcja drukuj i magazynier bierze wydruk i idzie na magazyn.

Całość nie trwa dłużej niż minutę - dużo wygodniejsze niż SQL SMS.

"Odpytywarka" do Sello nie jest już potrzebna :D i jest to lepsze rozwiązanie niż samo wykonywalny plik.

Bardzo dziękuję za podpowiedź.

 

Trochę musiałem popróbować bo żeby zestawienie zaczęło mi działać musiałem poprzedzić nazwą bazy danych, nazwy wszystkich tabel w całym zapytaniu.

 

Dodatkowo nie wiem czemu ale nazwy moich tabel wyglądają tak

nazwa_bazy_danych.dbo.nazwa_tabeli

Skąd to dbo w nazwach wszystkich tabel ?

 

Da się do ograniczyć dość dowolnie - w tym wypadku klauzulę WHERE z powyższego zapytania zastąp taką:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND DATEDIFF(d, tr_CreationDate, CURRENT_TIMESTAMP) <= 30)

 

Tutaj w SQL SMS wyskoczył mi błąd i musiałem końcówkę wpisać tak:  <= (30)) żeby mi działało zestawienie.

 

Sugeruję jednak inne rozwiązanie - generowanie listy tylko dla transakcji niespakowanych, czyli:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND tr_PackingComplete = 0

 

Dzięki połączonej mocy Pramiza i Twojej otrzymuję to czego dokładnie potrzebuję ale nie działa to tak jakbyśmy wszyscy chcieli :(

 

Po wykonaniu tak zmodyfikowanego zapytania, zwracane są wszystkie transakcje, do których nie utworzono paczek czyli również te:

-anulowane,

-wchodzące w grupę transakcji,

Chyba, że ja coś źle robię ?

 

Zastanawiałem się jak to ugryźć i wydaje mi się, że żeby to zapytanie pokazywało tylko rzeczywiście listę transakcji niespakowanych to transakcja musiałaby spełniać kilka warunków ale nie znam się na SQL i nie wiem jakie dane udostępnia Sello.

Wydaje mi się że można by to osiągnąć tak - transakcje które spełniają wszystkie te warunki lub może tylko dwa pierwsze by wystarczyły:

-paczka nie spakowana i

-transakcja nowa lub w trakcie realizacji i (nie wiem w którym momencie transakcja zmienia status z nowa na w trakcie realizacji)

-transakcja nie należąca do grupy i

-transakcje np. z ostatnich dwóch dni żeby nie przeszukiwać wszystkich transakcji

Po łącznym spełnieniu tych warunków pokazywałyby się chyba tylko transakcje nie spakowane.

 

Jeśli mógłby ktoś pomóc i napisać takie warunki łącznie lub zna jakąś inną opcję pokazania transakcji nie spakowanych to byłbym bardzo wdzięczny.

 

BARDZO DZIĘKUJĘ za już i pozdrawiam.

 

Link to postu

druk paragonów ok. 1-2h (musimy to robić ręcznie)

Nie rozważałeś zakupu drukarki fisk. zamiast kasy? 1-2h pracy dziennie odpadają (plus korekta pomyłek, których powinno być o wiele mniej) - to konkretny koszt i zakup powinien się dość szybko zwrócić.

 

Mamy drukarki fiskalne nawet 2... ale to już nie ode mnie zależy :)

Link to postu

Dodatkowo nie wiem czemu ale nazwy moich tabel wyglądają tak

nazwa_bazy_danych.dbo.nazwa_tabeli

Skąd to dbo w nazwach wszystkich tabel ?

Fakt, zapomniałem o tym.  Jak zajrzysz do Management Studio to łatwo zobaczysz, że wszystkie tabele w bazie Sub. i Sello (i chyba wszystkich bazach MS SQL) mają taki prefiks.  Najwyraźniej przy dostępie do bieżącej bazy danych (tzn. bez prefiksowania nazw tabel nazwą bazy) można to pominąć, w przypadku używania prefiksów już nie.  Nie znam na tyle dobrze mechanizmów MS SQLa, żeby wyjaśnić, dlaczego tak...

 

Da się do ograniczyć dość dowolnie - w tym wypadku klauzulę WHERE z powyższego zapytania zastąp taką:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND DATEDIFF(d, tr_CreationDate, CURRENT_TIMESTAMP) <= 30)

 

Tutaj w SQL SMS wyskoczył mi błąd i musiałem końcówkę wpisać tak:  <= (30)) żeby mi działało zestawienie.

Musiałeś coś jeszcze zmienić.  Liczba absolutnie nie musi znajdować się w nawiasie, natomiast faktycznie w podanej przeze mnie klauzuli jest błąd - niepotrzebne zamknięcie nawiasu na końcu (nie jest on wcześniej otwarty).

 

Sugeruję jednak inne rozwiązanie - generowanie listy tylko dla transakcji niespakowanych, czyli:

WHERE tr__Transaction.tr_OrigQuantity >= 1 AND tr_PackingComplete = 0

 

Dzięki połączonej mocy Pramiza i Twojej otrzymuję to czego dokładnie potrzebuję ale nie działa to tak jakbyśmy wszyscy chcieli :(

 

Po wykonaniu tak zmodyfikowanego zapytania, zwracane są wszystkie transakcje, do których nie utworzono paczek czyli również te:

-anulowane,

-wchodzące w grupę transakcji,

Chyba, że ja coś źle robię ?

No tak - tak to jest, jak się pisze takie zapytania "na sucho", bez sprawdzenia, jak to faktycznie działa - łatwo wtedy o tego typu błędy.  Wpisz tak:

 

WHERE tr_OrigQuantity >= 1 AND tr_PackingComplete = 0 AND tr_Grouped = 0 AND tr_Complete IN (0, 1)

 

Jeśli dodatkowo chcesz ograniczyć czasowo zakres transakcji (chociaż nie powinno to być potrzebne przy takich warunkach) to dopisz na końcu

AND DATEDIFF(d, tr_CreationDate, CURRENT_TIMESTAMP) <= liczba_dni

 

Ponownie pisałem "na sucho" (sorki, jednak jest szybciej ;)), więc jak coś nie będzie działać jak powinno to pisz.

Link to postu
  • 4 miesiące temu...

Czy ten znacznik "paczka zapakowana" zapewne z nową zakładką "Do zapakowania" byłby dla Was pomocny? Wtedy paczki po utworzeniu lądowały by w tej zakładce a dopiero po oznaczeniu "zapakowania" szły dalej - oczywiście opcja była by konfigurowalna.

 

Tak przy okazji, to można by pomyśleć jeszcze o wspomaganiu pakowania, może jakieś nowe okno ułatwiające pakowanie lub wykorzystanie czytnika kodów kreskowych?

 

Czy temat kontroli pakowania z kodami kreskowymi jest gdzieś na tapecie, czy to umarło?

Byłaby to ultra-pomocna funkcja.

 

Pozdrawiam

Link to postu
  • 2 lata później...

W Excelu można wykonywać zapytania SQL.

 

Nie testowałem zaproponowanego tutaj kodu, ale inny kod wyciągający dane z Sello z powodzeniem wykorzystuję w Excelu.

 

Jeżeli ktoś potrzebuje mieć dane do dalszej obróbki to jest to rozwiązanie najlepsze i w dodatku szybkie, bo ustawia się raz, a potem tylko "Odśwież".

 

Robi się to na zakładce "Dane" w Excelu.

Link to postu
  • 1 miesiąc temu...

Panowie mam pytania jeszcze o tabele z bazy Sello aby dodać je do zestawień Subiekta.

 

1. Jeżeli mam nazwę bazy np. ABC 123 (czyli ze spacją w środku) w jaki sposób muszę dodać prefix bazy?

 

Wyczytałem, że należy wpisać nazwę w nawiasy kwadratowe []. Czyli jej nazwa miałaby wyglądać na przykład tak:

 

[ABC 123].dbo.it__Item.it_Name

 

2. Czy w całym poleceniu muszę do każdej tabeli dodawać [ABC 123].dbo.  czy tylko w jakimś fragmencie np. SELECT albo FROM ?

 

Przepraszam ale nie jestem zbyt mocny w MSSQL.

 

 

 

Link to postu

Lista porad pkt 4.11 - przykładowe zestawienie. Nazwę bazy danych Sello wprowadziłem przed nazwą każdej tabeli normalnie, czyli bez nawiasów kwadratowych, bez polskich znaków, itd. - dokładnie tak jak ją widzi program serwisowy Sello. Przykładowo tak:

 

nazwa_bazy_sello.dbo.it__Item.it_Name

 

Najlepiej robi się to przez MSQL Server Management Studio bo w nim sobie w drzewku możesz podglądnąć wszystkie tabele.

 

Zapewne dałoby się to zrobić jakoś inaczej ale prościej mi było wkleić nazwę bazy przed nazwę każdej tabeli ;)

Link to postu

Pisałem o nawiasach ponieważ u nas baza ma nazwę ze SPACJĄ w środku więc jest to różnica czy będzie np ABC 123.bdo.it__Item.it_Name czy też będzie [ABC 123].bdo.it__Item.it_Name

A ja pisałem Ci że wprowadziłem nazwę bazy danych tak jak ją widzi program serwisowy Sello, a on zamienia on wszystkie spacje na podkreślniki _ ;)

 

Czyli dla Twojego przykładu wprowadziłem ją tak:

ABC_123.dbo.it__Item.it_Name :)

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...