Autor Wątek: Zamówienia od klienta  (Przeczytany 8781 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #15 dnia: Maj 16, 2017, 08:11:55 »
Bardzo dziękuję za odpowiedź. Spróbuję to ogarnąć :D

Edit:
Niestety nie mogę sobie poradzić z wywołaniem adresu dostawy nawet w nowej kolumnie :/
« Ostatnia zmiana: Maj 16, 2017, 14:52:52 wysłana przez wilku84 »

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #16 dnia: Maj 17, 2017, 12:08:42 »
Nie ogarniam.
Błagam pomóżcie :D

Coś mi się tu zapętla
SELECT
Dok.dok_Id AS ID,
Dok.dok_DataWyst,
Dok.dok_NrPelny,
Adres.adrh_Nazwa AS Nazwa,
Adres.adrh_Miejscowosc AS Miejscowosc,
Adres.adrh_Adres AS Ulica,
Adres.adrh_Kod AS Kod_pocztowy,

Dok.dok_KwWartosc AS Wartość,
Dok.zre_KwWartosc,
Dok.dok_TerminRealizacji,
Dok.dok_RodzajOperacjiVat,

Dok.dok_TransakcjaId,
Dok.dok_Status
FROM
vwDok4ZamGrid AS Dok

LEFT JOIN adr__Ewid ON adr_TypAdresu = 11
LEFT JOIN adr_Historia AS Adres ON Dok.dok_OdbiorcaAdreshId=Adres.adrh_Id

LEFT JOIN sl_Kategoria AS kat ON Dok.dok_KatId=kat.kat_Id
LEFT JOIN fl_Wartosc AS FlagiWartosci ON Dok.dok_Id=FlagiWartosci.flw_IdObiektu AND flw_IdGrupyFlag = 8

WHERE
Dok.dok_Typ = 16
AND Dok.dok_MagId = 1
AND DateDiff(year, Dok.dok_DataWyst, '20170510')=0
AND (Dok.dok_Status <> 2)
AND (Dok.dok_Status <> 8)
AND (Dok.dok_StatusEx = 0)
ORDER BY
Adres.adrh_Nazwa DESC

Prawdopodobnie w ogóle źle się do tego zabieram. Znalazłem podobny wątek z wywołaniem adresu dostawy i próbowałem to jakoś połączyć. Gdy chciałem wyczyścić kod z niepotrzebnych kolumn wszystko mi się posypało.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #17 dnia: Maj 17, 2017, 13:51:10 »
LEFT JOIN adr__Ewid ON adr_TypAdresu = 11

A gdzie powiązanie adresu kontrahenta z tabeli adr__Ewid z kontrahentem z vwDok4ZamGrid?
Sławek, Zduńska Wola

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #18 dnia: Maj 17, 2017, 14:07:27 »
pokombinowałem, poprzestawiałem i w tej chwili nie zapętla tylko nie wyświetla adresów ;/
SELECT
Dok.dok_Id AS ID,
Dok.dok_DataWyst,
Dok.dok_NrPelny,
Adres.adrh_Nazwa AS Nazwa,
Adres.adrh_Miejscowosc AS Miejscowosc,
Adres.adrh_Adres AS Ulica,
Adres.adrh_Kod AS Kod_pocztowy,

Dok.dok_KwWartosc AS Wartość,
Dok.zre_KwWartosc,
Dok.dok_TerminRealizacji,
Dok.dok_RodzajOperacjiVat,
FlagaUzytk.uz_Identyfikator,
Dok.dok_TransakcjaId,
Dok.dok_Status
FROM
vwDok4ZamGrid AS Dok
LEFT JOIN adr__Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11
-- LEFT JOIN adr__Ewid ON adr_TypAdresu = 11

LEFT JOIN adr_Historia AS Adres ON Dok.dok_OdbiorcaAdreshId=Adres.adrh_Id AND adr_TypAdresu = 1
-- LEFT JOIN adr__Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11

LEFT JOIN sl_Kategoria AS kat ON Dok.dok_KatId=kat.kat_Id
LEFT JOIN fl_Wartosc AS FlagiWartosci ON Dok.dok_Id=FlagiWartosci.flw_IdObiektu AND flw_IdGrupyFlag = 8
LEFT JOIN pd_Uzytkownik AS FlagaUzytk ON FlagiWartosci.flw_IdUzytkownika=FlagaUzytk.uz_Id
LEFT JOIN fl__Flagi AS Flagi ON FlagiWartosci.flw_IdFlagi=Flagi.flg_Id
LEFT JOIN sl_FormaPlatnosci AS FormyPlatnosciKarta ON Dok.dok_KartaId=FormyPlatnosciKarta.fp_id
LEFT JOIN sl_FormaPlatnosci AS FormyPlatnosciKredyt ON Dok.dok_KredytId=FormyPlatnosciKredyt.fp_id
WHERE
Dok.dok_Typ = 16
AND Dok.dok_MagId = 1
AND DateDiff(year, Dok.dok_DataWyst, '20170510')=0
AND (Dok.dok_Status <> 2)
AND (Dok.dok_Status <> 8)
AND (Dok.dok_StatusEx = 0)
ORDER BY
Adres.adrh_Nazwa DESC

Cytuj
LEFT JOIN adr__Ewid ON adr_TypAdresu = 11

A gdzie powiązanie adresu kontrahenta z tabeli adr__Ewid z kontrahentem z vwDok4ZamGrid?
Niestety nie mam pomysłu/wiedzy jak to zrobić

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #19 dnia: Maj 17, 2017, 14:18:02 »
AND adr_TypAdresu = 1

to zbędne

a kolumny z adr__ewid trzeba sobie dodać
Sławek, Zduńska Wola

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #20 dnia: Maj 17, 2017, 22:19:15 »
Cytuj
a kolumny z adr__ewid trzeba sobie dodać
Zapytał bym nieśmiało o coś konkretniejszego lecz boję się czy nie zostanę spoliczkowany :D

EDIT:
PS faktycznie po usunięciu "AND adr_TypAdresu = 1" wróciło do normy tzn. widać już adresy kontrahentów lecz dalej nie wiem jak wywołać adres dostawy.
« Ostatnia zmiana: Maj 17, 2017, 22:23:56 wysłana przez wilku84 »

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #21 dnia: Maj 17, 2017, 22:30:26 »
Napisz sobie

select * from adr__ewid

to zobaczysz jak się nazywają kolumny w tej tabeli

Jak już zobaczysz to wybierz sobie tę którą chcesz zobaczyć w zestawieniu i dopisz tę kolumnę
Sławek, Zduńska Wola

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #22 dnia: Maj 18, 2017, 08:58:59 »
Napisałem i mam teraz puste kolumny lecz w zamówieniach gdzie powinien być adres dostawy (mam odhaczone w zamówieniu inny adres dostawy) mam puste komórki. Coś muszę mieć nie tak albo jeszcze czegoś nie dopisałem.
SELECT
Dok.dok_Id AS ID,
Dok.dok_DataWyst,
Dok.dok_NrPelny,
Adres.adrh_Nazwa AS Nazwa,
Adres.adrh_Miejscowosc AS Miejscowosc,
Adres.adrh_Kod AS Kod_pocztowy,
Adres.adrh_Adres AS Ulica,
adr_Ulica,
adr_Kod,
adr_Miejscowosc,

Dok.dok_KwWartosc AS Wartość,
Dok.zre_KwWartosc,
Dok.dok_TerminRealizacji,
Dok.dok_RodzajOperacjiVat,
FlagaUzytk.uz_Identyfikator,
Dok.dok_TransakcjaId,
Dok.dok_Status
FROM
vwDok4ZamGrid AS Dok

LEFT JOIN adr__Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11
LEFT JOIN adr_Historia AS Adres ON Dok.dok_OdbiorcaAdreshId=Adres.adrh_Id

-- LEFT JOIN adr__Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11
-- LEFT JOIN adr_Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11
-- LEFT JOIN adr__Ewid ON adr_TypAdresu = 11

LEFT JOIN sl_Kategoria AS kat ON Dok.dok_KatId=kat.kat_Id
LEFT JOIN fl_Wartosc AS FlagiWartosci ON Dok.dok_Id=FlagiWartosci.flw_IdObiektu AND flw_IdGrupyFlag = 8
LEFT JOIN pd_Uzytkownik AS FlagaUzytk ON FlagiWartosci.flw_IdUzytkownika=FlagaUzytk.uz_Id
LEFT JOIN fl__Flagi AS Flagi ON FlagiWartosci.flw_IdFlagi=Flagi.flg_Id
LEFT JOIN sl_FormaPlatnosci AS FormyPlatnosciKarta ON Dok.dok_KartaId=FormyPlatnosciKarta.fp_id
LEFT JOIN sl_FormaPlatnosci AS FormyPlatnosciKredyt ON Dok.dok_KredytId=FormyPlatnosciKredyt.fp_id
WHERE
Dok.dok_Typ = 16
AND Dok.dok_MagId = 1
AND DateDiff(year, Dok.dok_DataWyst, '20170510')=0
AND (Dok.dok_Status <> 2)
AND (Dok.dok_Status <> 8)
AND (Dok.dok_StatusEx = 0)
ORDER BY
Adres.adrh_Nazwa DESC

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zamówienia od klienta
« Odpowiedź #23 dnia: Maj 18, 2017, 09:08:52 »
Skoro pobierasz adres dostawy z kontrahenta zamiast z adresu dostawy zamówienia to dlaczego te dane miałyby się pojawić ?
Daniel, Białystok.

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #24 dnia: Maj 18, 2017, 14:39:58 »
Cytuj
Skoro pobierasz adres dostawy z kontrahenta zamiast z adresu dostawy zamówienia to dlaczego te dane miałyby się pojawić ?
Niestety z opisu tabel nie potrafię tego określić. Mogę prosić o jakąś konkretną odpowiedź/ podpowiedź?

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #25 dnia: Maj 18, 2017, 15:33:02 »
Po pierwsze namyśl się czy chcesz pobierać adres dostawy z kontrahenta czy z zamówienia (nie zawsze to muszą być te same adresy)

Po drugie (jeżeli zalezy Ci na adresie dostawy z kartoteki kontrahenta) masz w zapytaniu takie coś:
LEFT JOIN adr__Ewid ON dok_Id = adr_IdObiektu AND adr_TypAdresu = 11

adr_IdObiektu ma wskazywać na kontrahenta a nie na dokument
Sławek, Zduńska Wola

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #26 dnia: Maj 18, 2017, 22:08:00 »
Adres dostawy będę pobierał z zamówienia (przynajmniej taki miałem zamiar ;) ).

