Skocz do zawartości

Pola własne na wudruku WZ Dostawca/Odbiorca/Nabywca

Polecane posty

Witam,

Tworzę dodatkowy wzorzec wydruku na podstawie dokumentu WZ. Potrzebuje dostać się do pól własnych kontrahentów Dostawcy, Odbiorcy i Nabywcy ponadto potrzebuje również ich Regon.

Jeżeli chodzi o pozycje dokumentu wszytko zgodnie z tutorialem poniżej działa bez zarzutu.

http://www.druki.gofin.pl/pobierz,2711,karta-przekazania-odpadow.html

 

Ale pola własne kontrahentów jak i Regon są puste (nie drukują się mimo wypełnienia ich), np:  pole {Nabywca.Podmiot.NIP} drukuje się bez problemu ale {Nabywca.Podmiot.REGON} jest puste.

Predefiniowane pola Business Objects - Dostawca, Odbiorca, Nabywca nie zawierają podkategorii pola własne i nie można jej dodać.

 

Próbowałem dostać się tam przez {Dokument.encjaDokumentu.Dostawca.PolaWlasne.PoleWłasne1} ale i to pole pozostaje puste na wydruku, a w ten sposób też nie można dostać się do Nabywcy gdyż takiej referencji nie znalazłem. Również pole {Dokument.encjaDokumentu.WybranyDostawca.REGON} jest puste.

 

Interesuje mnie jeszcze czy można dostać się w jakiś sposób do pola własnego dokumentu nadrzędnego w tym wypadku do Faktury sprzedaży, która jest skojarzona tą WZ.

 

Pozdrawiam

Edytowane przez Korin Bobowski
Link to postu

Generalnie zasada na wydrukach jest taka, że pewne dane są już przygotowane pod wydruki standardowe i są to właśnie, poza Dokumentem, m.in. Nabywca, Dostawca, itd. Akurat REGON nie jest wykorzystywany w standardowych wydrukach i w związku z tym nie działa, mimo, że się w tych typach znajduje. Zostanie to poprawione, ale i tak pozostaje więcej danych, które mogą być potrzebne na wydruku. Trzeba do nich dotrzeć, tak jak Pan to robił, przez powiązania: Dokument-encjaDokumentu itd. Wchodzimy tu w zakres tzw. model u danych, który jest bardziej szczegółowo opisany w nexo SDK. Na tym poziomie należy sobie samemu pododawać powiązane obiekty, z których dane mają się pojawić na wydruku. I tak, dla nabywcy na WZ należy wybrać encjaDokumentu, z menu kontekstowego wybrać New Business Object i w sekcji Child… zaznaczyć NabywcaOdbiorcaWybrany (dane z momentu wystawienia dokumentu) lub NabywcaOdbiorca (aktualne dane klienta) W podobny sposób należy dodać dla niego PolaWlasne i już można je wykorzystywać we wzorcu. Analogicznie jest z odbiorcą. Inaczej natomiast na WZ jest z dostawcą, którym jest, de facto, firma (podmiot) prowadząca działalność i nie ma jawnego powiązania do jej danych. Część danych, ta najpotrzebniejsza, jest dostępna poprzez obiekt Dostawca. Inne dane należy pobrać z serwera SQL w następujący sposób:

 

  1. Wybrać opcję New Data Source typu MS SQL
     
  2. Ustawić tzw. Connection String, czyli parametry połączenia do serwera SQL. Po naciśnięciu ikonki (i) i ustawia się domyślny, można go zmienić na swój, np.
     Integrated Security=False; Data Source=SERWER\EXPRESS; Initial Catalog=nexo_FirmaSpzoo; User ID=sa; Password=insert;

     

  3. W oknie Select Data wybrać New Query i podać zapytanie pobierające wartość pola własnego 1 z "mojej firmy":
    SELECT PoleWlasne1 FROM ModelDanychContainer.Podmioty_PolaWlasnePodmiot AS pw 
    INNER JOIN modeldanychcontainer.Podmioty AS pdm ON pdm.Id=pw.Id 
    WHERE pdm.__MdmDiscriminator__='PodmiotMojaFirma';

     

  4. Nacisnąć RetrieveColumns i zapisać

 

