Skocz do zawartości

[Wzorce][ZK] Odczytanie danych z obiektu Osoba/Przedstawiciel umieszczonego w polu "Wystawił(a)" na ZK.

Polecane posty

Wiem, że to pole jest tekstowe i można tam wprowadzić wszystko.

 

nexo także sugeruje Imię+Nazwisko Osób, które są wpisane w Kontrahencie dowolnej ze stron transakcji (Płatnik, Odbiorca, itp.)

image.thumb.png.3e6e3d6964aa4c53667b25868c443840.png

 

Moim pytaniem jest czy w przypadku takiego wyboru - w bazie gdzieś powstaje powiązanie do Osoby/Przedstawiciela czy to tylko przekopiowany tekst?

 

Chciałbym na wydruku ZK umieszczać także np. telefony i emaile osoby zamawiającej.

Jeżeli więc te pole to tylko string, to sugeruje utworzenie w zakładce Code funkcji, która po Imieniu i Nazwisku znajdywała taką Osobę. Problem tylko, że nie jest rozwiązanie poprawne, bo takie Imię i Nazwisko nie jest kluczem unikalnym (co najwyżej można ograniczyć je Stronami na dokumencie, ale 1 Osoba może być przedstawicielem wielu).

 

Pytanie zatem - czy da się to jakoś aktualnie zrobić?

 

Jeżeli nie - to czy można spodziewać się dodania w bazie danych powiązania, oprócz stringa "Wystawil", dodatkowego w postaci "WystawilOsobaId" (lub podobne) wskazującego na Osobę gdy wybrana została z listy (lub null, gdy nie). Tutaj też trzeba rozważyć te powiązania do wielu, bo jeden Przedstawiciel może występować w wielu Firmach, więc te "WystawilOsobaId" musiałby wskazywać odpowiednio wg wybranego (gdy dokument ma wiele Stron transakcji a osoba jest przedstawicielem więcej niż jednej z nich):

image.thumb.png.a58b390f33c40e76459d3e8d6c9d8795.png

 

Edytowane przez Ernest Sadowski
Link to postu
  • Ernest Sadowski zmienił tytuł na [Wzorce][ZK] Odczytanie danych z obiektu Osoba/Przedstawiciel umieszczonego w polu "Wystawił(a)" na ZK.

W modelu danych jest zarówno pole Wystawil/Odebral tekstowe jak i WystawilaOsoba/OdebralaOsoba jako relacja do ewidencji. Jedna z tych relacji będzie zawsze pusta, a wieć gdy jest to FS, to OdebralaOsoba będzie puste i tylko w Odebral będzie wpisany tekst, a  dla FZ to WystawilaOsoba będzie puste.

Link to postu
16 godzin temu, Przemysław Werner napisał:

W modelu danych jest zarówno pole Wystawil/Odebral tekstowe jak i WystawilaOsoba/OdebralaOsoba jako relacja do ewidencji. Jedna z tych relacji będzie zawsze pusta, a wieć gdy jest to FS, to OdebralaOsoba będzie puste i tylko w Odebral będzie wpisany tekst, a  dla FZ to WystawilaOsoba będzie puste.

WystawilaOsoba i OdebralaOsoba faktycznie okaże się przydatna bo wskazuje na Osobę wprowadzającą dokument do Subiekta, a to pole (jedno z nich) faktycznie nigdy nie jest puste. Przydatne będzie do podawania danych kontaktowych wystawcy dokumentów ZK, ZD i FS.

Rozwiązuje to tą ważniejszą połowę problemu. :)

 

Może komuś się przyda:

{Dokument.encjaDokumentu.WystawilaOsoba.Podmiot.Telefon}          // Wartość przekopiowana z poniższego
{Dokument.encjaDokumentu.WystawilaOsoba.Podmiot.Aktualny.Telefon} // Aktualny Podstawowy ('P') Kontakt typu 'telefon'
{Dokument.encjaDokumentu.WystawilaOsoba.Podmiot.Aktualny.Fax}     // Aktualny Podstawowy ('P') Kontakt typu 'fax'
{Dokument.encjaDokumentu.WystawilaOsoba.Podmiot.Aktualny.Email}   // Aktualny Podstawowy ('P') Kontakt typu 'e-mail'

