Autor Wątek: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru  (Przeczytany 8668 razy)

0 użytkowników i 2 Gości przegląda ten wątek.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« dnia: Kwiecień 30, 2012, 15:42:25 »
Przeszukalem forum i nie mogę znaleźć kontrolki wyboru kontrahenta z pola multiwyboru - tzn pojawia sie lista kontrahentów i wybieramy z listy kilku z nich klikając w przycisk zaznacz. W pomocy są przykłady wyboru jednokrotnego.
Czy ktoś mógłby podzielić sie taka definicja pola?
Chodzi mi o taki wybór jak jest w przypadku wbudowanego zestawienia przyjęcia towarów wg kontrahentów, asortymentu...
Krzysiek

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #1 dnia: Kwiecień 30, 2012, 15:52:07 »
To nie jest kontrolka dostępna w zestawieniach własnych SQL, nie masz więcej mozilwości niż opisuje to pomoc. Jak chcesz więcej to pozostaje własna aplikacja, opcjonalnie w formie zestawienia COM.
Daniel, Białystok.

Offline Tworkin

  • Aktywny użytkownik
  • ***
  • Wiadomości: 200
  • Reputacja +43/-0
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #2 dnia: Kwiecień 30, 2012, 16:41:23 »
Kawałek kodu do multiwyboru kontrahenta na zestawieniach własnych SQL (nie polecam używać jak ktoś ma kontrahentów parę tysięcy, bo wtedy taki sposób pracy mija się z celem):

(-1 IN ({CHL_DB:SELECT -1 As kh_Id,'(dowolny)' As Kontrahent UNION ALL SELECT kh_Id,kh_Symbol+' '+adr_Nazwa+' '+ adr_NIP as Kontrahent FROM kh__Kontrahent INNER JOIN adr__Ewid ON adr_IdObiektu = kh_Id And adr_TypAdresu = 1 ORDER BY Kontrahent:Kontrahent:-1:(dowolny)})
OR  kh_Id IN ({CHL_DB:SELECT -1 As kh_Id,'(dowolny)' As Kontrahent UNION ALL SELECT kh_Id,kh_Symbol+' '+adr_Nazwa+' '+ adr_NIP as Kontrahent FROM kh__Kontrahent INNER JOIN adr__Ewid ON adr_IdObiektu = kh_Id And adr_TypAdresu = 1 ORDER BY Kontrahent:Kontrahent:-1:(dowolny)}))


przykład użycia

SELECT kh_Email from kh__Kontrahent where
(-1 IN ({CHL_DB:SELECT -1 As kh_Id,'(dowolny)' As Kontrahent UNION ALL SELECT kh_Id,kh_Symbol+' '+adr_Nazwa+' '+ adr_NIP as Kontrahent FROM kh__Kontrahent INNER JOIN adr__Ewid ON adr_IdObiektu = kh_Id And adr_TypAdresu = 1 ORDER BY Kontrahent:Kontrahent:-1:(dowolny)})
OR  kh_Id IN ({CHL_DB:SELECT -1 As kh_Id,'(dowolny)' As Kontrahent UNION ALL SELECT kh_Id,kh_Symbol+' '+adr_Nazwa+' '+ adr_NIP as Kontrahent FROM kh__Kontrahent INNER JOIN adr__Ewid ON adr_IdObiektu = kh_Id And adr_TypAdresu = 1 ORDER BY Kontrahent:Kontrahent:-1:(dowolny)}))


Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #3 dnia: Kwiecień 30, 2012, 18:47:38 »
@krzychu2078 chyba pytał o coś innego niż opisana w pomocy kontrolka CHL_DB.
Daniel, Białystok.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #4 dnia: Maj 01, 2012, 20:24:00 »
Ta kontrolka mi wystarczy...

zrobiłem zestawienie (z pomocą - dziękuje za nią :) ), którą liczy opakowania z dokumentów PZ I WZ u konkretnego punktu dostawy (Nie płatnika ogółem). Wszytko działa ok. Ale jak dodam opcje multiwyboru to składnia zapytania jest ok, ale zapytanie nie jest wykonywane. W czym mam błąd ??
 A oto zapytanie SQL:
Cytuj
select
    adr_Nazwa as "Dostawca",
    adr_Adres as "ul. dostawy",
    adr_Kod as "kod",
    adr_Miejscowosc as "miejscowość",
    tw_Nazwa  as "Nazwa opakowania",
    sum(case when dok_typ=11 then ob_Ilosc else 0 end) as "Wydania",
    sum(case when dok_typ=10 then ob_Ilosc else 0 end) as "Przyjęcia",
    sum(case when dok_typ=11 then ob_Ilosc else 0 end)- sum(case when dok_typ=10 then ob_Ilosc else 0 end) as "Stan",
    tw_JednMiary as "J.M."
from
dok__dokument join dok_pozycja on dok_Id=ob_DokMagId and ob_TowRodzaj=4
join tw__Towar on ob_TowId=tw_Id
join dbo.vwKlienci on dok_OdbiorcaId=kh_Id

where
dok_typ in(10,11)
and  dok_OdbiorcaId = {CHL_DB:select kh_id, adr_Nazwapelna as ODBIORCA from dbo.vwKlienci where kh_Typ = 1  ORDER BY adr_nazwapelna: Nazwa odbiorcy (gdzie dostarczono)}
group by
adr_Nazwa,
adr_Adres,
adr_Kod,
adr_Miejscowosc,
tw_Nazwa,
tw_JednMiary
Krzysiek

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #5 dnia: Maj 01, 2012, 22:50:44 »
Cytat z pomocy programu:

Cytuj
Dla zaznaczonych na liście kategorii do zapytania zostanie przekazany zbiór identyfikatorów wybranych kategorii. Z tych względów parametr ten powinien występować z takimi słowami kluczowymi języka T-SQL jak: IN, EXISTS, ANY.

czyli fragment:

Cytuj
and  dok_OdbiorcaId = {CHL_DB:select kh_id, adr_Nazwapelna as ODBIORCA from dbo.vwKlienci where kh_Typ = 1  ORDER BY adr_nazwapelna: Nazwa odbiorcy (gdzie dostarczono)}

zamień na:

Cytuj
and  dok_OdbiorcaId in {CHL_DB:select kh_id, adr_Nazwapelna as ODBIORCA from dbo.vwKlienci where kh_Typ = 1  ORDER BY adr_nazwapelna: Nazwa odbiorcy (gdzie dostarczono)}
Daniel, Białystok.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #6 dnia: Październik 16, 2017, 09:33:34 »
Wgrałem najnowszą wersję subiekta i chciałbym zamienić część zestawienia w której jest lista przewijana na okno w którym kontrahenta się szuka z listę wyszukiwania bardziej zaawansowaną funcja LM: Czy ktoś podpowie jak przekształcić tą część zestawienia ?


Cytuj
and  dok_OdbiorcaId in ({CHL_DB:select kh_id, adr_Nazwapelna as ODBIORCA from dbo.vwKlienci where kh_Typ = 1  ORDER BY adr_nazwapelna: Nazwa odbiorcy (gdzie dostarczono)})
Krzysiek

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #7 dnia: Październik 16, 2017, 09:35:05 »
Na prawdę nie zaglądałeś do pomocy do programu, są przykłady...
Daniel, Białystok.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #8 dnia: Październik 16, 2017, 09:46:51 »
Na prawdę nie zaglądałeś do pomocy do programu, są przykłady...

Zaglądałem - czy coś takiego jest ok ?

and  dok_OdbiorcaId IN ({LM:KH:Kontrahent: Nazwa odbiorcy (gdzie dostarczono)})
Krzysiek

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4913
  • Reputacja +173/-11
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #9 dnia: Październik 16, 2017, 09:50:19 »
czy coś takiego jest ok ?
and  dok_OdbiorcaId IN ({LM:KH:Kontrahent: Nazwa odbiorcy (gdzie dostarczono)})
OMG! Nie potrafisz sam spróbować?
Miałbyś odpowiedź szybciej niż trwało napisanie tego postu.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #10 dnia: Październik 16, 2017, 09:55:49 »
Bez komentarza... Cytat z pomocy do programu:

