Autor Wątek: Naklejki  (Przeczytany 4555 razy)

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

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Naklejki
« dnia: Listopad 07, 2018, 16:20:39 »
Utworzyłem szablon naklejek i chciałbym przygotować pracownikom skrypt do którego wpisują symbole lub wybierają towary z listy a następnie zostają drukowane naklejki. W dokumentacji Sfery odnalazłem metodę DrukujNaklejkiZTowarami dla obiektu TowaryKolekcja ale nie wiem jak go utworzyć bo nie ma żadnych przykładów (chyba, że znowu mam nieaktualny plik pomocy). Prosił bym o jakieś przykłady lub więcej informacji (na forum nie odnalazłem pomocnego tematu).


Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Naklejki
« Odpowiedź #1 dnia: Listopad 07, 2018, 16:41:58 »
Słabo, bardzo słabo przeglądasz tę pomoc, wszystkie kolekcje i managery działają analogicznie, więc poszukaj w innych analogicznych tematach, na przykład "SuDokumentyKolekcja".
Daniel, Białystok.

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Naklejki
« Odpowiedź #2 dnia: Listopad 07, 2018, 19:32:37 »
W pliku pomocy przeglądałem materiały związane z naklejkami i tam nie ma przykładów czy nawet opisów jak to działa.
Analizowałem obiekt "SuDokumentyKolekcja" i analogicznie próbowałem utworzyć obiekt

$oKolekcja = $oSubiekt.TowaryKolekcja()
lub

$oKolekcja = $oInsert.TowaryKolekcja()
ale taki obiekt nie chce się utworzyć. Mogę prosić o jakiś przykład związany z metodą "DrukujNaklejkiZTowarami" ?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Naklejki
« Odpowiedź #3 dnia: Listopad 07, 2018, 20:00:15 »
W pliku pomocy przeglądałem materiały związane z naklejkami i tam nie ma przykładów czy nawet opisów jak to działa.

W "mojej" pomocy to wszystko to jest, nie wiem czego oczekujesz więcej, to przecież sprowadza się do wywołania jednej metody na kolekcji towarów, ale kolekcje obiektów są obsługiwane od początku istnienia Sfery...

Analizowałem obiekt "SuDokumentyKolekcja" i analogicznie próbowałem utworzyć obiekt

Serio, to zamieść kod (przykład z pomocy do programu) tworzący kolekcję dokumentów i porównamy do tego co zamieściłeś dla kolekcji towarów.
Daniel, Białystok.

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Naklejki
« Odpowiedź #4 dnia: Listopad 07, 2018, 20:11:10 »
Sub SuDokumentyKolekcja()  -- nie wiem co to oznacza więc to pominąłem
On Error GoTo ErrHandler
 