Jeśli z kartoteki kontrahenta to powinienem dać tak?
kh_Id = adr_IdObiektu

a może któreś z tych?  zlpz_IdKontrahenta / kdk_IdKontrahenta

Przepraszam że tak zgaduję ale nie mam w tej chwili możliwości przetestowania dopiero rano sprawdzę w Subiekcie.
Co w przypadku gdy chcę pobierać adresy z zamówienia? Czy powinienem coś podmienić analogicznie w tym zapytaniu?

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #27 dnia: Maj 18, 2017, 23:11:34 »
Adres dostawy będę pobierał z zamówienia (przynajmniej taki miałem zamiar ;) ).
A sprawdziłeś czy w używanym przez Ciebie widoku jest odwołanie do adresu dostawy z dokumentu?
Sprawdź w dok__dokument pole odpowiedzialne za adres dostawy (zwróć uwagę szczególnie na dok_AdresDostawyAdreshId)

Jeśli z kartoteki kontrahenta to powinienem dać tak?
kh_Id = adr_IdObiektu

a może któreś z tych?  zlpz_IdKontrahenta / kdk_IdKontrahenta

Przepraszam że tak zgaduję ale nie mam w tej chwili możliwości przetestowania dopiero rano sprawdzę w Subiekcie.
To nie zgaduj, zainstaluj sobie subiekta, SSMS to zobaczysz jakie pola są w używanym przez Ciebie widoku