{Dokument.encjaDokumentu.OdebralaOsoba.Podmiot.Telefon}          // Wartość przekopiowana z poniższego
{Dokument.encjaDokumentu.OdebralaOsoba.Podmiot.Aktualny.Telefon} // Aktualny Podstawowy ('P') Kontakt typu 'telefon'
{Dokument.encjaDokumentu.OdebralaOsoba.Podmiot.Aktualny.Fax}     // Aktualny Podstawowy ('P') Kontakt typu 'fax'
{Dokument.encjaDokumentu.OdebralaOsoba.Podmiot.Aktualny.Email}   // Aktualny Podstawowy ('P') Kontakt typu 'e-mail'

 

Można także dostać się do dowolnych kontaktów z listy Klienta (Pracownika, Przedstawiciela, Osoby):

{Dokument.encjaDokumentu.WystawilaOsoba.Podmiot.Kontakty}
{Dokument.encjaDokumentu.OdebralaOsoba.Podmiot.Kontakty}

...ale należy pamiętać, ze są to listy więc użyć trzeba DataBand i odfiltrować.

 

Zauważyłem też ciekawe powiązania w powyższych 'Podmiot.Kontakty':

image.png.d2ea2aea88fb16f3581aef82bdf86380.png

...które mogą okazać się przydatne do drugiej części problemu - mianowicie podawania danych kontaktowych osoby przeciwnej (od strony Kontrahenta).

 

Jeżeli chodzi o drugą stronę problemu:

Miło by było, gdyby obiekt przeciwny (WystawilaOsoba vs. OdebralaOsoba), skoro i tak aktualnie jest zawsze nullowy, także miał przypisaną osobę, gdy ta wybrana jest z listy (drop-down) możliwych Przedstawicieli. Widzę wtedy także łatwe rozwiązanie faktu, gdzie nawet gdy taki Przedstawiciel byłby przypisany do wielu firm, dałoby się odpowiednio odfiltrować odpowiednie Kontakty przypisane do firmy wybranej na dokumencie (lub wielu firm gdy jest ich wiele na Dokumencie, dla którego Osoba jest Przedstawicielem więcej niż 1 z nich).

 

Proszę o możliwe dodanie i komentarz w temacie, gdyby coś się zmieniło. :)

 

Da się to napisać samemu (kodem wybrać obiekt osoby po Imieniu Nazwisku i przyrównać do osób będących przedstawicielami stron na dokumencie) ale gra nie warta świeczki. Za dużo pisania na ten moment. :P

 

EDIT:

Przypomnę jeszcze o fakcie, że jeżeli ZK ma wypełnione pole "Oryginał:" to wartości WystawilaOsoba i OdebralaOsoba są odwrócone (są one najwyraźniej uzupełniane w momencie pobierania danych z bazy, bo wystarczy dodać/skasować Sygnaturę Oryginału i się zamieniają miejscami.

 

Dodam, ze ten temat był już poruszany na forum (chyba coś związanego z raportami) i proszono o możliwość wyłączenia tej funkcji. Nie dotyczy to tylko danych na wzorcu (tu sobie poradzę IIF-em), ale także całego programu, gdzie nadanie numeru oryginału obraca dane o 180st.

 

Czy należy się spodziewać zmian w tym zakresie?

 

U nas "ZK" to swoiste Potwierdzenie Zamówienia (Order Confirmation / OC) na podstawie dokumentu zamówienia (Purchase Order / PO) klienta. Wystawcą OC jesteśmy zawsze my i trochę to nieintuicyjne.

Edytowane przez Ernest Sadowski
Link to postu
×
×
  • Dodaj nową pozycję...