Skocz do zawartości

Paweł Kubacki

InsERT
  • Liczba zawartości

    1 085
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    16

Ostatnia wygrana Paweł Kubacki w dniu 12 Października 2023

Użytkownicy przyznają Paweł Kubacki punkty reputacji!

O Paweł Kubacki

Ostatnie wizyty

1 702 wyświetleń profilu

Paweł Kubacki's Achievements

  1. W wersji 50 nie będzie jeszcze aktualizacji Stimulsoft, ale planujemy w tym roku zaktualizować tą bibliotekę.
  2. Można osiągnąć taki efekt, ale jedynie po stronie klienta, a nie serwera SQL. Oznacza to, że zapytanie musi być wcześniej wykonane, co można osiągnąć np. za pomocą funkcji ToList. Poniżej przykład zapytania z numerem LP w raporcie własnym LINQ opartym na asortymencie. null; var queryZmaterializowane = source .Select((Asortyment asortyment) => new { Id = asortyment.Id, Nazwa = asortyment.Nazwa, Symbol = asortyment.Symbol }).ToList(); int lp = 1; result = queryZmaterializowane .Select(x => new Wynik { Lp = lp++, Id = x.Id, Nazwa = x.Nazwa, Symbol = x.Symbol }).AsQueryable(); Alternatywnym rozwiązaniem jest wykorzystanie raportu SQL i wyrażenia ROW_NUMBER. Wówczas całe zapytanie będzie wykonywane po stronie serwera.
  3. Zapisałem sugestię. Jest pewna szansa, że zostanie zrealizowana przed wersją 80-tą, ale na ten moment nie mogę podać konkretnej wersji.
  4. W wersji 50.0.0 nexo planujemy wprowadzić zmianę w sferze we własnych operacjach w menu, która złamie dotychczasowy kontrakt. W klasie dziedziczącej po OperacjaNaLiscieDanych<Pracownik, int>, czyli własnych operacjach na liście pracowników, w metodzie void Wykonaj(IReadOnlyCollection<int> identyfikatoryWybranychElementow, IKontekstListyDanych kontekstListyDanych, IKontekstOperacji kontekstOperacji) zmieni się pierwszy parametr - lista identyfikatorów wybranych na liście elementów. Dotychczas przekazywane do niej były identyfikatory encji Podmiot. Od wersji 50 przekazywane będą identyfikatory encji Pracownik. Niestety nie jesteśmy w stanie wprowadzić tej zmiany w etapach, dlatego ostrzegamy aby klienci, którzy posiadają rozszerzenia (własne operacje wykonywane na pracowniku) nie instalowali wersji 50 przed dostosowaniem tych rozszerzeń do nowej wersji programu.
  5. W tym temacie nic się nie zmieniło. Dalej polecamy wykonanie takiego testu, który można zrobić na kopii podmiotu. Przy czym należy się liczyć z co najmniej jednym problemem. Wielkość pliku kopii bezpieczeństwa z pewnością mocno wzrośnie. Sam podgląd nie wystarczy. Trzeba jeszcze uwzględnić możliwość użycia zdjęcia w opisie towaru, w naklejkach, możliwość wysłania oferty internetowej do allegro, kwestie wyświetlania zdjęć w kolumnie w serwisie asortymentu i być może jeszcze parę innych miejsc w programie. Nie należy liczyć, że w pierwszej połowie tego roku pojawi się taka możliwość. Czy pojawi się w drugiej połowie, na ten moment nie jestem w stanie określić.
  6. Temat przechowywania zdjęć poza bazą danych mamy na uwadze. Jednak na dzień dzisiejszy nie jestem w stanie podać terminu realizacji.
  7. Okno parametrów będzie działało dopiero po zalogowaniu do sfery. W tym przypadku trzeba więc posłużyć się własnym oknem.
  8. Instrukcja jest ogólna, ale przedstawiony w pierwszej wiadomości przykład dotyczył dodania pól własnych klienta na wydruk FS. W przypadku asortymentu ścieżka prowadząca do pól własnych będzie inna. Tutaj chciałbym zwrócić uwagę, że jest to instrukcja techniczna. Została stworzona z myślą o osobach zajmujących się wdrażaniem/serwisowaniem aplikacji. Polecam zatem skorzystać z pomocy takiej osoby. Proszę przejrzeć naszą listę serwisantów.
  9. W jaki sposób przystosowuje Pan swoje rozwiązanie sferyczne do nowej wersji nexo? Czy przypadkiem nie wgrywa Pan bibliotek z nowej wersji SDK do katalogu, gdzie wcześniej były biblioteki z poprzedniej wersji?
  10. Proszę zamieścić pełny komunikat błędu, bo niestety brakuje jego najistotniejszej części. Czy w Pańskim rozwiązaniu wykorzystywane są jakieś biblioteki, z których korzysta także nexo?
  11. Problemem jest tutaj przekazywanie encji rozrachunku z załadowanego dokumentu sprzedaży do metody tworzącej obiekt rozrachunku. W zasadzie wystarczy drobna zmiana w Pana kodzie, aby odizolować oba obiekty od siebie i aby ten plugin działał. ... using (var rch = rozrachunki.Znajdz(x => x.Id == rozrachunek.Id)) { ... } Jednak sugeruję nieco większą zmianę ze względu na wydajność. Dokument sprzedaży jest dość złożonym obiektem i bez potrzeby nie warto powoływać go do życia. W tym przypadku dokument ten nie jest zmieniany, pobierane są z niego jedynie uwagi, więc proponuję następującą zmianę. public override void PoZapisieObiektu(IKontekstZdarzeniaPoZapisieObiektu<IDokumentSprzedazy> kontekst) { if (kontekst.StanZapisanegoObiektu == StanZapisanegoObiektu.Dodany) { IDokumentySprzedazy sprzedaz = kontekst.Uchwyt.PodajObiektTypu<IDokumentySprzedazy>(); IRozrachunki rozrachunki = kontekst.Uchwyt.PodajObiektTypu<IRozrachunki>(); int idZapisanegoDokumentu = (int)kontekst.IdDanych; var uwagi = sprzedaz.Dane.Wszystkie() .Where(x => x.Id == idZapisanegoDokumentu) .Select(x => x.Uwagi) .FirstOrDefault(); using (var rch = rozrachunki.Znajdz(x => x.Dokument.Id == idZapisanegoDokumentu)) { if (rch.Zablokuj()) { rch.Odblokuj(); rch.Dane.Tytul = uwagi; if (rch.Zapisz()) { } else rch.WypiszBledy(); } } } } Nadmiarowy wydaje mi się także kod związany z blokowaniem obiektu.
  12. Jeżeli użytkownik jest nowy i nie ma jeszcze spersonalizowanych widoków, to nie trzeba niczego usuwać. W tabeli WidokiSerwisowe nie będzie wówczas dla niego żadnych wpisów. Jeżeli natomiast jakieś widoki już dostosowywał do swoich potrzeb, to może nie warto mu ich zmieniać. Proszę zwrócić uwagę, że podane przez Pana polecenie usuwa wszystkie widoki użytkownika bez względu na to jakie widoki będą potem w drugim kroku kopiowane z wzorcowego użytkownika. Może się więc zdarzyć, że usunięta zostanie zmieniona konfiguracja np. serwisu Asortyment mimo, że użytkownik wzorcowy nie dokonał zmian w tej konfiguracji i nie będzie ona w kroku 2 skopiowana. W rezultacie konfiguracja tego serwisu wróci do ustawień domyślnych. Pola TimeStamp i Naglowek_Id nie powinny być kopiowane.
  13. W programie jest możliwość eksportu/importu ustawień widoku. Gdyby jednak chciał Pan przenieść ustawienia list edycyjnych, np. pozycji faktury, to tam jeszcze nie ma takiego importu/eksportu. Ustawienia widoku przechowywane są w tabeli WidokiSerwisowe, a ustawienia list edycyjnych w tabeli StanyAplikacji.
×
×
  • Dodaj nową pozycję...