Skocz do zawartości

Mamut Maniek

Użytkownik
  • Liczba zawartości

    1 029
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    7

Posty dodane przez Mamut Maniek

  1. Triggery są ok ale wiem, że np. Sello radzi sobie z tym super i potrafi bardzo szybko zsynchronizować towary z bazy Subiekt GT do bazy Sello. Jestem ciekaw jak oni to mają ogarnięte. Wiem, że jak zaktualizuje towar w bazie Subiekt GT przez zapytanie UPDATE to taki towar Sello nie wykryje do aktualizacji ale jak go zaktualizuje ręcznie to już tak. Więc coś pokroju mojego pomysłu z wersją towaru pewno jest zaimplementowane.

  2. Szukam optymalnego sposobu na synchronizację towarów. Chciałbym pobierać towary z Subiekt GT do mojej aplikacji ale w sposób szybki i wydajny. Niestety synchronizacja polegająca na sprawdzaniu każdego towaru i każdego jego pola jeden do jeden (symbol, nazwa, ean, producent, waga, cena itp) trwa dość długo. Zastanawiałem się, czy gdzieś w bazie Subiekt GT jest np. wersja towaru, która zmienia się na wyższy numerek dopiero po faktycznej edycji i zmianie towaru przez użytkownika. Dzięki takiemu numeru wersji można by szybko porównać ze swoją bazą czy coś trzeba aktualizować.

    Wiem, że w Sello dość dobrze to działa i ciekawi mnie jak tam działa mechanizm wykrywania towarów do aktualizacji.

    @Bartosz Rosa może podpowiesz coś?

    Niestety w Profilerze nie udało mi się znaleźć żadnej podpowiedzi.

  3. Godzinę temu, Sebastian Berezowski napisał:

    Ile wg. tych danych zajmuje tabela au__Auction?

     

    Wyniki samej tabeli au__Auction:
    zarezerwowane 91,632812
    dane: 87,609375
    Wielkość indeksu 3,492187

    Nieużywane: 0,531250

     

     

    Odchudziłem bazę już na maksa, nie wiem co mógłbym wykasować, praktycznie wszystkie zdjęcia do końca 2023 roku wykasowałem, zostały tylko używane aktualnie i z ostatnich 3 m-cy. Jak tak dalej pójdzie to używanie Sello przestanie mieć sens z powodu czysto technicznych 😜

     

    Cóż mogę jeszcze zrobić z tym fantem?

     

    Najpierw sprawdź, czy tabela au__Auction ma pole au_AllegroSKStatus
    Potem zrób kompaktowanie bazy (shrink) i sprawdź ile zajmuje baza i spróbuj zrobić jeszcze raz aktualizację i sprawdź jaki jest teraz błąd.

  4. 2 godziny temu, Bartosz Rosa napisał:

    Wygląda to jakby baza była już zaktualizowana do nowej wersji ale nie zmienił się numer wersji bazy danych. Czy jest jakiś inny błąd, który wystąpił za pierwszym razem?

    w logu za każdym razem był ten sam błąd

    zaobserwowałem tylko dziwną sytuację z kopią bazy danych, która tworzyła się za każdym razem gdy próbowałem robić aktualizację mimo, iż odstęp czasowy był niewielki (może 5-10 minut) a przecież jak aktualizacja wykryje, że jest zrobiona kopia zapasowa to nie robi jej kolejny raz chyba?

     

    Nawet jeżeli masz rację z tym, że nie zmienił się numer wersji bazy danych to jak to mogę ogarnąć? Proces aktualizacji idzie w ciągu i jak coś pójdzie nie tak to od razu baza jest przywracana to jak to ewentualnie przerwać i sprawdzić czy baza faktycznie sie zaktualizowała?

    Dodam, że aktualizacja trwa dość długo i błędu nie wywala na początku tylko gdzieś później

  5. 21 minut temu, Sebastian Berezowski napisał:

    U mnie podobnie, brak możliwości aktualizacji, która staje gdzieś w połowie i później od razu przywraca poprzednią bazę. Nam wysykakuje coś takiego:
     

    Zastosowano do podmiotu skrypt: C:\Program Files (x86)\InsERT\Sello\Skrypty\skrypt1.430_1.437.enc
    Nie powiodło się wykonanie polecenia:


    ALTER TABLE adr__Address ADD CONSTRAINT

        PK_adr__Ewid PRIMARY KEY  CLUSTERED

        (

        adr_Id

        ) ON [PRIMARY]


    Błąd 80040E14: Could not allocate a new page for database 'SIESIO' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
    Aktualizacja podmiotu nie powiodła się: 80040e14: Could not allocate a new page for database 'SIESIO' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
    Przywrócenie podmiotu powiodło się.

     

    Ty masz prostą sprawę bo pisze co go boli. Masz mało miejsca na dysku lub przekraczasz limit miejsca na bazę danych w darmowej wersji serwera SQL

    @Bartosz Rosa dasz radę pomóc w moim przypadku?

  6. Dzisiaj aktualizowałem 4 bazy Sello z 1.43.0 do 1.43.7

    3 przeszły bez problemu ale jedna nie chce.

    Dodam, że w tej jednej problemowej są już zamówienia do Słowacji (SK)

    Cytat

     

    Aktualizacja podmiotu: *** z wersji: 1.430 do wersji: 1.43.7.3916 dnia: 2024-03-14
    Zastosowano do podmiotu skrypt: C:\Program Files (x86)\InsERT\Sello\Skrypty\skrypt1.430_1.437.enc
    Nie powiodło się wykonanie polecenia:

    ALTER TABLE Tmp_au__Auction ADD CONSTRAINT
        [DF_au__Auction_au_AllegroSKStatus] DEFAULT ((3)) FOR au_AllegroSKStatus

    Błąd 80040E14: There is already an object named 'DF_au__Auction_au_AllegroSKStatus' in the database.
    Aktualizacja podmiotu nie powiodła się: 80040e14: There is already an object named 'DF_au__Auction_au_AllegroSKStatus' in the database.

     

    Jakieś pomysły jak to ogarnąć? @Bartosz Rosa ?

  7. 11 minut temu, Daniel Kozłowski napisał:

    Analogia tak, ale zupełnie inna wydajność.

    Nie widzę różnicy. Jedno i drugie zakłada blokadę przy edycji i trzeba sprawdzić wyjątek.

     

    12 minut temu, Daniel Kozłowski napisał:

    Jeśli jednak chce Pan zrobić po swojemu to proszę poznać bliżej działanie programu i mechanizmów serwera SQL, które wykorzystuje, tutaj nic nie jest tajemnicą, potrzeba tylko odpowiednią ilość czasu, aby to zrobić, ja nie miałem takiej potrzeby.

    No właśnie na tyle na ile potrafię to przybliżyłem sobie działanie programu sprawdzając po kolei każde zapytanie profilerem.

     

    17 minut temu, Daniel Kozłowski napisał:

    Jak pisałem wyżej i wcześniej, działanie programu nie jest tajemnicą, można zobaczyć jakie operacje są wykonywane na bazie danych, widać, że program sprawdza blokadę poprzez próbę jej założenia, jak też widać w ins_blokada pozostają wpisy niepowiązane z otwartymi obiektami, więc samo sprawdzenie zawartości tabeli ins_blokada nie wystarczy.

    No tak to też już wiem. Napisałem to wcześniej.

     

    Na forum napisałem z myślą, że ktoś temat rozgryzł i wie jak działa dokładnie mechanizm nakładania blokady na dokumenty i sprawdzanie tej blokady czy aktualnie jest czy jej nie ma. Komentarze typu "sprawdź sobie sam" nic nie wnoszą do wątku.

  8. 19 minut temu, Daniel Kozłowski napisał:

    Proszę korzystać ze Sfery i pomocy do niej, niektóre tematy pomocy powinny zostać przeczytane w całości przed rozpoczęciem korzystania ze Sfery, jak na przykład "Pierwsze kroki->FAQ", który odpowiada na Pana pytanie:

    Korzystam ze Sfery i pomocy do niej cały czas. Też użyłem opcji szukaj i trafiłem na ten wpis z FAQ ale to praktycznie ta sama analogia do symulacji zapisu czyli obsługa wyjątków po otwarciu dokumentu i próbie zapisu a tutaj nie o to chodzi.

    Chodzi o rozpoznanie blokady przed otwarciem/edycją dokumentu dla np. 1000 dokumentów zbiorczo w sposób szybki (np. przez odczytanie odpowiedniego pola w bazie danych serwera SQL)

     

  9. Piszę aplikację w oparciu o rozszerzenie SFERA do Subiekt GT, która zmienia opis dokumentów. Chciałbym przed wykonaniem głównej operacji sprawdzić, czy dokumenty są zablokowane (czy, któryś z dokumentów jest aktualnie otwarty na komputerze klienckim) i ostrzec użytkownika, że trzeba zamknąć te dokumenty. Niestety nie znalazłem w dokumentacji SFERY odpowiedniej informacji jak to sprawdzić. Jedyne co mi przychodzi do głowy to otwarcie każdego dokumentu i zrobienie symulacji zapisu ale to będzie bardzo długo trwało dla długiej listy dokumentów. Chciałbym za jednym razem sprawdzić czy w danej liście dokumentów istnieje jakiś, który ma blokadę (czyli ktoś aktualnie ma go otwartego w programie Subiekt GT).
    Sprawdzałem też bazę danych i tabelę ins_blokada ale tam jak pojawiają się wpisy związane z danym dokumentem to nie znikają gdy dokument się zamknie (odblokuje). Nie wiem jak interpretować wpisy z tej bazy.

    Przykładowo wywołuje takie zapytanie:

    select * from ins_blokada where obid = 8213373 and obtype = 11

    gdzie 8213373 to dok_id mojego dokumentu aktualnie otwartego, dostaje taki wynik:

    obid    obextra    obtype    workstation    username    locktime    counter
    8213373    0    11    MAMUT-PC    Mamut Maniek    2024-03-05 09:52:04.037    4

    a jak zamknę ten dokument to ten wpis nie znika tylko zmienia się counter z 4 na 3

     

    no tylko to chyba nie po tym się sprawdza blokadę? po counter bo dla innych dokumentów te wartości są inne np. 1

     

    Proszę o jakieś wskazówki i z góry dziękuję.

  10. 1 godzinę temu, HotKey . napisał:

    Fantastycznie !!!

    Czym to nagrywasz ?

    Nagrywam Action! lub OBS

     

    5 godzin temu, HotKey . napisał:

    Ja już widzę, że są białe znaki także wklejane za cyferkami, co sprawia, że jak klikniesz w tym oknie OK, to SELLO błędnie parsuje takie wklejone cyfry z białymi znakami CR+LF co sprawia, że po ponownym otwarciu okna, te wartości są niezapisane. I to jest problemem.

    Na ten problem są jakieś obejścia ale już nie zagłębiałem się

    https://stackoverflow.com/questions/14695836/ms-excel-adds-line-break-when-copying-a-cell

    • Dziękuję 2
  11. 1 godzinę temu, HotKey . napisał:

    Ja już po szerokości zaznaczenia poznaję, że masz tutaj wklejone także CR+LF i to nie jest wklejona cyfra, tylko ... no wektor [cyfra,NULL]

    Sprawdziłem przed chwilą, kliknij OK i otwórz okno i SELLO ma TABULA-RAZA nic nie pamięta z tego co wkleiłeś.

    Masakra ile razy sie na tym sparzyłęm ale teraz już wiem po 7 czy 8 latach namierzyłem boba :D

    zrobiłem test i jestem w SZOKU, faktycznie nie zapisuje wartości

     

    • Dziękuję 1
  12. 24 minuty temu, HotKey . napisał:

    Jak wklejam do Worda, to ten magiczny znak to:

    - znak konca linii

    - znak powortu karetki

     

    czyli po ludzku: ENTER, fajnie byłoby to wywalić. Ale ciekawe, że do Sello można wkleić wektor [1000,"NULL"]. Kłaniają się obliczenia macierzowe. Rozumiem, że Sello będzie liczyć w dwóch wymiarach niebawem ;)

    jaki Windows? Jaki Excel?

    jak skopiujesz z Excel wartość "1,00" to w Sello wkleja się jako "0,01"?

  13. W dniu 8.11.2023 o 12:20, Bartosz Rosa napisał:

    Hmm. I dotyczy to tylko UPSa? Nie bardzo widzę powód dla którego miałoby to nie działać tylko dla jednego kuriera. 

    Ja chyba znalazłem. Ja UPSa (Allegro Kurier UPS) oraz Allegro Kurier Pocztex (czyli te z którymi mam problem) nadaje przez WzA przez Sello. Tworząc paczki dla takich transakcji (przyciskiem Utwórz paczki) wyskakuje błąd:

    Cytat

    Nieprawidłowy rozmiar paczki dla danego typu dostawy.

    image.png.e2b02c9ff6b66293ac404fce8ed09131.png

    Dzieje się tak tylko w przypadku, gdy dla danej transakcji jest więcej niż 1 liczba paczek do utworzenia

    image.thumb.png.acc52c3d5d8b35220cda62bea2d9b07a.png

    W paczce jest jedna pozycja towary z ilością np. 4 i tyle samo jest paczek do serwisu.

    Oczywiście w transakcji jest ustawione, żeby rozdzielało towary na paczki wg serwisu.

    image.png.82b29f22d902d06bb0ca2ef0be98f7d0.png

     

    w konfiguracji WzA w Sello mam ustawione rozmiary w taki sposób (domyślny)

    image.png.1431b15a45a031b28104ff6db2cf4e0f.png

    w towarach w Sello nie mam ustawionych rozmiarów (wszystkie moje towary mają wpisane wymiary 0x0x0)

    image.png.cfa7a9e6f4cfe3f7f57c0aa102c236bb.png

     

    Próbowałem zmieniać te rozmiary paczki na 1x1x1 oraz w konfiguracji WzA też zmieniałem na rozmiar 1x1x1 ale to nic nie dało.

     

     

    Jeżeli tworze takie paczki ręcznie (przycisk Utwórz paczkę zamiast Utwórz paczki) to zmieniam liczbę sztuk w paczce na 1 dla każdej paczki i przechodzi proces prawidłowo.

     

    Dodam, że dla transakcji gdzie format wysyłki to INPOST (nadawany przez Sello), gdzie nie ma wymiarów paczki tylko gabaryty to wszystko rozdziela prawidłowo (tworzy prawidłową ilość paczek)

     

  14. 23 minuty temu, Tomek - massur napisał:

    Czy przy aktualizacji z Sello z 1.43.0 na 1.43.3 będzie wykonany też update bazy?

    nie było, też szukałem tej informacji przed aktualizacją ale nie znalazłem

    • Dziękuję 1
  15. U nas po aktualizacji z 1.43.0 do 1.43.3 nie pobiera dalej zamówień z paczko punktami. Co do zaległych to pobrało tylko część.

    image.thumb.png.7e6e544ea34a520a035e77b2b2a17fba.png

    EDIT: Jednak wszystko działa. Błędy wygenerował inny komputer ze starym Sello a dziennik otwarty był na nowym Sello. Wszystko ładnie się pobrało.

  16. 20 godzin temu, Bartosz Rosa napisał:

    Hmm. I dotyczy to tylko UPSa? Nie bardzo widzę powód dla którego miałoby to nie działać tylko dla jednego kuriera. 

    podczas tworzenia paczki wielopaczkowej (w któej jest jeden towar z ilością sztuk 3, gdzie paczek w serwisie też pokazuje 3) wyskakuje taki błąd:

    image.png.66c5486932c8c882cef7077d86aed572.png

    jak ustawie tworzenie ręcznie paczki to działa tworzenie 3 paczek (musze odejmować ilość dla każdej pojedynczej paczki, wyskakuje mi okienko do tworzenia paczki 3 -razy, prawidłowo)

×
×
  • Dodaj nową pozycję...