Forum Użytkownikow Subiekt GT
NEXO => Subiekt NEXO => Wątek zaczęty przez: bzyk w Sierpień 09, 2016, 09:31:22
-
Witam,
Próbuję stworzyć raport zawierający pozycje z Zamówienia od Klienta (DokumentZK), m.in. takie jak: nr dokumentu, zamawiającego, asortyment, opis z pozycji, ilość oraz pola własne, utworzone wcześniej do "Pola własne zamówienia od klienta". Z konfiguracją wydruku sobie poradziłem, ale z raportem idzie gorzej - wywala błędy. Być może wybieram zły "Główny Element" - DokumentZK, może lepiej wyjść od asortymentu?
Do tego momentu jest ok:
source
.Select((DokumentZK dokumentZK) => new Wynik
{
Id = dokumentZK.Id,
dokNazwa = dokumentZK.NumerWewnetrzny.PelnaSygnatura,
podNazwa = dokumentZK.Podmiot.NazwaSkrocona,
});
Wywala błędy, gdy dodaję takie pozycje jak:
Ilość emisji = dokumentZK.PolaWlasneAdv.PW_5Zasiegreklamy,
asoNazwa = dokumentZK.AsortymentAktualny.Nazwa,
asoilosc = dokumentZK.Ilosc,
Dlaczego: podNazwa = dokumentZK.Podmiot.NazwaSkrocona - jest OK, a podNazwa = dokumentZK.Zamawiający.Nazwa - nie jest OK?
Będę wdzięczny za pomoc.
-
Wywala błędy, gdy dodaję takie pozycje jak:
Ilość emisji = dokumentZK.PolaWlasneAdv.PW_5Zasiegreklamy,
asoNazwa = dokumentZK.AsortymentAktualny.Nazwa,
asoilosc = dokumentZK.Ilosc,
Dlaczego: podNazwa = dokumentZK.Podmiot.NazwaSkrocona - jest OK, a podNazwa = dokumentZK.Zamawiający.Nazwa - nie jest OK?
Będę wdzięczny za pomoc.
1. Ilość emisji - nazwa nie może zawierać spacji
2. asoNazwa, asoIlosc - te dane nie znajdują się na dokumencie ZK, ale na pozycjach dokumentów. Trzeba zmienić element podstawowy na PozycjaDokumentu i odfiltrować je do dokumentów ZK lub jeśli pozostaje DokumentZK to na początku trzeba zrobić source.SelectMany(zk => zk.PozycjeDokumentu).
3. dokumentZK.Zamawiający.Nazwa - nie mam teraz jak sprawdzić, ale raczej ZK nie zawiera pola Zamawiajacy (mowa oczywiście o modelu danych, a nie formatce)
Tak na szybko (nie sprawdzone, z głowy piszę) to powinno lepiej zadziałać
source
.SelectMany(zk => zk.PozycjeDokumentu).Select(pd => new Wynik
{
Id = pd.Dokument.Id,
dokNazwa = pd.Dokument.NumerWewnetrzny.PelnaSygnatura,
podNazwa = pd.Dokument.Podmiot.NazwaSkrocona,
IloscEmisji = pd.Dokument.PolaWlasneAdv.PW_5Zasiegreklamy,
asoNazwa = pd.AsortymentAktualny.Nazwa,
asoilosc = pd.Ilosc
});
-
Dzięki podmieniłem kod i teraz wywala błąd:
https://www.dropbox.com/s/z5838hlty86fjze/nexo.JPG?dl=0 (https://www.dropbox.com/s/z5838hlty86fjze/nexo.JPG?dl=0)
-
Pozmieniaj PozycjeDokumentu na Pozycje. Powinno być lepiej.
-
Zmieniłem wg wskazówek. Zacząłem od jednej danej, aby wykluczyć inne błędy i zadziałał. Dzięki!
Mam jeszcze problem ze wstawieniem jednostki miary i Opis Pozycji - można to też wstawić?
Poniżej kod, który działa:
source
.SelectMany(zk => zk.Pozycje).Select(pd => new Wynik
{
Id = pd.Dokument.Id,
dokNazwa = pd.Dokument.NumerWewnetrzny.PelnaSygnatura,
podNazwa = pd.Dokument.Podmiot.NazwaSkrocona,
asoNazwa = pd.AsortymentAktualny.Nazwa,
asoIlosc = pd.Ilosc,
Zasieg = (pd.Dokument as DokumentZK).PolaWlasneAdv.PW_10Iloscmodulow,
Formareklamy = (pd.Dokument as DokumentZK).PolaWlasneAdv.PW_1Formareklamy.Nazwa,
Dostarczenie = (pd.Dokument as DokumentZK).PolaWlasneAdv.Sposobdostarczeniezamowienia.Nazwa,
});
-
opis = pd.Opis,
jm = pd.JednostkaMiaryAs.JednostkaMiary.Symbol
-
Wszystko śmiga:) Dzięki wielkie!
Musiałbym jeszcze filtrowanie ogarnąć. Mogę i w tej kwestii liczyć na wskazówki:)
-
Raport działa. Teraz jeszcze chciałbym do niego dołączyć filtrowanie. Jest to do zrobienia za pomocą konfiguracji parametrów na które składają się: NAZWA, ETYKIETA TYP?
Zależy mi na filtrowaniu po:
- asortymencie z grupy o nazwie AUTO (najlepiej wybór z listy) - po wybranie konkretnego asortymentu na liście pozostaje tylko wybrany (asoNazwa = pd.AsortymentAktualny.Nazwa)
- polu opisowym, tutaj raczej typ pola treść (źródło danych:Opis = pd.Opis)
- forma, lista pole wielokrotnego wyboru (źródło danych: Formareklamy = (pd.Dokument as DokumentZK).PolaWlasneAdv.PW_1Formareklamy.Nazwa)
Będę wdzięczny za pomoc.