Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 01.06.2021 uwzględniając wszystkie działy

  1. Zgodnie z podaną interpretacją, to pozostaje jedynie modyfikacja ręczna. Przyjrzymy się sprawie i jeśli potwierdzimy, że powinniśmy dokonać zmian w sposobie wyliczania załącznika PIT/B, to zrobimy to, lecz raczej w kolejnej wersji deklaracyjnej.
    1 punkt
  2. Autoryzacja Windows musi być skonfigurowana na serwera SQL aby działała w sieci - stąd problem z połączeniem się do serwera z innego komputera. Proszę nacisnąć link Zmień po prawej na górze i wyłączyć autoryzację Windows i podać login sql (sa) i domyślne hasło puste. Co do znikającego użytkownika to proszę to sprawdzić po przekonfigurowaniu połączenia na login/hasło zamiast autoryzacji Windows.
    1 punkt
  3. Bardzo dziękuję za odpowiedź. Faktycznie niepowiązanych 4980 sztuk - nazbierało się. Pozdrawiam
    1 punkt
  4. Za wydruki odpowiadają wzorce wydruków: https://www.insert.com.pl/dla_uzytkownikow/e-pomoc_techniczna/3872,jak-edytowac-tabele-towarow-na-wydruku-oferty-w-programie-gestor-nexo.html W tym artykule proszę nie sugerować się zdjęciem, bo jest błędne.
    1 punkt
  5. Dziękuje. Teraz wiadomo już znacznie więcej. Ilość zwracanych danych nie jest w tym przypadku aż tak istotna. Bardziej istotna jest sama forma tego zapytania oraz postać generowanego zapytania SQL. Przy pomocy profilera SQL można je podejrzeć. Widać wówczas, że wynikowy SQL zawiera 115 JOIN-ów. Stosując drobną optymalizację można zmniejszyć ilość JOIN-ów do 36 (warunek WHERE ze względu na brak interfejsu użytkownika jest nieco inny niż w Pani przykładzie) zamowienia.Dane.Wszystkie() .Where(x => x.DataWprowadzenia > new DateTime(2000, 5, 1) && x.DataWprowadzenia < new DateTime(2020, 12, 31) && (x.FlagaWlasna == null || x.FlagaWlasna.Id == 1230)) .Select(x => new { Dok = x, Podmiot = x.Podmiot, Adres = x.Podmiot.AdresPodstawowy.Szczegoly, AdresDostaw = x.Podmiot.DomyslnyAdresDostaw.Szczegoly, }) .Select(select => new Zk() { id = select.Dok.Id, numerZamowienia = select.Dok.NumerZewnetrzny, numerZk = select.Dok.NumerWewnetrzny.PelnaSygnatura, chcekd = false, data = select.Dok.DataWprowadzenia, waluta = select.Dok.Waluta.Symbol, kontrahent = new Zk.Kontrahent() { nazwa = select.Podmiot.AdresPodstawowy.Nazwa, nazwaSkrocona = select.Podmiot.NazwaSkrocona, miejscowosc = select.Adres.Miejscowosc, kodPocztowy = select.Adres.KodPocztowy, nrDomu = select.Adres.NrDomu, nrLokalu = select.Adres.NrLokalu, ulica = select.Adres.Ulica, mail = select.Podmiot.Kontakty.Where(k => k.Podstawowy == true && k.Rodzaj.Id == rodzajeKontaktu).FirstOrDefault().Wartosc, nip = select.Podmiot.NIP, firma = select.Podmiot.Firma.Nazwa }, kontrahentDostawa = new Zk.Kontrahent() { nazwa = select.AdresDostaw.Adres.Nazwa, miejscowosc = select.AdresDostaw.Miejscowosc, kodPocztowy = select.AdresDostaw.KodPocztowy, nrDomu = select.AdresDostaw.NrDomu, nrLokalu = select.AdresDostaw.NrLokalu, ulica = select.AdresDostaw.Ulica, }, produkty = select.Dok.Pozycje .Select(p => new Zk.Produkt() { ilosc = p.Ilosc, indeks = p.AsortymentAktualny.Symbol, typ = p.RodzajAsortymentuId, cena = p.Cena.BruttoPrzedRabatem, rabat = p.Cena.RabatProcent, vat = p.StawkaVat.Stawka, }) }) .ToList() Jednak najlepszą optymalizację można uzyskać zmieniając nieco formę zapytania. Wówczas ilość JOIN-ów zmniejsza się do 17. (from z in zamowienia.Dane.Wszystkie() let podmiot = z.Podmiot let adres = podmiot.AdresPodstawowy let adresSzczegoly = adres.Szczegoly let adresDostaw = podmiot.DomyslnyAdresDostaw let adresDostawSzczegoly = adresDostaw.Szczegoly where z.DataWprowadzenia > new DateTime(2000, 5, 1) && z.DataWprowadzenia < new DateTime(2020, 12, 31) && (z.FlagaWlasna == null || z.FlagaWlasna.Id == 1230) select new Zk() { id = z.Id, numerZamowienia = z.NumerZewnetrzny, numerZk = z.NumerWewnetrzny.PelnaSygnatura, chcekd = false, data = z.DataWprowadzenia, waluta = z.Waluta.Symbol, kontrahent = new Zk.Kontrahent() { nazwa = adres.Nazwa, nazwaSkrocona = podmiot.NazwaSkrocona, miejscowosc = adresSzczegoly.Miejscowosc, kodPocztowy = adresSzczegoly.KodPocztowy, nrDomu = adresSzczegoly.NrDomu, nrLokalu = adresSzczegoly.NrLokalu, ulica = adresSzczegoly.Ulica, mail = podmiot.Kontakty.Where(k => k.Podstawowy == true && k.Rodzaj.Id == rodzajeKontaktu).FirstOrDefault().Wartosc, nip = podmiot.NIP, firma = podmiot.Firma.Nazwa }, kontrahentDostawa = new Zk.Kontrahent() { nazwa = adresDostaw.Nazwa, miejscowosc = adresDostawSzczegoly.Miejscowosc, kodPocztowy = adresDostawSzczegoly.KodPocztowy, nrDomu = adresDostawSzczegoly.NrDomu, nrLokalu = adresDostawSzczegoly.NrLokalu, ulica = adresDostawSzczegoly.Ulica, }, produkty = z.Pozycje .Select(p => new Zk.Produkt() { ilosc = p.Ilosc, indeks = p.AsortymentAktualny.Symbol, typ = p.RodzajAsortymentuId, cena = p.Cena.BruttoPrzedRabatem, rabat = p.Cena.RabatProcent, vat = p.StawkaVat.Stawka, }) }).ToList()
    1 punkt
×
×
  • Dodaj nową pozycję...