Skocz do zawartości

Paweł Kubacki

InsERT
  • Liczba zawartości

    1 133
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    18

Zawartość dodana przez Paweł Kubacki

  1. Trudno jest wskazać przyczynę timeoutu. Nie wiemy jakie akcje wykonywane były na serwerze w trakcie tej dearchiwizacji. Może Pan jednak spróbować wykonać tą dearchiwizacje ponownie po restarcie serwera SQL.
  2. Obecnie nie ma dedykowanego miejsca, gdzie można obejrzeć wszystkie zdjęcia dodane do systemu. Planujemy jednak taki serwis stworzyć w jednej z kolejnych wersji programu.
  3. Na jednym stanowisku (komputerze) można uruchomić wiele instancji programu logując się na tego samego użytkownika. Analogicznie jest z rozwiązaniem sferycznym. Jeżeli będzie ono uruchomione na tym samym komputerze i będzie się logowało na tego samego użytkownika, to powinno to zadziałać na tej licencji. Można to szybko samemu sprawdzić tworząc przykładowe rozwiązanie sferyczne z naszych szablonów projektów sferycznych. Wystarczy do niego dodać poniższy kawałek kodu. var wynikLogowania = sfera.Zaloguj(login, haslo); if (wynikLogowania == SferaWynikLogowania.Zalogowano) { Console.WriteLine($"Zalogowano użytkownika: {login}."); } else { Console.WriteLine($"Problem z zalogowaniem użytkownika: {login}. Wynik logowania: {wynikLogowania}"); }
  4. W pierwszej kolejności proszę na tym stanowisku, na którym działa aplikacja sferyczna, uruchomić program. Jeżeli to nie pomoże, to proszę zastosować rozwiązanie opisywane tutaj.
  5. Od wersji 43.0.0 taki problem nie powinien już występować. Z ciekawości zapytam do czego ta funkcja jest wykorzystywana?
  6. Czy na pewno problem dotyczy logowania do sfery? Z zamieszczonych informacji wynika, że problem jest raczej ze zwalnianiem połączenia do sfery. Poza tym informacja o błędzie nie jest pełna, dlatego poproszę o przesłanie danych diagnostycznych z komputera, na którym ten problem wystąpił. Poproszę też o informację o wersji systemu nexo. Na koniec proszę też w przyszłości umieszczać pytania dotyczące sfery w dziale Sprawy techniczne. 🙂
  7. Nie wiem jaki dokładnie test Pan wykonał, bo nie zrozumiałem Pana poprzedniej wypowiedzi. Zapewniam jednak, że po wyłączeniu Profilowania danych w serwisie Laboratorium przypisywanie definicji widoku do użytkownika, który ma odebrany dostęp do wszystkich stanowisk kasowych, będzie działać.
  8. Wyłączenie profilowania danych w Laboratorium nie stoi w sprzeczności z rozwiązaniem, z którego Pan dotychczas korzystał. Tamto rozwiązanie dalej będzie działać po wyłączeniu tej opcji w Laboratorium.
  9. Ma Pan rację, uprawnienia do dodawania operacji kasowych nie obejmują operacji tworzonych z dokumentów handlowych. W przyszłych wersjach dodamy dodatkowe uprawnienia, które umożliwią zablokowanie wystawiania także dokumentów automatycznych. Natomiast wracając do pierwotnego zgłoszenia. Odebranie dostępu do wszystkich stanowisk kasowych za pomocą profilowania dostępu do danych może skutkować różnymi problemami w trakcie pracy z programem. Ten mechanizm nigdy nie był projektowany w celu w jakim go Pan używa. W związku z tym nie planujemy wprowadzania zmian o jakie Pan prosił. Można też wyłączyć "Profilowanie danych" w module Laboratorium.
  10. Od wersji 45.0.0 konfiguracja profilowania oddziałów, magazynów, rachunków bankowych i stanowisk kasowych stała się częścią programu. Pisałem o tym w tym wątku. Przy czym nie można użytkownikowi odebrać uprawnień do wszystkich stanowisk kasowych, rachunków bankowych, etc. Do tego celu nie służy jednak ten mechanizm. Jeżeli chce Pan odebrać użytkownikowi możliwość korzystania z kasy, to należy do tego wykorzystać uprawnienia.
  11. Dobrze Pan to wszystko rozszyfrował 🙂, selekcja rzeczywiście oparta jest na ID. Tego już raczej zmieniać nie będziemy, bo siedzi to zbyt głęboko.
  12. Nie ma takiego zbiorczego mechanizmu. Trzeba tej zmiany dokonać na każdym podmiocie. Nie tworzyliśmy operacji zbiorczej, gdyż tą czynność wykonuje się wyłącznie raz i dotyczy to wyłącznie podmiotów korzystających ze starej wersji pól własnych. Od wersji 30. nexo istnieje nowy mechanizm i podmioty zakładane od tej wersji korzystają już z nowego mechanizmu. Nowy mechanizm pól własnych istnieje już od 3 lat. Wraz z nim pojawiło się w programie powiadomienie wyświetlane zaraz po uruchomieniu programu, które zachęca do przejścia na nową wersję pól własnych. Widzą je jedynie użytkownicy korzystający ze starego mechanizmu. Dodatkowo pod koniec stycznia tego roku informowaliśmy na tym forum, że wraz z wersją 45. wycofamy wsparcie dla starego mechanizmu i programu nie będzie się dało uruchomić, jeżeli wcześniej nie przejdzie się na nowy mechanizm pól własnych.
  13. W najnowszej wersji (45.0.0) w Laboratorium nexo udostępniono możliwość korzystania z profilowania danych. Dzięki profilowaniu można ograniczyć widoczność wskazanych danych wybranym użytkownikom systemu. Aby korzystać z nowych możliwości, należy w pierwszej kolejności uruchomić serwis Laboratorium wybierając go z listy serwisów lub za pomocą skrótu Ctrl+Spacja, a następnie XX. Następnie należy zaakceptować regulamin Laboratorium jeżeli dotychczas nie był zaakceptowany. W tym momencie można już włączyć profilowanie danych. Po włączeniu profilowania danych w Laboratorium można skorzystać z szeregu nowych możliwości. 1. Dostęp do oddziałów, magazynów, stanowisk kasowych i rachunków bankowych. Pierwszą z możliwości jest nowa zakładka "Dostęp do danych" na formatce edycji użytkownika. Na zakładce tej można odebrać użytkownikowi dostęp do poszczególnych: oddziałów, magazynów, stanowisk kasowych i rachunków bankowych. Odebranie użytkownikowi dostępu do jednego z elementów systemu ukrywa przed nim całkowicie ten element. Przykładowo odebranie użytkownikowi dostępu do jednego z magazynów ukryje przed nim ten magazyn w kontekście aplikacji i filtrach. Jednocześnie użytkownik ten nie będzie mógł zobaczyć dokumentów wystawionych w tym magazynie. 2. Profilowanie danych w definicjach widoków. Po włączeniu profilowania danych w Laboratorium, w definicjach widoków pojawia się zakładka pozwalająca nałożyć ograniczenie na dane prezentowane w serwisie. Użytkownik korzystający z serwisu nie będzie mógł zobaczyć danych, które nie spełniają określonych w tym miejscu warunków. W widocznym poniżej przykładzie w serwisie asortymentu będą prezentowane użytkownikowi jedynie towary z grupy "Dezodoranty", które posiadają jednocześnie cechę "Kosmetyk popularny". 3. Nowe uprawnienia Kolejnym elementem umożliwiającym ograniczenie widoczności danych dla użytkownika są nowe uprawnienia. Uprawnienie "Konfiguracja widoku" blokuje dostęp do konfiguracji takich elementów jak lista kolumn, formatowanie warunkowe, podgląd pod listą. Natomiast uprawnienie "Konfiguracja widoku - Zmiana filtrów" blokuje możliwość zmiany filtrów w serwisach. 4. Sferyczne profilowanie danych Ostatnim z mechanizmów profilowania danych jest sferyczne profilowanie danych. Daje ono najwięcej możliwości, gdyż pozwala tworzyć własne reguły profilowania danych. Sferyczne rozszerzenia do profilowania danych są wykorzystane w wielu miejscach programu, takich jak serwisy, raporty, wybór z listy (F2) oraz z instynktu. Spis ewidencji, które mogą być profilowane sferycznie dostępny jest w pomocy do sfery. Poniżej znajduje się przykład rozszerzenia, które ukrywa usługi przed wszystkimi użytkownikami poza szefem. Po jego zastosowaniu zarówno w serwisie asortymentu jak i przy wystawianiu dokumentu użytkownicy nie będą mogli zobaczyć usług. public class ProfilowanieUslugPlugin : IWarunekFiltrujacyDane<Asortyment> { public IDostawcaPluginow Dostawca => new DostawcaPluginow(); public Guid Identyfikator => new Guid("6ac6f889-1415-4dc7-acaf-9b75c18bfd9a"); public string Nazwa => "Profilowanie usług"; public string Opis => "Profilowanie ukrywa usługi przed użytkownikiem, który nie jest szefem."; private readonly Guid IdSzefa = Guid.Parse("745A2355-EC3A-4706-9F62-F9BDEC840C0E"); public bool CzyAktywny(IKontekstFiltrowaniaDanych kontekst) { return kontekst.ZalogowanyUzytkownik.Dane.Id != IdSzefa; } public Expression<Func<Asortyment, bool>> WygenerujWyrazenieFiltrujace(IKontekstFiltrowaniaDanych kontekst) { return x => x.Rodzaj != null && x.Rodzaj.StanyMagazynowe; } } Bardziej zaawansowany przykład rozszerzenia do profilowania danych znajduje się w SDK. Opiera się on na opiekunach klientów i ogranicza widoczność danych w wielu ewidencjach nexo, takich jak: dokumenty handlowe, magazynowe, finansowe, itp.
  14. A jaka potrzeba stoi za tym pytaniem, czy chodzi tylko o uniknięcie dodatkowego wciskania przycisku F8? Samo pokazanie okna filtra niewiele przyspieszy pracę, musiałby się jeszcze ustawiać focus w tym oknie przy wejściu do serwisu. Taka zmiana natomiast mogłaby się nie spodobać innym użytkownikom. Myślę, że Pani w dłuższej perspektywie też mogłoby to przeszkadzać, bo nie zawsze po wejściu do serwisu chce się od razu korzystać z filtra. Obecne rozwiązanie z wyświetlaniem tego okna po naciśnięciu F8 jest optymalnym rozwiązaniem, bo powoduje zarówno ukazanie okna jak i przenosi focus do niego. Przez co można od razu wpisać szukaną frazę.
  15. Na razie takiej informacji nie udostępniamy w sferze. Zapisałem tą potrzebę. Na ten moment może Pan spróbować analizować załadowane w programie moduły. AppDomain.CurrentDomain.GetAssemblies()
  16. Zgłosił Pan już ten problem w innym wątku i tam też została udzielona odpowiedź.
  17. Wydajność pracy z programem może wynikać z wykorzystywanych integracji. Niektóre z nich dodają własne triggery na tabele w bazie danych, co może spowodować spowolnienie każdej operacji zapisu. Nieoptymalnie napisana integracja może też powodować większe obciążenie serwera SQL, co z kolei będzie prowadzić do wolniejszego odczytu danych w samym programie. W związku z tym chciałbym w pierwszej kolejności dowiedzieć się czy korzysta Pan z jakiś integracji? Jeżeli tak jest to poproszę Pana o sprawdzenie wydajności nexo na podmiocie DEMO przy jednoczesnym wyłączeniu wszelkich innych instancji aplikacji oraz synchronizatorów. Czy jest wówczas widoczna jakaś różnica? Dodatkowo w wiadomości prywatnej poproszę o przesłanie danych diagnostycznych z podmiotu, na którym występują problemy wydajnościowe. Poproszę też o więcej informacji na temat architektury z jakiej Państwo korzystacie. Czy jest to praca jednostanowiskowa, czy wielostanowiskowa? Jeżeli ta druga, to jak udostępniany jest serwer SQL, czy znajduje się w sieci lokalnej czy łączycie się z nim poprzez internet?
  18. Tak jak już wcześniej pisałem, nie planujemy zmian w tym zakresie. Z różnych powodów, także tych technicznych, nie będziemy udostępniać treści raportów wbudowanych. Mamy natomiast w planach na przyszłość umożliwić tworzenie własnych kolumn dla serwisów i raportów wbudowanych. Zakładam, że taką właśnie potrzebę chce Pan zrealizować?
×
×
  • Dodaj nową pozycję...