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. W wersji 45, która ukaże się na wiosnę tego roku, zakończymy wsparcie zaawansowanych pól własnych w wersji 1. Przez ostatnie trzy lata wspieraliśmy zarówno stary, jak i nowy mechanizm, aby dać Państwu czas na dostosowanie własnych rozwiązań (wydruków, raportów, programów sferycznych) do nowego mechanizmu. W wersji 45 programu nie będzie można uruchomić, jeżeli wcześniej nie przejdzie się na nowy mechanizm pól własnych. Jak to zrobić, opisane jest w naszej e-Pomocy. Pragnę przy tym podkreślić, że przejście ze starego na nowy mechanizm zachowuje wszystkie wcześniej wprowadzone dane. Jeżeli nie stworzono własnych wydruków, raportów lub programów sferycznych, które odwołują się do zaawansowanych pól własnych, to wystarczy przejść na nowy mechanizm i nic więcej nie trzeba zrobić. Jeżeli jednak stworzono takie rozwiązania, to trzeba je dostosować do nowego mechanizmu. W tym celu należy skontaktować się z twórcą rozwiązania. Wszystkie podmioty zakładane od wersji 30 InsERT nexo korzystają już z nowego mechanizmu. Informacja ta dotyczy więc tylko podmiotów zakładanych w starszych wersjach programu, które do tej pory nie przeszły na nowy mechanizm. Na takich podmiotach co pewien czas pojawia się niżej widoczne powiadomienie, które zachęca do przejścia na nowy mechanizm pól własnych.
  2. Nie, to są osobne assembly. Jednak nijak się one mają do tego błędu widocznego na samym dole, który jak przypuszczam jest przyczyną postawienia tego pytania. System.Security.Principal.WindowsImpersonationContext nie jest biblioteką nexo.
  3. API to coś więcej niż metoda na dodawanie wpisów do bazy danych. API jest pośrednikiem między aplikacjami zewnętrznymi a warstwą biznesową nexo. Ta z kolei wymaga, aby każdy obiekt był przetwarzany osobno, chociażby w celu zapewnienia prawidłowej walidacji obiektów. Przykładowo nie można dodać drugiej FS, gdy pierwsza zarezerwuje cały dostępny na stanie towar. W związku z tym nie planujemy ani teraz ani w przyszłości wprowadzania takich operacji.
  4. Mamy w planach zbadać możliwość stworzenia jakiegoś rozwiązania do zmiany zbiorczej dowolnych pól własnych. Jednak na dzień dzisiejszy nie powiem kiedy takie rozwiązanie mogłoby się pojawić. W tej kwestii padła już odpowiedź w wątku zamieszczonym poniżej.
  5. Gdzieś w tym kodzie pojawia się wartość NULL. Być może metoda FirstOrDefault zwraca NULL i dalsze odwołanie do kompletu generuje ten wyjątek? Drugim podejrzanym jest zmienna _asortymenty, być może nie została wcześniej przypisana do niej żadna wartość?
  6. Zapisałem sugestię. Jednak nie będzie to naszym priorytetem w najbliższym czasie.
  7. Nie odpowiedział Pan na moje poprzednie pytanie, więc nie wiem czy były robione testy na starej maszynie bez tej integracji i czy była jakaś różnica w szybkości działania programu? Jeżeli teraz testuje Pan szybkość nexo na nowym sprzęcie na testowym podmiocie bez integracji, to trudno powiedzieć jakie będą wrażenia po jej wgraniu. Polecam wykonać test na docelowej konfiguracji, czyli program + integracja.
  8. Uprawnienia blokującego dostęp do konfiguracji widoku obecnie nie ma. Mamy w planach wprowadzenie takiego uprawnienia. Jakie konkretnie operacje ma Pani na myśli?
  9. Nie ma takich mechanizmów wbudowanych w program. Można spróbować ręcznego usuwania dokumentów. Większość ewidencji pozwala na zbiorcze usuwanie. Można także spróbować stworzyć takie narzędzie za pomocą sfery. Nie zalecamy natomiast usuwania danych za pomocą poleceń SQL. Przed jakimikolwiek zmianami warto wykonać kopię zapasową bazy danych. Niektórzy klienci korzystają z serwera SQL umieszczonego na linuxie. Nie zgłaszali nam w związku z tym problemów. Można zgłaszać nam miejsca w programie, gdzie z uwagi na duży zbiór danych wydajność jest gorsza.
  10. Ogólnie rzecz ujmując tak, sfera zdarzeniowa będzie także działać dla rozwiązań sferycznych (zewnętrznych). Jednak jest tutaj pewna kwestia warta wyjaśnienia. Jeżeli program sferyczny jest wdrożony w zalecany przez nas sposób, czyli wrzucony do bazy dystrybucyjnej i uruchamiany za pomocą naszego Launchera, to zdarzenia sferyczne będą wywoływane. Jeżeli jednak program sferyczny został wdrożony inaczej i nie znajduje się w tym samym katalogu co binaria programu, to trzeba samemu zapewnić aby biblioteka z obsługą zdarzeń sferycznych oraz powiązany z nią plik *.plugin znajdowały się w tym samym katalogu co uruchamiane rozwiązanie sferyczne.
  11. Obiekt Uchwyt nie jest dostępny w pluginach oraz sferze zdarzeniowej i nie planujemy go udostępniać. W większości przypadków powinien wystarczyć IUchwyt, który jest przekazywany w kontekście zdarzenia sferycznego. Pola własne zaawansowane są dostępne w pluginach oraz sferze zdarzeniowej przy zastosowaniu takiej konstrukcji var zaawansowanePolaWlasne = kontekst.Uchwyt.PodajObiektTypu<IPolaWlasneAdv2AccessorFactory>().Utworz(aso.Dane, true);
  12. Zanotowałem aby w przyszłości udostępnić możliwość tworzenia zapisów w słowniku własnych z poziomu sfery. Natomiast definiowania pól własnych za pomocą sfery na razie nie przewidujemy.
  13. Można w konstruktorze swojego raportu zażądać fabryki połączeń i zapamiętać referencję na tą fabrykę. private readonly IDbConnectionFactory _dbConnectionFactory; public MojRaport(IDbConnectionFactory dbConnectionFactory) { _dbConnectionFactory = dbConnectionFactory; } Następnie z wykorzystaniem fabryki można stworzyć połączenie do bazy danych. using (var connection = _dbConnectionFactory.CreateConnection(DbConnectionFlags.NoPooling | DbConnectionFlags.NoEnlist)) { ... }
  14. Proponuję w pierwszej kolejności wyłączyć ten integrator i sprawdzić jak wówczas działa program? A nawet lepszym testem byłoby założenie drugiego podmiotu (np. demo) bez tego integratora i sprawdzenie czy wówczas widać jakąś poprawę w płynności działania programu?
  15. Wymagania minimalne oraz zalecane określone są tutaj. Wracając do Pana pierwszego pytania to trudno odpowiedzieć na to pytanie nie znając szczegółów związanych z tą instalacją, takich jak wielkość bazy danych, liczba wystawionych dokumentów, asortymentów, klientów. Ważne jest też to czy jest to instalacja jednostanowiskowa, czyli czy serwer SQL oraz program pracują na tym samym komputerze i jest to jedyny wykorzystywany komputer do pracy z programem? Warto też podać, które konkretnie operacje są zbyt wolne. Co do rad już tutaj udzielonych, mogę tylko potwierdzić, że procesor oraz dysk SSD są dobrą wskazówką.
  16. W wersji 42 pojawiło się nowe uprawnienie do eksportu danych z list. Gdy w programie pojawia się nowe uprawnienie to stosujemy taką zasadę, że w domyślnej roli "Administrator" jest ono nadane. Natomiast dodatkowe role utworzone przez użytkowników już po rozpoczęciu pracy z programem nie mają nadanego nowego uprawnienia. Wyjątkiem są jednak nowe uprawnienia, które dodajemy do funkcji, które już wcześniej istniały w programie. Wówczas takie uprawnienie jest nadawane wszystkim rolom. Tak powinno być w tym przypadku, gdyż operacja eksportowania danych z list istniała jeszcze przed wprowadzeniem tego uprawnienia. Niestety tak się nie stało i wszystkie role poza administratorem nie mają tego uprawnienia i trzeba je samemu nadać. Za zaistniałą sytuację przepraszamy. A dla tych, którzy jeszcze nie zaktualizowali się do wersji 42 planujemy wprowadzić stosowną poprawkę w wersji 42.0.1.
  17. Sądząc po komunikacie problem dotyczy raczej pól własnych asortymentu. Czy zmieniał Pan coś jeszcze na tym wydruku?
  18. Proponowałbym najpierw sprawdzić tabelę z załącznikami czy rzeczywiście zniknęły z niej niechciane załączniki? Można w tym celu wykorzystać załączony raport własny. Zalaczniki pocztowe - raport SQL.xml
  19. Dane przechowywane w formie filestream nie wymagają kompaktowania, dlatego taka operacja nie jest dla nich dostępna. Po usunięciu takich danych rozmiar bazy powinien zostać zmniejszony. Jednak nie stanie się to od razu. SQL Server po pewnym czasie zsynchronizuje dane z tabeli z zawartością dysku. Jeżeli po pewnym czasie od usunięcia danych dalej rozmiar bazy pozostaje taki sam, to trzeba bliżej przyjrzeć się zawartości tabel, dla których włączono filestream. W tym przypadku warto przyjrzeć się tabeli z załącznikami i upewnić się, że te załączniki też zostały usunięte.
×
×
  • Dodaj nową pozycję...