Co w przypadku gdy chcę pobierać adresy z zamówienia? Czy powinienem coś podmienić analogicznie w tym zapytaniu?

No oczywiście, że powinieneś coś podmienić. Użytkownicy są dzisiaj bardzo niecierpliwi - od razu chcą mieć całe zapytanie.
Ja chyba jakiś nietypowy jestem, bo wiele lat temu zainstalowałem podmiot testowy bez danych przykładowych, dodawałem poszczególne dokumenty  sprawdzałem co mi się pojawia w bazie danych.
Jak pisałem jakieś zapytanie to najpierw była jedna tabela zmieniałem coś w dokumencie i sprawdzałem co się zmienia w tabeli (np dok__dokument), znów zmieniałem i znów sprawdzałem. Ja wiem, że to trwa ale dzięki temu wiedziałem (i trochę mi z tego zostało) co i jak jest zapisywane w bazie danych.
Zdaję sobie sprawę, że w bazie jest mnóstwo tabel, ale do większości podstawowych zapytań z Subiekta myślę, że wystarczy znajomość 20-30 obiektów (tabel, widoków).

Jak chcesz się nauczyć to zacznij od podstawowej tabeli i powoli rozszerzaj zapytanie, ale w ten sposób, żebyś wiedział co co oznacza każde wyrażenie w zapytaniu. Metoda "Kopiuj i Wklej" prędzej czy później się zemści.

Sławek, Zduńska Wola

Offline wilku84

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: sgt 1.44
Odp: Zamówienia od klienta
« Odpowiedź #28 dnia: Maj 19, 2017, 10:28:44 »
Jeszcze dla upewnienia że robię wszystko dobrze czyli że dodając adres dostawy w taki sposób, to zestawienie ma szanse działać dodaję zrzuty ekranu w załączniku.

Cytuj
Sprawdź w dok__dokument pole odpowiedzialne za adres dostawy (zwróć uwagę szczególnie na dok_AdresDostawyAdreshId)
Zrobiłem tak:
select

*

from
vwDok4ZamGrid AS Dok

WHERE

Dok.dok_Typ = 16
AND Dok.dok_MagId = 1
AND DateDiff(year, Dok.dok_DataWyst, '20170510')=0
AND (Dok.dok_Status <> 2)
AND (Dok.dok_Status <> 8)
AND (Dok.dok_StatusEx = 0)
Niestety w wyniku nie widzę żadnej kolumny z adresem dostawy.
Bardzo proszę o dalszą pomoc.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zamówienia od klienta
« Odpowiedź #29 dnia: Maj 19, 2017, 10:39:27 »
Niestety w wyniku nie widzę żadnej kolumny z adresem dostawy.
Bardzo proszę o dalszą pomoc.

Przeczytaj na głos to co zacytowałeś to będziesz miał pomoc.
Sławek, Zduńska Wola

Forum Użytkownikow Subiekt GT

Odp: Zamówienia od klienta
« Odpowiedź #29 dnia: Maj 19, 2017, 10:39:27 »