Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla 'linq raport'.

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Dołączył

  • Od tej daty

    Do tej daty


Grupa podstawowa


O mnie


Tytuł własny

  1. Do liczenia raportów najczęściej wykorzystujemy LINQ. Ze względu na to, iż czasem jest to wiele zapytań połączonych kodem w C# nie ma możliwości udostępnienia ich jako pojedynczych zapytań LINQ.
  2. W SDK, które można pobrać tutaj: http://ftp.insert.com.pl/pub/demo/InsERT_nexo/nexoSDK.exe znajduje się plik Raporty_wlasne_LINQ.pdf, który opisuje metody tworzenia raportów własnych. Gdyby nie było chętnych do pomocy, to można ewentualnie zamówić taki raport u nas. W razie zainteresowania zapraszam do bezpośredniego kontaktu.
  3. Panie Jarku, dziękuję. A jak ugryźć ten temat w LINQ do użycia w raportach w nexo? Jak robić join w raportach, czyli np wybrać (chyba) za element główny DokumentMagazynowy, i w nim warunkiem ograniczyć dokumenty, które w pozycjach (PozycjaDokumentu) mają przyjęcie (Przyjecie), które zawiera Partie (ICollection<Partia>) z numerem np "abc". Efekt końcowy np taki: Kod dostawy, Asortyment, DokumentMagazynowyPrzyjecia, Data Chodzi mi o zapytanie, jak pobrać dokument który ma wiele pozycji, a te z kolei przyjęcie i dalej partie. Jak to filtrować w LINQ (dla raportu w nexo).
  4. Jak do tego najlepiej podejść ? SQL czy LINQ? Czy jest gdzieś w SDK lub na stronie opis z przykładami źródeł raportów własnych?
  5. Tak, aby dodać własny raport LINQ/SQL wymagana jest wersja InsERT nexo PRO (sposób tworzenia raportów własnych jest szczegółowo opisany w dokumencie zawartym w SDK dla InsERT nexo). Dodatkowo w Pomocy programowej (F1) mają Państwo przedstawionych kilka przykładowych zapytań.
  6. Trochę naprostuję, bo dostrzegam niejasności . Kolega Daniel miał na myśli, że sam moduł raportów jest w nexo, a Sello NX to jest program z rodziny nexo, więc ma taki moduł raportów odziedziczony bez ingerencji zespołu Sello NX . Tylko, że jest on obecnie pusty, bo nie stworzyliśmy jeszcze żadnych raportów typowo pod Sello NX. Takie planujemy dodać w okolicy wersji 51 (wakacje). Nic nie stoi na przeszkodzie aby taki raport dodać samodzielnie lub zlecić jego stworzenie już teraz (potrzebna wiedza z zakresu SQL lub LINQ) w tym właśnie module raportów. Taki raport można wtedy uruchamiać na życzenie z modułu raportów lub też podpiąć go jako zakładkę, np. do modułu zamówień wysyłkowych.
  7. Niestety w raportach Linqowych nie jest to takie łatwe, jak może się wydawać. Zapisaliśmy sugestię, lecz bez określonego terminu realizacji.
  8. Drogi Kacprze, ta odpowiedz pojawia sie od wielu wielu lat - chyba 7 jesli dobrze licze Dajcie chociaz jakis polsrodek - raport z ktorego bede mogl sobie recznie przepisac pozycje Mozna jakis zaczatek SQLa, ktory bedzie droga do rozwiniecia ? Bardzo ładnie prosze - chociaz SQL czy LINQ tego gotowego raportu juz, ktory sobie bede mogl rozwinac.
  9. Zapiszę taką sugestię. O składnikach na liście umów już pisałem wyżej: "składniki to otwarty słownik więc ze względów wydajnościowych na razie nie planujemy tej sugestii realizować" Co do pozostałych sugestii - w programie nie ma gotowych tego typu zestawień - ale do generowania tak różnorodnych zapytań służą mechanizmy Raportów LINQ i Raportów SQL.
  10. Oczywiście. Jednak oszczędźmy sobie opisywania i przepisywania. Załączam raport gotowy do zaimportowania do nexo. Tutaj tylko zrzut ekranu. Instrukcja tworzenia raportów własnych LINQ, co gdzie wpisać, jak tworzyć parametry i ich używać itp., znajduje się w nexo SDK, które można pobrać ze stron Insertu o produktach nexo linii PRO, np. Subiekt nexo PRO. Link znajduje się w części Dodatkowe rozwiązania dostępne w wersji PRO. wydania.xml
  11. Jeżeli nie miał Pan do czynienia z raportami własnymi, to zalecam się skonsultować z kimś biegłym w tym temacie, czyli naszymi serwisantami. Decydując się na samodzielne tworzenie raportu, proszę zapoznać się z pomocą dostępną pod F1 po wybraniu opcji Dodaj LINQ/SQL. Dodatkowo zalecam zapoznać się z materiałami PDF załączonymi w Szczegółowej Dokumentacji Technicznej – SDK.
  12. Funkcjonalność w programie zostanie dodana w wersji 45 InsERT nexo, a na ten moment nie ma takiego pola wśród dostępnych i można wykorzystać własne źródła danych pochodzących z raportów własnych LINQ i SQL.
  13. Dzień dobry, czy dostępne są w jakiś sposób źródła raportów wbudowanych w Nexo Pro? Czy napisane są one jako SQL lub LINQ? Chcielibyśmy wprowadzić modyfikacje do już istniejących. Pozdrawiam serdecznie!
  14. Z uwagi na konieczną rekurencję, polecam SQL. Nie wiem, czy możliwości, które daje nexo w raportach LINQ, będą wystarczające do obsługi sytuacji, w której składnikiem kompletu może być inny komplet i tak w nieskączoność.
  15. Dzień dobry, w takim przypadku należałoby stworzyć raport własny. Niestety nie jest to najprostszy przypadek. W raporcie można wykorzystać metody z ObliczeniaKalendarzowe: RzeczywistyTerminPlatnosci lub PobierzNajblizszyNastepnyDzienRoboczy. Należy pamiętać, że nie są one akceptowane przez LINQa, wiec najpierw trzeba zmaterializować dane (np. ToList()). Oczywiście będzie miało to znaczący wpływ na wydajność raportu. W razie problemów wszystkie niezbędne informacje znajdują się w nexo SDK.
  16. Nie wykluczamy, że w przyszłości spróbujemy obniżyć próg wejścia dla tych, którzy nie potrafią stworzyć raportów SQL lub LINQ, bądź napisać dodatek za pomocą sfery do nexo, ale na ten moment nie jesteśmy w stanie określić terminu realizacji.
  17. Poproszę o informację jak się przedstawiają plany - czy wprowadzenie opcji nadawania (szczególnie, a tu jest prosta iteracja po obiektach jak na innych listach) i wyświetlania flag w wersji wiosennej - jest nadal aktualne? Mowa zarówno o raportach SQL jak i LINQ.
  18. Wraz z wersją 50 nexo wprowadzamy możliwość tworzenia własnych kolumn, które mogą być wykorzystane we wbudowanych serwisach oraz raportach. Aby skorzystać z tych 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ć własne kolumny. Własne kolumny można tworzyć na jeden z dwóch sposobów. Tworzenie własnych kolumn za pomocą raportów SQL lub LINQ. Tworzenie własnych kolumn za pomocą raportów własnych wymaga znajomości składni zapytań SQL bądź LINQ oraz znajomości struktury bazy danych programu. Aby utworzyć własną kolumnę w taki sposób należy uruchomić dany widok, a w nim konfigurację widoku. W pierwszej zakładce pod listą kolumn dostępny jest przycisk służący do dodawania własnych kolumn, należy go kliknąć. Pojawi się wówczas nowe okno, w którym do wyboru będą dwa rodzaje raportów. Należy kliknąć w jeden z tych przycisków. Tworząc raport własny należy podać wszystkie wymagane informacje, w tym główny element, na podstawie którego tworzony jest raport. Należy także podać treść zapytania, a później nacisnąć przycisk do synchronizacji kolumn. Jeżeli raport jest poprawny i wykonano synchronizację kolumn, to można taki raport zapisać. W oknie z konfiguracją własnych kolumn pojawią się wówczas nowe kolumny, utworzone za pomocą raportu własnego. W oknie tym można wybrać, które z nowo dodanych kolumn chcemy uwidocznić. Po dokonaniu wyboru należy kliknąć przycisk OK. Na końcu należy jeszcze zapisać tak zmienioną konfigurację widoku. Po utworzeniu nowych kolumn za pomocą raportów własnych, nowe kolumny będą dostępne do wyboru w konfiguracji widoku na liście kolumn. Można także skorzystać z nich do grupowania wierszy oraz formatowania warunkowego. Tworzenie własnych kolumn przy pomocy raportów własnych zostało także zaprezentowane w filmie przedstawiającym nowości wersji 50 nexo. Warto jeszcze wspomnieć, że kolumny dodawane w jednym widoku, mogą być także wykorzystane w innych widokach. Kojarzenie raportu własnego z wbudowanym widokiem odbywa się na podstawie wybranego głównego elementu. Kolumny utworzone raportem własnym opartym na głównym elemencie "Asortyment", będą dostępne do wyboru nie tylko w raporcie "Asortyment niechodliwy", ale także w pozostałych raportach opartych na asortymencie oraz w serwisie "Asortyment". Tworzenie własnych kolumn za pomocą sfery Ten sposób tworzenia własnych kolumn wymaga znajomości języków programowania. Szczegółowy opis tworzenia własnych kolumn za pomocą sfery znajduje się w pomocy do sfery w dziale dotyczącym rozszerzania aplikacji. W naszym SDK do wersji 50 w katalogu z przykładami znajduje się także przykładowy projekt o nazwie RozszerzeniaListDanych, w którym zaprezentowano przykładowy kod tworzący własne kolumny.
  19. Dla informacji - aktualnie sortując na widoku raportu (czyli operując już na pobranych danych) nie można zachować (jako drugorzędnego) porządku zdefiniowanego wcześniej na poziomie zapytania LINQ. Zmiany w tej materii zostały przez Insert wstępnie przewidziane na wersję jesienną (37.0.0).
  20. Podrzucę wędkę dla chcącego: Raport LINQ, Główny element: PozycjaDokumentu (from p in source where ( p.AsortymentAktualny.Grupa.Nazwa=="Podstawowa" ) select new Wynik { Id = p.Id, Nazwa = p.AsortymentWybrany.Nazwa, Ilosc = p.Ilosc, Numer = p.Dokument.NumerWewnetrzny.PelnaSygnatura, } ) Dokumentacja dostępna w SDK, plik InsERT.nexo.Sfera.chm, PozycjaDokumentu Class.
  21. W Szablonach naklejek możemy każde dostępne pole (tekstowe) zakodować w kod kreskowy - a dokładniej QR. Miło by było gdyby można było także dodać pole tekstowe złożone - konkatenacje innych pól, tak żeby tak wygenerowany tekst można zakodować do jednego QR (dla odczytu czytnika/appki). Przykładowo dla "asortyment na dok. magazynowych" można by całość złożyć w długi string i zakodować w jednym QR (bo przecież QR ma mase miejsca na dane), np.: "{ Symbol:" + <symbol> + "; Kod:" + <Kod dostawy> + "; Nazwa:" + <Nazwa asortymentu> + "; }" { Symbol:<Symbol>; Kod:<Kod dostawy>; Nazwa:<Nazwa asortymentu>; } (Bold to Własny tekst rzecz jasna). Z innej perspektywy jeszcze lepiej (elastycznie) by było gdyby można zdefiniować własne SQL/LINQ z poziomu KAŻDEGO typu kartoteki (nie tylko Raporty własne SQL/LINQ). Tutaj wyższa szkoła jazdy bo można wtedy na naklejkach dowolnych kartotek umieszczać dowolne dane bez potrzeby budowania rozwiązań własnych. Tak dodam, że na tą chwilę poradziłem sobie z konkatenacją pisząc totalnie własny raport SQL, który wyciąga identyczne dane z bazy jak "Asortyment na dok. magazynowych" i dodałem dodatkową kolumnę łączącą pola, które potrzebowałem (głównie Symbol+Kod+Nazwa do QR), problem tylko, że nie mogę już korzystać z funkcji kliknięcia z poziomu "Magazyn->Drukuj naklejki z asortymentem", tylko wejść w "Ewidencje dodatkowe->Raporty" po czym odszukać odpowiedni kod dostawy w wspomnianym moim Raporcie własnym SQL i dla niego wydrukować naklejki. Jest to jakieś rozwiązanie ale rozszerzenie funkcjonalności o dodawanie własnych SQL/LINQ do dowolnych naklejek byłoby absolutnie wspaniałe - nie tylko dla przypadku opisanego tutaj.
  22. Takie pola/filtry prawdopodobnie pojawią się w kolejnych wersjach, natomiast same wbudowane w nexo mechanizmy pozwalają dodawać swoje własne zakładki/widoki. W module Raporty można dodać własny raport LINQ bądź SQL (wymagana wiedza programistyczna na odpowiednim poziomie). Na szybko dodałem raport SQL, w którym można określić polecenie SQL wyciągające informację o towarach, które nie są powiązane z żadną ofertą internetową lub jeśli są, to oferta ta nie jest aktywna w serwisie. Zapewne samo docelowe zapytanie trzeba by jeszcze trochę zmodyfikować, tutaj pokazuję tylko możliwości. Przykładowe zapytanie SQL: SELECT distinct [_Asortymenty].Id, [_Asortymenty].Symbol, [_Asortymenty].Nazwa FROM [ModelDanychContainer].[Asortymenty] AS [_Asortymenty] where _Asortymenty.id not in (select isnull(OI.Asortyment_Id,0) from ModelDanychContainer.OfertyInternetowe OI) or _Asortymenty.id in (select OI.Asortyment_Id from ModelDanychContainer.OfertyInternetowe OI where OI.Status <> 61) Proces dodawania raportów własnych opisany został tutaj: https://www.insert.com.pl/dla_uzytkownikow/e-pomoc_techniczna/2715,insert-nexo-jak-dodac-wlasny-raport-sql-do-systemu.html Następnie w module Asortyment klikamy Więcej => Zarządzanie widokami Dodaj raport własny => Wybieramy przed chwilą stworzony raport i Zamknij. W module Asortyment pojawi się nowa zakładka QL TOWARY NIEWYSTAWIONE, która prezentuje wynik wykonania polecenia SQL z raportu. W ten sposób można dodawać w zasadzie nieograniczone widoki. Na widokach są również dostępne opcje takie same jak w bazowym typie obiektu (czyli w tym przypadku w asortymencie). Obecnie nie da się jeszcze tego ustawić z góry (czyli np dla konta A używaj magazynu 1, a dla konta B magazynu 2) a dokumenty wystawiają się na magazynie głównym (w przypadku Subiekta GT) lub z kontekstu konta ustawionego w programie (w przypadku Subiekta nexo). Funkcja taka jest planowana i pojawi się w najbliższych aktualizacjach. W Sello NX jest odwrotnie niż było w starym Sello. Tam opłata dotyczyła kont allegro, liczba stanowisk była dowolna. W Sello NX opłata dotyczy stanowisk, liczba kont allegro i każdej innej integracji jest dowolna.
  23. 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.
  24. Tak, można wykonać taki raport własny LINQ. Po wybraniu głównego elementu DokumentWZ, dodajemy zapytanie: source .Where(d => d.FlagaWlasna.Id == flaga.Id) .Select((DokumentWZ d) => new Wynik { Id = d.Id, Nr = d.NumerWewnetrzny.PelnaSygnatura, Klient = d.Podmiot.NazwaSkrocona, Wartosc = d.KwotaDoZaplaty, }); oraz definiujemy parametr o nazwie flaga, typu Lista bazodanowa (główny element: FlagaWlasna) z wyrażeniem source.Where(f => f.Domena == null || f.Domena == 59) co utworzy nam listę flag, które nie zostały przypisane do typu obiektu lub dedykowanych wydaniom.
  25. Ad.1. Nie ma ograniczeń. Ad.2. Jeśli filtrowanie kolumn oznacza zawężanie listy wyników do tych elementów, których wartość we wskazanej kolumnie spełnia określony warunek to tak, służą do tego parametry zapytania, których wartości można podawać po uruchomieniu raportu, w pasku filtra właśnie. Jeśli mają zawężać wyniki to należy je użyć w WHERE. Przykład listy asortymentu z wybranej grupy: DECLARE @grupaId int = {LI:Grupa:SELECT Id, Nazwa FROM [ModelDanychContainer].[GrupyAsortymentu] ORDER BY Nazwa} SELECT a.[Id] ,a.[Symbol] ,a.[Nazwa] ,g.[Nazwa] AS Grupa FROM [ModelDanychContainer].[Asortymenty] AS a INNER JOIN [ModelDanychContainer].[GrupyAsortymentu] AS g ON a.Grupa_Id=g.Id WHERE @grupaId IS NULL OR @grupaId=a.Grupa_Id; Dla porównania, analogiczne zapytanie dla raportu LINQ: source .Where(a => a.Grupa.Id == grupa.Id) .Select(aso => new Wynik { Id = aso.Id, Symbol = aso.Symbol, Nazwa = aso.Nazwa, Grupa = aso.Grupa.Nazwa, }); gdzie grupa to parametr typu lista bazodanowa z głównym elementem GrupaAsortymentu.
×
×
  • Dodaj nową pozycję...