Dim oSubGT As InsERT.Subiekt -- to wiadomo, mam tak w każdym skrypcie, że tworze obiekt tylko ja go nazywam $oSubiekt
Dim oDok As InsERT.SuDokument -- to przypuszczam mozemy zostawic na pozniej (dla towarow mozna utworzyc $oTowar = $oSubiekt.Towary.Wczytaj($towar_symbol)
Dim oDokK As InsERT.SuDokumentyKolekcja  -- to jest chyba najwazniejsze czyli utworzyc obiekt z kolekcja i tutaj sie zawiesilem
Dim oDokL As InsERT.SuDokumentyLista
Dim filtr As String
Dim kolejnosc As String
Dim i As Variant
 
Set oSubGT = UruchomSubiekta()
oSubGT.Okno.Widoczne = True
 
filtr = "dok_Typ =2 and (dok_Id in (Select flw_IdObiektu from fl_Wartosc where flw_IdFlagi =1002))"
kolejnosc = ""
 
 
Set oDokK = oSubGT.SuDokumentyManager.OtworzKolekcje(filtr, kolejnosc)
 
Set oDokL = oDokK.Wybierz()
oDokL.FiltrTypOpcje = InsERT.FiltrSuDokumentOpcjeEnum.gtaFiltrSuDokumentOpcjeFS
oDokL.MultiSelekcja = True
oDokL.Wyswietl
 
For Each i In oDokL.ZaznaczoneId
  Set oDok = oSubGT.SuDokumentyManager.WczytajDokument(i)
  oDok.Wyswietl False
  oDok.Zamknij
Next
 
Exit Sub
ErrHandler:
  MsgBox Err.Number & " - " & Err.Descriptiot
End Sub


To jest przykład z pliku pomocy dotyczący obiektu SuDokumentyKolekcja wraz z moimi komentarzami. Nie wiem jak się do tego odwołać. Nigdy nie pracowałem na "kolekcjach". Z przykładu wywnioskowałem, że najpierw trzeba utworzyć kolekcję ale wywala mi od razu błąd.

$oInsertGT = ObjCreate("Insert.GT")
$oInsertGT.Produkt = 1
$oInsertGT.Wczytaj("C:\ProgramData\InsERT\InsERT GT\Subiekt.xml")
$oSubiekt = $oInsertGT.Uruchom(Int(0x0), Int(0x0))

$oKolekcja = $oSubiekt.TowaryKolekcja()

Dodam, że nie programuje w języku VBA więc kod może się trochę różnić i już pisałem inne skrypty i wszystko działa np. dla operacji na towarach czy dokumentach.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Naklejki
« Odpowiedź #5 dnia: Listopad 07, 2018, 20:24:04 »
Przeczytaj opis metody OtworzKolekcje (obiekt PracownicyManager)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Naklejki
« Odpowiedź #6 dnia: Listopad 07, 2018, 21:01:54 »
No przeczytałem. Fajnie opisane (w przeciwieństwie do obiektu TowaryKolekcja). Tam dla obiektu PracownicyManager wykorzystuje sie metode OtworzKolekcje do której z kolei wrzuca się filtry i sortowanie. Czyli tutaj analogicznie dla obiektu TowaryManager wykorzystuje sie metode OtworzKolekcje z filtrami i sortowaniem?
Próbowałem kodu:
Local $oKolekcja = $oSubiekt.TowaryKolekcja.OtworzKolekcje("tw_Rodzaj=1", "tw_Symbol")ale też dostaję błąd.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Naklejki
« Odpowiedź #7 dnia: Listopad 07, 2018, 21:05:55 »
Nie wiem w czym piszesz (php? nie znam), ale co to znaczy "dostaję błąd"?
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Naklejki
« Odpowiedź #8 dnia: Listopad 07, 2018, 21:16:33 »
Local $oKolekcja = $oSubiekt.TowaryKolekcja.OtworzKolekcje("tw_Rodzaj=1", "tw_Symbol")
Local $oKolekcja = $oSubiekt^ ERROR

COM ERROR:
------------------------------
err.number is: 0x80020006
err.windescription: Nieznana nazwa.

err.description is:
err.source is:
err.helpfile is:
err.helpcontext is:
err.lastdllerror is: 0
err.scriptline is: 16
err.retcode is: 0x00000000
------------------------------

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Naklejki
« Odpowiedź #9 dnia: Listopad 07, 2018, 21:19:18 »
Nie znam się na tym w czym piszesz, ale będzie to raczej coś takiego:

Local $oKolekcja = $oSubiekt.TowaryManager.OtworzKolekcje("tw_Rodzaj=1", "tw_Symbol")
Sławek, Zduńska Wola

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Naklejki
« Odpowiedź #10 dnia: Listopad 07, 2018, 21:24:16 »
Nie znam się na tym w czym piszesz, ale będzie to raczej coś takiego:

Local $oKolekcja = $oSubiekt.TowaryManager.OtworzKolekcje("tw_Rodzaj=1", "tw_Symbol")

Testowałem to zanim to napisałeś i faktycznie taka forma jest poprawna i wygląda na chwilę obecną, że działa.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Naklejki
« Odpowiedź #11 dnia: Listopad 07, 2018, 22:11:55 »
Zacytowany przykład z dokumentacji:

Cytuj
Set oDokK = oSubGT.SuDokumentyManager.OtworzKolekcje(filtr, kolejnosc)

wystarczyło przecież "przez analogię" skorzystać z managera towarów zamiast managera dokumentów, aby otrzymać oczekiwane rozwiązanie:

Local $oKolekcja = $oSubiekt.TowaryManager.OtworzKolekcje("tw_Rodzaj=1", "tw_Symbol")
Daniel, Białystok.

Offline 113sp

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.74
Odp: Naklejki
« Odpowiedź #12 dnia: Styczeń 16, 2023, 23:04:08 »
Podepnę się pod ten wątek.
Potrzebuję otworzyć kolekcję, ale posortować elementy malejąco.
Zgodnie z dokumentacją:
vSortowanie
String. Określa sposób sortowania elementów w kolekcji. Składnia stringu musi być zgodna z klauzulą ORDER BY polecenia SELECT…FROM języka Transact-SQL. W listę elementów sortowania wchodzą tylko pola z tabeli dok__Dokument.

ale jak wstawiam polecenie
oDokKolekcja = oSubiekt.SuDokumentyManager.OtworzKolekcje("dok_Typ=11", "dok_Id desc")

to kolekcja tworzy się tylko dla dokumentów WZ, ale porządek raczej wg kolejności występowania w bazie.... czyżby można tylko określić pola sortowania?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Naklejki
« Odpowiedź #13 dnia: Styczeń 16, 2023, 23:12:08 »
Nie zgaduj co robi program, sprawdź.
Daniel, Białystok.

Forum Użytkownikow Subiekt GT

Odp: Naklejki
« Odpowiedź #13 dnia: Styczeń 16, 2023, 23:12:08 »