Na stronie wzorca, w odpowiednim miejscu umieścić element Panel i na niego przeciągnąć nowododany element z Data Sources:

 

58e2275e591be_wzorzecwydruku-wasnequery.PNG.32fe42eddba71384095d235a279eada2.PNG

 

Temat powiązań między dokumentami i dostawania się do odpowiednich właściwości był omawiany w wątku https://forum.insert.com.pl/index.php?/topic/765-wzorce-wydruk%C3%B3w-informacje-na-fakturze/ . Dodam tylko, że dla WZ-ek faktury są widoczne jako Dokument.encjaDokumentu.DokumentyRealizujace.

Edytowane przez Jarek K.
zapomniany obraz
Link to postu

Ok.

Wyciągnięcie statycznych danych własnej firmy to banał.

Mnie nadal interesuje jak wyciągnąć dane zależne od pozycji bieżącego dokumentu.

Na podstawie struktury bazy danych ustaliłem, że:

Dostawca to: {Dokument.encjaDokumentu.DokumentZrodlowy.MojaFirmaWybranaId}

Nabywca to:  {Dokument.encjaDokumentu.DokumentZrodlowy.PodmiotWybranyId}

Odbiorca to:  {Dokument.encjaDokumentu.DokumentZrodlowy.OdbiorcaWybranyId}

    

Dodałem sobie MS SQL Data Sorce.

Zrobiłem Query:

SELECT pw.PoleWlasne1, pw.PoleWlasne2, pw.PoleWlasne3, pw.PoleWlasne4, pw.PoleWlasne5, fir.REGON
FROM ModelDanychContainer.Podmioty_PolaWlasnePodmiot AS pw INNER JOIN
     ModelDanychContainer.Podmioty AS pdm ON pdm.Id = pw.Id INNER JOIN
     ModelDanychContainer.Firmy AS fir ON pdm.Id = fir.Firma_Podmiot_Id
WHERE  (pdm.Id = @id)

W zamyśle chciałbym podstawić odpowiednie pole ID Dostawcy/Odbiorcy/Nabywcy do tego zapytania jako parametr @id

ale nie bardzo wiem jak to połączyć Bisiness Objectem? Chyba, że robi się to jakoś inaczej?

Link to postu

Ok.

Podsumowując dla potomności;)

Zapytanie powinno wyglądać jak poniżej. Trzeba zrobić oddzielne zapytania dla Dostawcy, Odbiorcy i Nabywcy najlepiej tworząc unikalny parametr @id.

SELECT pw.PoleWlasne1, pw.PoleWlasne2, pw.PoleWlasne3, pw.PoleWlasne4, pw.PoleWlasne5, fir.REGON
FROM ModelDanychContainer.Podmioty_PolaWlasnePodmiot AS pw INNER JOIN
     ModelDanychContainer.Podmioty AS pdm ON pdm.Id = pw.Id INNER JOIN
     ModelDanychContainer.Firmy AS fir ON pdm.Id = fir.Firma_Podmiot_Id
WHERE  (pdm.Id = @idDostawcy)

W parametrach zapytania w sekcji Parameters zminną Name ustawić jak w zapytaniu pomijając znak '@' czyli u mnie idDostawcy,

zmienną Expression ustawić odpowiednio j/w dla Dostawcy: Dokument.encjaDokumentu.DokumentZrodlowy.MojaFirmaWybranaId.

I wtedy Pola własne i Regon:) są dostępne i można je sobie poprzeciągać na formatkę.

 

DataSource.thumb.jpg.8e78817fcd7dba0e94086e4af3fde33f.jpg

 

Przypisanie zmiennej Expression można osiągnąć w wygodniejszy sposób, podczas edycji parametru naciskając ikonkę kalkulatorka

daje man to dostęp do wszystkich zdefiniowanych wcześniej pól danych również do zdefiniwanych przez siebie.

 

EditParameters.jpg.e7de55b57d859c10b95afc9acbc3a63c.jpg

 

Dzięki za pomoc pozdrawiam. Temat do zamknięcia.

 

Link to postu
×
×
  • Dodaj nową pozycję...