Cytuj
Zestawienia z parametrami przekazywanymi przez kontrolkę wyboru elementu kartotekowego {X}
W zestawieniach własnych SQL można wybierać elementy kartotekowe:

kontrahent
towar
konto w planie kont
pracownik
Służy do tego kontrolka z wyszukiwaniem instynktowym. W definicji zapytania SQL przyjmuje ona następujące parametry:

typ instynktu: TW dla towaru, KH dla kontrahenta, PK dla konta księgowego, PR dla pracownika
nazwę wyświetlaną w zestawieniu
identyfikator domyślnego elementu (opcjonalny)
nazwa domyślnego elementu (opcjonalna).
Kontrolki wyboru elementu kartotekowego mogą być używane w tych programach, w których jest odpowiedni kontekst. Kontrolka:

X:KH - działa we wszystkich programach
X:TW - działa tam, gdzie jest kontekst magazynu (wszystkie programy oprócz Gratyfikanta i mikroGratyfikanta)
X:PK - wymaga kontekstu roku obrachunkowego (Rewizor)
X:PR - działa we wszystkich programach oprócz mikroGratyfikanta.

Poniższe przykłady pokazują, w jaki sposób można korzystać z kontrolek wyboru elementów kartotekowych:

SELECT tw_Id, tw_Symbol, tw_Nazwa FROM tw__Towar WHERE tw_Id = {X:TW:Towar}

SELECT dok_Id, dok_DataWyst, dok_nrPelny
FROM dok__Dokument WHERE dok_PlatnikId = {X:KH:Kontrahent:6:Hurtownia ALA}

Cytuj
Zestawienia z parametrami przekazywanymi przez kontrolkę wyboru zbioru elementów kartotekowych {LM}
W zestawieniach własnych SQL można wybierać zbiór elementów kartotekowych dla następujących kartotek:

kontrahenci
towary
pracownicy
Służy do tego kontrolka listy z wyszukiwaniem instynktowym. W definicji zapytania SQL przyjmuje ona następujące parametry:

typ instynktu: TW dla towaru, KH dla kontrahenta, PR dla pracownika
nazwę wyświetlaną w zestawieniu
zbiór identyfikatorów dla elementów domyślnych (opcjonalny)
nazwa dla elementów domyślnych (opcjonalna).
Kontrolki wyboru elementu kartotekowego mogą być używane w tych programach, w których jest odpowiedni kontekst. Kontrolka:

X:KH - działa we wszystkich programach
X:TW - działa tam, gdzie jest kontekst magazynu (wszystkie programy oprócz Gratyfikanta i mikroGratyfikanta)
X:PR - działa we wszystkich programach oprócz mikroGratyfikanta.
 
Poniższe przykłady pokazują, w jaki sposób można korzystać z kontrolek {LM}:

SELECT tw_Id, tw_Symbol, tw_Nazwa FROM tw__Towar
WHERE tw_Id IN ({LM:TW:Towar})

SELECT dok_Id, dok_DataWyst, dok_nrPelny
FROM dok__Dokument
WHERE dok_PlatnikId IN ({LM:KH:Kontrahent:6,18:Hurtownie ALA i ERIE}
)
Daniel, Białystok.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #11 dnia: Październik 16, 2017, 10:00:55 »
Czyli, że dobrze ?  ;D
Krzysiek

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4913
  • Reputacja +173/-11
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #12 dnia: Październik 16, 2017, 10:03:53 »
Czyli że sprawdź sam.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline krzychu2078

  • Aktywny użytkownik
  • ***
  • Wiadomości: 173
  • Reputacja +3/-0
  • Wersja programu: GT, Sprint
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #13 dnia: Październik 16, 2017, 21:52:27 »
Czyli, że źle po sprawdzeniu...
Krzysiek

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #14 dnia: Październik 16, 2017, 22:32:55 »
Według mnie dobrze.
Daniel, Białystok.

Forum Użytkownikow Subiekt GT

Odp: Kontrolka wyboru kontrahenta - lista wielokrotnego wyboru
« Odpowiedź #14 dnia: Październik 16, 2017, 22:32:55 »