-
Liczba zawartości
1 053 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
7
Zawartość dodana przez Mamut Maniek
-
Rozszerzenie Sfera dla Subiekt GT - Adres dostawy dokumentu
Mamut Maniek odpowiedział Mamut Maniek → na temat → Forum użytkowników - InsERT GT - Subiekt GT
W sumie jeszcze przydało by się odczytać adres dostawy (id) z kontrahenta i przypisać go do dokumentu ale nie wiem jak to odczytać. Próbowałem tak: $oKontrahent.AdrDostId $oKontrahent.AdresDostawyId ale nie działa to działa ale zwraca True a nie ID $oKontrahent.AdresDostawy -
Rozszerzenie Sfera dla Subiekt GT - Adres dostawy dokumentu
Mamut Maniek odpowiedział Mamut Maniek → na temat → Forum użytkowników - InsERT GT - Subiekt GT
Rozszyfrowałem plik GTA64.dll i tam znalazłem właściwości (property) dla obiektu SuDokument o nazwie AdresDostawyId, czyli wystarczy znać Id adresu i przypisać do tej właściwości, np: $oDokument.AdresDostawyId = 9479 $oDokument.Zapisz Szkoda, że takich danych nie ma w pliku pomocy -
macie zrobione jakieś dodatkowe indeksy? U mnie poniższe zapytanie: SELECT COUNT(dok_Id) FROM dok__dokument WHERE dok_MagId = 1 and dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) in (65536,65538,65537,131072,131073,131074,131075,131076,131077,1900544,393216,393217,393218,327680,327681,589824,1376256,1376258,1376257,1376259,655360,655362,655361,786432,851968,262144,196608,2228224,720896,720898,720897,983040,1048576,1048577,2293760,2359296,917504,917505,3997696,3997697) AND dok_typ = 2 AND dok_DataWyst BETWEEN '2025-07-01' AND '2025-07-31' wykonywało się ponad 6-minut, wynik to 37637 W tabeli dok__Dokument jest ponad 9-milionów wpisów Skąd takie różnice? Na tej tabeli Indeksy zostały odbudowane, statystyki reorganizowane z opcją full scan. Co jeszcze mogę tutaj zrobić? Jakiś pomysł? Możesz mi przesłać swój execution plan w XML dla tego zapytania? Chciałem porównać ze swoim Trzeba uruchomić osobno polecenia (w tym samym oknie) SET SHOWPLAN_XML ON SELECT COUNT(dok_Id) FROM dok__dokument WHERE dok_MagId = 1 and dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) in (65536,65538,65537,131072,131073,131074,131075,131076,131077,1900544,393216,393217,393218,327680,327681,589824,1376256,1376258,1376257,1376259,655360,655362,655361,786432,851968,262144,196608,2228224,720896,720898,720897,983040,1048576,1048577,2293760,2359296,917504,917505,3997696,3997697) AND dok_typ = 2 AND dok_DataWyst BETWEEN '2025-07-01' AND '2025-07-31' SET SHOWPLAN_XML OFF
-
u mnie nie zrobiło to znaczenia, tak samo długo się wczytuje zapytanie, dopiero usunięcie warunku z dbo.fnMAKE_DOKPARAM drastycznie przyspiesza wykonanie zapytania SELECT dok_Id AS [#id], dok_NrPelny FROM dok__dokument WHERE dok_MagId = 1 and dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) in (65536) AND ((dok_typ = 2) and dok_KatId = 29 and CAST(dok_DataWyst AS DATE) BETWEEN '2025-07-01' AND '2025-07-31' and dok_MagId = 1) -- 11s SELECT dok_Id AS [#id], dok_NrPelny FROM dok__dokument WHERE dok_MagId = 1 and dbo.fnMAKE_DOKPARAM(2, dok_Podtyp) in (65536) AND ((dok_typ = 2) and dok_KatId = 29 and CAST(dok_DataWyst AS DATE) BETWEEN '2025-07-01' AND '2025-07-31' and dok_MagId = 1) -- 11s SELECT dok_Id AS [#id], dok_NrPelny FROM dok__dokument WHERE dok_MagId = 1 and ((dok_typ = 2) and dok_KatId = 29 and CAST(dok_DataWyst AS DATE) BETWEEN '2025-07-01' AND '2025-07-31' and dok_MagId = 1) -- <1s
-
Używam rozszerzania Sfera dla Subiekt GT do eksportu dokumentów do pliku. Mam problem wydajnościowy z takim kodem Local $filtrKolekcji = "(dok_typ = 2) and dok_KatId = 29 and CAST(dok_DataWyst AS DATE) BETWEEN '2025-07-01' AND '2025-07-31' and dok_MagId = 1" Local $oDokumentKolekcja = $g_oSubiekt.SuDokumentyManager.OtworzKolekcje($filtrKolekcji) Log(Local $oDokumentKolekcja.Liczba) // ta linijka kodu wczytuje się bardzo długo Local $sciezkaPlikuDoZapisu = "D:\eksport.epp" $oDokumentKolekcja.ZapiszDoPliku($sciezkaPlikuDoZapisu, False, "") // ta linijka kodu wczytuje się bardzo długo Obiekt kolekcji (.OtworzKolekcje) wczytuje się bardzo szybko ale potem wykonywanie metod na tym obiekcie (np. Liczba, ZapiszDoPliku) trwa bardzo długo. Dla kolekcji gdzie są 2-dokumenty operacja (.Liczba) trwa 6-sekund. Dla dużych zbiorów trwa to bardzo długo i wywala błąd 0x80020009 (Wystąpił wyjątek) który zakładam, że dotyczy timeout-u. Skąd tak duże czasy? Gdy wczytam te dokumenty zapytaniem SQL to setki dokumentów z pełnymi informacjami wczytują się poniżej sekundy. Jest to bardzo uciążliwe bo dla wielu typów dokumentów trwa to bardzo długo (kilka godzin). Szukam sposobu na przyspieszenie tej operacji lub zrozumienie dlaczego to tak wolno trwa. Próbowałem podejrzeć w profilerze jak te zapytania są budowane i dla mojego kodu znalazłem bardzo ciężkie zapytanie: SELECT dok_Id AS [#id], dok_NrPelny FROM dok__dokument WHERE dok_MagId = 1 and dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) in (65536,65538,65537,131072,131073,131074,131075,131076,131077,1900544,393216,393217,393218,327680,327681,589824,1376256,1376258,1376257,1376259,655360,655362,655361,786432,851968,262144,196608,2228224,720896,720898,720897,983040,1048576,1048577,2293760,2359296,917504,917505,3997696,3997697) AND ((dok_typ = 2) and dok_KatId = 29 and CAST(dok_DataWyst AS DATE) BETWEEN '2025-07-01' AND '2025-07-31' and dok_MagId = 1) Nie wiem dlaczego tam jest podanych tak dużo typów dokumentów i skąd Sfera takie podała, to zapytanie faktycznie bardzo długo się wykonuje i nie wiem jak je zoptymalizować. Poniżej znajduje się zrzut ekranu z EXECUTION PLAN dla tego zapytania (mocno uproszczonego – pozostawiłem tylko jeden element w tablicy przekazywanej do funkcji fnMAKE_DOKPARAM, która swoją drogą, prawdopodobnie jest winowajcą w tej sytuacji):
-
Rozliczenie faktury za pobraniem
Mamut Maniek odpowiedział Mamut Maniek → na temat → Forum użytkowników - InsERT GT - Subiekt GT
no właśnie przed chwilą na to wpadłem, nie wiem co mnie przyćmiło, chyba za długo przed komputerem 😅 -
Rozliczenie faktury za pobraniem
Mamut Maniek odpowiedział Mamut Maniek → na temat → Forum użytkowników - InsERT GT - Subiekt GT
Udało mi się rozliczyć należność (którą wygenerowała faktura sprzedaży) ale nie mogę sobie poradzić z zobowiązaniem które wygenerowała korekta. Rozumiem, że schemat będzie podobny i trzeba będzie dodać operacje bankową ale nie BP (bank przyjął) tak jak to było w przypadku należności tylko BW (bank wydał) ale jak po wczytaniu dokumentu określić na obiekcie sferycznym FinDokument czy to jest należność czy zobowiązanie? Przepatrzyłem wszystkie metody obiektu FinManager ale nie mogłem znaleźć. Mógłbym sobie wcześniej sprawdzić czy dokument to korekta ale korekta może wygenerować i należność i zobowiązanie zależy co robi. W moim wcześniejszym poście opisałem schemat rozliczania należności i teraz potrzebuje między punktem 2 i 3 sprawdzić jakiego typu jest wczytany rozrachunek. -
Wyłączenie szukania kontrahenta po numerze NIP
Mamut Maniek dodał temat → w Forum użytkowników - Sello - Pomocna dłoń
Mam taki problem, że jak utworzę nowego kontrahenta w Subiekt GT z danym numerem NIP to potem jak stworzy się dokument dla zamówienia w Sello z kontrahentem, który ma ten sam numer NIP to w zależności od ustawień w Sello albo zaktualizuje tego kontrahenta w Subiekt GT wg danych z transakcji Sello albo wstawi do dokumentu dane, które były pierwotnie. Chciałbym, żeby żaden ze scenariuszy się nie wydarzył i żeby Sello utworzyło nowego kontrahenta i nie aktualizowało istniejącego. Czy da się tak ustawić? Niech Sello nie szuka kontrahenta o takim samym numerze NIP @Bartosz Rosa -
Dzisiaj trafiliśmy na taki problem, że po wgraniu zdjęcia do towaru, nie da się przeglądać zakładki ZDJĘCIA w oknie towaru - okno z towarem znika a w niektórych przypadkach całe Sello się zamyka. Zerknąłem do bazy i wygląda na to, że miniaturka się nie wgrała do bazy. SELECT * FROM im__Image WHERE im_Id IN (SELECT pc_PictureId FROM it_ItemPictures WHERE pc_ItemId = (SELECT it_Id FROM it__Item WHERE it_Symbol = 'xxxxx')) Zdjęcie, które tam wgrywałem miało szerokość 1168px a wysokość to 5px (taka graficzna kreska oddzielająca działy) i zakładam, że właśnie ta mała wysokość jest problemem i Sello nie radzi sobie z wygenerowaniem miniaturki. (W programie przydałby się być warunek, że jak nie ma danych w im_Preview to żeby się "nie wysypywał") Póki co poradziłem sobie z problemem wykonując takie zapytanie, które wstawia w puste miniaturki jakiś taki kwadracik mały graficzny, żeby cokolwiek tam było i żeby dało się otworzyć zakładkę ZDJĘCIA: UPDATE im__Image SET im_Preview = 0x89504E470D0A1A0A0000000D494844520000001E0000001E0802000000B45239F5000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000004A49444154484BEDD6B10A0020088461AFF77F6713723A5B821C84FB20B0E51F72C9FA208EBB9FCB4700568E0D94269735C606727A51237A6BA234519A284D942633D3FA2C9099E936661BA5130C36F6BFFFDA0000000049454E44AE426082 WHERE im_Preview is NULL
-
Instalacja Sello przez PowerShell
Mamut Maniek odpowiedział Marcin N → na temat → Forum użytkowników - Sello - Nowości i sugestie
Trochę rozgryzłem problem. Jeśli chodzi o listę argumentów dla setup.exe to wygląda to tak: Okazuje się, że instalacja Subiekt GT w trybie silent odbywa się tak samo jak dla Sello. Nie udało mi się tylko rozgryźć jak instalować konkretne pakiety (np. wykluczyć Kasiarza itp) Poniżej przedstawiam kod skryptu w PowerShell dla automatycznej instalacji Sello oraz SubiektGT (silent mode): <# W celu uruchomienia skryptu w Windows, klikamy START, wpisujemy ISE i na znalezionym programie o nazwie "Windows PowerShell ISE" klikamy prawym przyciskiem myszy i wybieramy "Uruchom jako administrator". Uwaga! Domyślnie wykonywanie skryptów PowerShell jest zablokowane. W celu tymczasowego odblokowania wykonywania skryptów należy w osobnej zakładce wykonać poniższy kod: Set-ExecutionPolicy Bypass -Scope Process Potem możemy już wkleić cały ten kod i uruchomić. Pobierze i zainstaluje się Sello i Subiekt GT (linki w zmiennej DownloadUrl można zmienić na inne wersje) #> #Definiowanie folderu tymczasowego (tam zostanie pobrany plik instalacyjny z internetu i zostanie tam rozpakowany) $TempInstallFolder = "C:\_TempInstallFolder" # Definiowanie programów do instalacji (nazwa i link, w celu pobrania innej wersji wystarczy z linku skasować nazwę pliku i wyświetli się cała lista dostępnych instalatorów różnych wersji) $Programs = @( @{ Name = "Sello" DownloadUrl = "http://ftp.insert.com.pl/pub/aktualizacje/Sello/Sello_1_44_0.exe" }, @{ Name = "SubiektGT" DownloadUrl = "https://ftp.insert.com.pl/pub/aktualizacje/InsERT_GT/InsERT_GT_1_75_SP1.exe" } ) # Sprawdzanie, czy PowerShell jest uruchomiony z uprawnieniami administratora $isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if ($isAdmin) { Write-Host "PowerShell uruchomiony z uprawnieniami administratora." } else { Write-Host "PowerShell nie uruchomiony z uprawnieniami administratora. Uruchom skrypt ponownie jako administrator." Exit 1 } # Funkcja pobierająca i instalująca program function Install-Program { param ( [string]$ProgramName, [string]$DownloadUrl ) # Wyciąganie nazwy pliku z linku $DownloadFileName = [System.IO.Path]::GetFileName($DownloadUrl) #$DownloadFileName = Split-Path $DownloadUrl -Leaf $TempProgramFolderPath = "$TempInstallFolder\$ProgramName" $DownloadFilePath = "$TempProgramFolderPath\$DownloadFileName" # Tworzenie folderu tymczasowego, jeśli nie istnieje New-Item -Path $TempProgramFolderPath -ItemType directory -Force # Sprawdzanie, czy plik został już pobrany if (-not (Test-Path $DownloadFilePath)) { Write-Host "Pobieranie pliku instalacyjnego..." try { Invoke-WebRequest -Uri $DownloadUrl -OutFile $DownloadFilePath Write-Host "Pobieranie zakończone pomyślnie." } catch { Write-Host "Błąd podczas pobierania pliku: $_" Exit 1 } } else { Write-Host "Plik już istnieje, pomijam pobieranie. $DownloadFilePath" } # Sprawdzanie, czy plik instalatora istnieje przed uruchomieniem if (Test-Path $DownloadFilePath) { Write-Host "Wypakowywanie instalatora..." try { Start-Process -FilePath $DownloadFilePath -ArgumentList "/extract_all:$TempProgramFolderPath" -Wait #& $DownloadFilePath "/extract_all:$TempProgramFolderPath" -Wait Write-Host "Wypakowano pliki." } catch { Write-Host "Błąd podczas wypakowywania instalatora: $_" Exit 1 } } else { Write-Host "Plik instalatora nie istnieje. $DownloadFilePath" Exit 1 } # Wyszukiwanie setup.exe w wypakowanych plikach $setupFile = Get-ChildItem -Path $TempProgramFolderPath -Filter "setup.exe" -Recurse | Select-Object -First 1 if ($setupFile) { # Uruchomienie setup.exe i czekanie na zakończenie instalacji Write-Host "Instalowanie programu $ProgramName..." Start-Process -FilePath $setupFile.FullName -ArgumentList '/s', '/v"/qn"' -Wait Write-Host "$($setupFile.FullName) installation complete." } else { Write-Host "setup.exe nie znaleziono w $TempProgramFolderPath" } # Czyszczenie plików tymczasowych Write-Host "Czyszczenie plików tymczasowych..." try { Remove-Item -Path $TempProgramFolderPath -Recurse -Force Write-Host "Pliki tymczasowe zostały usunięte." } catch { Write-Host "Błąd podczas usuwania plików tymczasowych: $_" } } # Instalacja każdego z programów po kolei foreach ($program in $Programs) { Write-Host "Rozpoczęto przetwarzanie programu $($program.Name)..." Install-Program ` -ProgramName $program.Name ` -DownloadUrl $program.DownloadUrl Write-Host "Zakończono przetwarzanie programu $($program.Name)." Remove-Item -Path $TempInstallFolder -Recurse -Force } -
Problem z tworzeniem etykiety orlen paczka
Mamut Maniek odpowiedział Michał Pyrek → na temat → Forum użytkowników - InsERT nexo - Sello NX
W jakiej aplikacji nadajesz paczki? Na załączonym zrzucie pisze że w paczce jest błędny adres e-mail -
Sello - praca zdalna
Mamut Maniek odpowiedział Zdzisław Bal → na temat → Forum użytkowników - Sello - Pomocna dłoń
tylko pulpit zdalny -
Dodanie kategorii - błąd
Mamut Maniek odpowiedział Marek Kolmer → na temat → Forum użytkowników - InsERT GT - Subiekt GT
W rozszerzeniu Sfera Dla Subiekt GT nie ma opcji dodania nowej kategorii. Można to zrobić zapytaniem do bazy danych: DECLARE @NewKatId INT EXEC spIdentyfikator 'sl_Kategoria',1,@NewKatId OUTPUT INSERT INTO sl_Kategoria ("kat_Id","kat_Nazwa","kat_Typ","kat_Podtytul") VALUES (@NewKatId,'nazwa_dodawanej_kategorii',2,'podtytul_dodawanej_kategorii') -
Integracja Sello z Baselinkerem
Mamut Maniek odpowiedział Przemysław Kitowski → na temat → Forum użytkowników - Sello - Pomocna dłoń
Jeśli pytasz czy da się coś takiego zrobić to jak najbardziej. Trzeba napisać aplikację która odczyta zamówienia z bazy danych Sello i wyśle je przez API do Baselinker. -
https://www.w3schools.com/sql/sql_like.asp No właśnie na tego LIKE trzeba bardzo uważać. Ja też kiedyś po czasie zorientowałem się jak działa ten znak "podłogi" i potem musiałem przepatrzeć wszystkie zapytania, które napisałem, które zawierały frazę LIKE i dodać frazę ESCAPE Jeszcze proszę potwierdź, czy domyślny prefiks w Sello dla nowego kontrahenta to właśnie `Sello_` ?? Bo zastanawiam się czy kiedyś tego sam nie wpisałem czy po prostu było tak od zawsze.
-
Wykonałem to zapytanie: UPDATE STATISTICS dok__Dokument WITH FULLSCAN i pomogło Dodatkowo przeglądałem w raportach bazy danych oczekujące transakcje i natrafiłem na sesje dotyczącą programu ".Net SqlClient Data Provider". To nie czasem proces powiązany z Sello, które łączy się Subiekt GT? Zmartwiło mnie zapytanie, które tam się wyświetliło czyli: SELECT * FROM kh__Kontrahent WHERE kh_Symbol LIKE 'Sello_Client:123456789' jest ono trochę nie wydajne, bo znak "_" jest traktowany w formule LIKE jako jeden JAKIKOLWIEK znak i np. takie zapytanie wykonuje się kilka sekund Sprawdziłem to samo zapytanie tylko wyeskejpowane czyli: SELECT * FROM kh__Kontrahent WHERE kh_Symbol LIKE 'Sello\_Client:123456789' ESCAPE '\' i wykonało się "od strzała" Wiem, że Sello już nie jest aktualizowane ale zostawiam to jako taki opis mojej analizy. Zmieniłem też w Sello przedrostek dla kontrahentów w Subiekt GT i na dla przyszłych transakcji już powinno być ok. Zamiast dałem
-
[Sfera dla Subiekt GT] Metoda ZapiszSymulacja zapisuje numer dokumentu
Mamut Maniek odpowiedział Mamut Maniek → na temat → Forum użytkowników - InsERT GT - Subiekt GT
W takim razie myślę, że dobrze było by o tym wspomnieć w pliku pomocy dla metody ZapiszSymulacja -
Po wykonaniu metody ZapiszSymulacja na obiekcie SuDokument, atrybut NumerPelny zostaje uzupełniony. Czy to jest prawidłowe działanie? Zorientowałem się o tym w sytuacji, gdy po symulacji nie doszło finalnie do zapisu dokumentu (metoda Zapisz nie została wywołana) natomiast warunek sprawdzający atrybut NumerPelny wykrył wpisaną wartość (atrybut Identyfikator był null - prawidłowo)
-
Co jakiś czas dostaje taki błąd. Ktoś się spotkał z podobnym problemem? Robię odbudowę indeksów i statystyk na bazie danych ale to nic nie daje. Pełna wersja serwera SQL ma zapas zasobów (CPU, RAM, HDD). Tabele z identyfikatorami nie mają błędów w bazie Sello. Ogólnie kiedyś robiliśmy tak, że na kilku instancjach Sello tworzyliśmy dokumenty (kilka serii na raz) i działało bez problemu. Teraz jak tak zrobimy to właśnie wywala nam tworzenie dokumentów.
-
Nie mogę znaleźć opisu dla tego błędu. Dzieje się tak gdy wykonuje metodę Uruchom Local $Insert_TypDopasowania = $SFERA_UruchomDopasujEnum_gtaUruchomDopasuj ;0x0 Local $Insert_TypUruchomienia = $SFERA_UruchomEnum_gtaUruchomNowy + $SFERA_UruchomEnum_gtaUruchomWTle ;0x2 + 0x4 $g_oSubiekt = $oInsertGT.Uruchom(Int($Insert_TypDopasowania), Int($Insert_TypUruchomienia)) Edit: Dodam, że sprawdzałem listę błędów systemu w pliku pomocy ale nie udało mi się go tam odnaleźć. Może plik pomocy nie jest zaktualizowany i brakuje tego wpisu? Proszę o autorów rozszerzenia Sfera o sprawdzenie tego. Z góry pięknie dziękuję
-
Sello NX ktoś już używa ?
Mamut Maniek odpowiedział Robert Mazurek → na temat → Forum użytkowników - Sello - Dyskusje
-
Wygląda, że system Sello próbuje utworzyć paczkę z doręczeniem do punktu, który nie istnieje. Może to pole się źle uzupełnia? Sprawdź paczki i dane punktu doręczenia.

Sello NX