Autor Wątek: Nieaktywni kontrahenci  (Przeczytany 6986 razy)

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

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Nieaktywni kontrahenci
« dnia: Styczeń 04, 2015, 18:58:37 »
Może ktoś z Państwa ma zestawienie SQL, podające nieaktywnych odbiorców.
Chodzi mi o to, żeby wyłączyć kontrahentów (ustawić jako nieaktywnych) , którzy nie dokonali zakupu towarów np. w roku 2014.
Pozdrawiam
Tadeusz

Offline Chris

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 2846
  • Reputacja +275/-0
  • Wersja programu: GT, Nexo - aktualne
Odp: Nieaktywni kontrahenci
« Odpowiedź #1 dnia: Styczeń 04, 2015, 22:12:18 »
Coś podobnego było tutaj http://www.forumsubiekta.pl/dodatki-zestawienia/poszukuje-rozwiazania-zestawienie-kontrahentow/msg44404/#msg44404
Dla stałego forumowicza "wydłubałem" gotowca.
update kh__Kontrahent
set kh_Zablokowany = 1 where kh_Id in
(select kh_Id from dok__Dokument join kh__Kontrahent on dok_PlatnikId = kh_Id
where dok_Typ=2 and kh_Zablokowany = 0
group by kh_Id
having MAX(dok_DataWyst) < '2014-01-01')
Krzysztof, Radom

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #2 dnia: Styczeń 07, 2015, 10:40:20 »
Dziękuję Chris za zestawienie, ale jest w nim błąd.
Dopisałem przed pierwszym wierszem SELECT, bo taką miałem podpowiedź, ale zgłasza błąd z "Update ".
Jeśli mógłbyś sprawdzić składnię.
Pozdrawiam
Tadeusz

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17217
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Nieaktywni kontrahenci
« Odpowiedź #3 dnia: Styczeń 07, 2015, 10:42:31 »
"select" nie jest poprawnym zapytaniem SQL, należy dopisać na przykład "select 1".
Daniel, Białystok.

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #4 dnia: Styczeń 07, 2015, 10:59:10 »
Dzieki
Niestety dopisanie cyfry 1 spowodowało tylko to, że polecenie jest poprawne, ale po uruchomieniu wyświetla wiersz z "1" i dalej nic. Nie znam SQLa dlatego pytam.
Tadeusz

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17217
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Nieaktywni kontrahenci
« Odpowiedź #5 dnia: Styczeń 07, 2015, 11:07:16 »
Nie musisz się znać na SQL'u, wystarczy abyś się znał na kopiowaniu ;) Czy kod w zestawieniu SQL wygląda "identycznie" jak na forum ?
Daniel, Białystok.

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #6 dnia: Styczeń 07, 2015, 11:22:03 »
Do zestawienia z Forum dopisałem tylko "Select', bo tak podpowiadał test, że polecenie musi rozpoczynać się słowem kluczowym Select.
Tadeusz

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17217
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Nieaktywni kontrahenci
« Odpowiedź #7 dnia: Styczeń 07, 2015, 11:27:52 »
No dobrze, czy obecna część zestawienia SQL (poza pierwszą linią o treści "select 1") jest taka sama jak na forum ?
Daniel, Białystok.

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #8 dnia: Styczeń 07, 2015, 11:35:31 »
W odpowiedzi Chrisa wybrałem kod: Zaznacz, więc chyba zaznaczyło wszystko i to wkleiłem do zestawienia, nic nie zmieniałem.
Tadeusz

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17217
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Nieaktywni kontrahenci
« Odpowiedź #9 dnia: Styczeń 07, 2015, 11:40:20 »
Czyli jednak nie zrobiłeś tego co napisałem:

należy dopisać na przykład "select 1".

Zestawienie powinno wyglądać tak:

select 1

update kh__Kontrahent
set kh_Zablokowany = 1 where kh_Id in
(select kh_Id from dok__Dokument join kh__Kontrahent on dok_PlatnikId = kh_Id
where dok_Typ=2 and kh_Zablokowany = 0
group by kh_Id
having MAX(dok_DataWyst) < '2014-01-01')
Daniel, Białystok.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9233
  • Reputacja +1306/-21
  • Wersja programu: Najnowsza
Odp: Nieaktywni kontrahenci
« Odpowiedź #10 dnia: Styczeń 07, 2015, 11:44:37 »
Czy zestawienie :
Cytuj
select kh_Id from dok__Dokument join kh__Kontrahent on dok_PlatnikId = kh_Id
where dok_Typ=2 and kh_Zablokowany = 0
group by kh_Id
having MAX(dok_DataWyst) < '2014-01-01'
coś pokazuje?

Jeżeli tak to może oczekujesz jakiś wodotrysków w zestawieniu, a nie sprawdzasz czy kontrahenci zostali już pozmieniani...
Sławek, Zduńska Wola

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #11 dnia: Styczeń 07, 2015, 12:10:30 »
Chris, to zestawienie nic nie pokazuje.
W zapytaniu chodziło mi o wykaz kontrahentów, którzy nie dokonali zakupu o określonym okresie czasu, żeby ustawić ich jako nieaktywnych.
Dziękuje Tobie i Danielowi za pomoc, posiedzę kilka godzin i sprawdzę 500 odbiorców, temat zamykam.
Pozdrawiam serdecznie
Tadeusz

Offline tomaszf

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 524
  • Reputacja +12/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Nieaktywni kontrahenci
« Odpowiedź #12 dnia: Styczeń 07, 2015, 12:14:55 »
To zapytanie:
select 1

update kh__Kontrahent
set kh_Zablokowany = 1 where kh_Id in
(select kh_Id from dok__Dokument join kh__Kontrahent on dok_PlatnikId = kh_Id
where dok_Typ=2 and kh_Zablokowany = 0
group by kh_Id
having MAX(dok_DataWyst) < '2014-01-01')

ustawi Ci automatycznie to co chcesz.

Wykonaj je i sprawdź ręcznie czy odpowiedni kontrahenci są ustawieni jako nieaktywni.

Offline TadWar

  • Aktywny użytkownik
  • ***
  • Wiadomości: 388
  • Reputacja +27/-0
  • Wersja programu: Subiekt GT, Rewizor GT, v 1.45
Odp: Nieaktywni kontrahenci
« Odpowiedź #13 dnia: Styczeń 07, 2015, 13:26:00 »
Zestawienie wykonało się.
Przepraszam wszystkich za tyle korespondencji.
Myślałem, że uruchamiając zestawienie wyświetli mi się lista kontrahentów bez zakupu, ale sprawdziłem teraz w Subiekcie i zestawienie wykonało się prawidłowo.
Dziękuję za pomoc.
Tadeusz
Tadeusz

Offline benyjacek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 479
  • Reputacja +7/-0
Odp: Nieaktywni kontrahenci
« Odpowiedź #14 dnia: Grudzień 05, 2016, 14:32:05 »
Witam

Chciałem odświeżyć ten wątek bo mam bardzo podobne do tego pytanie, czy analogicznie da radę zrobić top samo dla towarów w kartotece ?

Forum Użytkownikow Subiekt GT

Odp: Nieaktywni kontrahenci
« Odpowiedź #14 dnia: Grudzień 05, 2016, 14:32:05 »