Forum Użytkownikow Subiekt GT

NEXO => Subiekt NEXO => Wątek zaczęty przez: arturw w Styczeń 29, 2016, 17:35:44

Tytuł: Raport w Linq
Wiadomość wysłana przez: arturw w Styczeń 29, 2016, 17:35:44
Witam,

Jestem w trakcie przechodzenia z subiekta gt na nexo. W gt miałem 2 raporty własne, proszę o pomoc w przeniesieniu raportów do nexo:

kod SQL pierszego zapytania (Zestawienie przyjęcia asortymentu):
SELECT
dbo.vwDokPowiazane.dok_NrPelny as 'Nr. dok.',
dbo.vwTowar.tw_symbol as 'Kod tw.',
dbo.vwTowar.tw_Nazwa as 'Nazwa towaru',
dbo.vwZstPrzWgkhnt.ob_IloscMag as 'Ilość',
dbo.vwZstPrzWgkhnt.ob_jm as "j.m.",
dbo.vwZstPrzWgkhnt.ob_WartMag as 'Wartość.netto',
dbo.vwZstPrzWgkhnt.ob_Wartbrutto as 'Wartość.brutto'
FROM
dbo.vwZstPrzWgkhnt
JOIN
dbo.vwDokPowiazane ON dbo.vwZstPrzWgkhnt.dok_id = dbo.vwDokPowiazane.dok_id
JOIN
dbo.vwTowar ON dbo.vwZstPrzWgkhnt.ob_TowId = dbo.vwTowar.tw_id
JOIN
dbo.sl_grupaTw ON dbo.vwTowar.Tw_Idgrupa = dbo.sl_grupaTW.grt_id
WHERE
(dbo.vwZstPrzWgkhnt.dok_DataWyst BETWEEN {DR:Pokaż dokumenty z przedziału})

kod SQL drugiego zapytania (Zestawienie sprzedaży asortymentu):
SELECT
dbo.vwZstSprzWgDok.dok_NrPelny as 'Nr. dok.',
dbo.vwDokPowiazane.dok_NrPelny as 'Nr. dok. Mag',
dbo.vwTowar.tw_symbol as 'Kod tw.',
dbo.vwTowar.tw_Nazwa as 'Nazwa towaru',
dbo.vwZstWydWgkhnt.ob_IloscMag as 'Ilość',
dbo.vwZstWydWgkhnt.ob_jm as "j.m.",
dbo.vwZstWydWgkhnt.ob_WartMag as 'Wartość.netto',
dbo.vwZstWydWgkhnt.ob_Wartbrutto as 'Wartość.brutto'
FROM
dbo.vwZstWydWgkhnt
JOIN
dbo.vwDokPowiazane ON dbo.vwZstWydWgkhnt.dok_id = dbo.vwDokPowiazane.dok_id
JOIN
dbo.vwTowar ON dbo.vwZstWydWgkhnt.ob_TowId = dbo.vwTowar.tw_id
JOIN
dbo.sl_grupaTw ON dbo.vwTowar.Tw_Idgrupa = dbo.sl_grupaTW.grt_id
Join
dbo.vwZstSprzWgDok ON dbo.vwZstSprzWgDok.dok_id = dbo.vwDokPowiazane.dok_dodokid
WHERE
(dbo.vwZstWydWgkhnt.dok_DataWyst BETWEEN {DR:Pokaż dokumenty z przedziału})

Tytuł: Odp: Raport w Linq
Wiadomość wysłana przez: lbacik w Styczeń 30, 2016, 08:12:21
Tego nie da się przenieść, trzeba napisać od nowa.

Tytuł: Odp: Raport w Linq
Wiadomość wysłana przez: arturw w Luty 04, 2016, 08:35:20
Napisałem zapytanie w SQL do bazy nexo jednak nie mam zielonego pojęcia jak napisać zapytanie (linq) w programie aby wyświetlał się raport.
Chciałbym aby w raporcie była możliwość zmiany okresów za jaki jest generowany raport.
(ModelDanychContainer.Dokumenty.DataWprowadzenia LIKE '%2016-01%')   

Proszę o pomoc.

SELECT        ModelDanychContainer.Dokumenty.Symbol AS [Typ dok.], ModelDanychContainer.Dokumenty.NumerWewnetrzny_PelnaSygnatura AS [Nr. dok.], ModelDanychContainer.Asortymenty.Symbol AS [Kod tw.],
                         ModelDanychContainer.Asortymenty.Nazwa AS [Nazwa towaru], ModelDanychContainer.PozycjeDokumentu.Ilosc AS Ilość, ModelDanychContainer.PozycjeDokumentu.KosztMagazynowy AS [Wartość netto]
FROM            ModelDanychContainer.Dokumenty INNER JOIN
                         ModelDanychContainer.PozycjeDokumentu ON ModelDanychContainer.Dokumenty.Id = ModelDanychContainer.PozycjeDokumentu.PozycjaDokumentu_Dokument_Id INNER JOIN
                         ModelDanychContainer.Asortymenty ON ModelDanychContainer.PozycjeDokumentu.AsortymentAktualnyId = ModelDanychContainer.Asortymenty.Id
WHERE        (ModelDanychContainer.Dokumenty.Symbol = 'pz' OR
                         ModelDanychContainer.Dokumenty.Symbol = 'pw') AND (ModelDanychContainer.Dokumenty.DataWprowadzenia LIKE '%2016-01%')
Tytuł: Odp: Raport w Linq
Wiadomość wysłana przez: dkozlowski w Luty 04, 2016, 09:03:50
Skoro jakoś sobie radzisz z SQL'em to powinieneś wiedzieć lub się dowiedzieć czym jest LINQ, a jest to zupełnie inny, język zapytań opierający się na obiektowym modelu bazy danych. Tak więc naucz się języka LINQ i będzie wszystko jasne. Sam nie pomogę, gdyż unikałem tego "nieprzewidywalnego wynalazku" tak długo jak tylko mogłem i taka nauka również jest zapewne przede mną :( Pewnym kompromisem może być wrzucenie zapytania w procedurę składowaną i wykonanie procedury w LINQ'u, coś mi się przypomina, że jest to możliwe.