Autor Wątek: Subiekt 1.70 Nazwa zmiennych obiektowych Kontrahenci  (Przeczytany 1456 razy)

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

Offline jacekjarz

  • Nowy użytkownik
  • *
  • Wiadomości: 2
  • Reputacja +0/-0
  • Wersja programu: 1.70
Subiekt 1.70 Nazwa zmiennych obiektowych Kontrahenci
« dnia: Luty 15, 2022, 01:58:36 »
Dzień dobry!
Używam macro napisanego w VBA do wystawiania zdalnego faktur i rachunków z Subiekta za pomoca tabelki kontrahentów zrobionej i aktualizowanej w Excel. Leci zdalnie kilkaset faktur z róznymi kontrahentami, cenami i nazwami towarów. Uzywam to Macro już od ok 7-8 lat i wszystko było OK do czasu jak dzisiaj nie zaktualizowałem Subiekta do wersji 1,70.

Przy wykonywaniu instrukcji:
Set okh = Subiekt.Kontrahenci.Wczytaj(CStr(Cells(i, kolumna)))
Macro się wysypuje; podświetlany jest wyraz Kontrahenci oraz pojawia się okienko z komunikatem: Compile error. Method or data member not Found
To samo się dzieje w innych miejscach Macro gdzie jest odwołanie Subiekt.Kontahenci.
Aktualizowałem jeszcze raz Subiekt oraz Windows 10 którego używam, po tym reset kompa ale nic to nie dało.
Bardzo proszę o pomoc wyjadaczy spraw subiektowych

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9214
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Subiekt 1.70 Nazwa zmiennych obiektowych Kontrahenci
« Odpowiedź #1 dnia: Luty 15, 2022, 08:26:34 »
Hasło dla Ciebie do nadrobienia to: KontrahenciManager

Cytat z pomocy:
Cytuj
Ogólne informacje na temat obiektów xxxManager
 
     W Sferze od wersji 1.14 dostępne są nowe obiekty do obsługi kolekcji. Są to obiekty kolekcji o nazwie xxxKolekcja, oraz obiekty wspierające zarządzanie kolekcjami o ogólnej nazwie xxxManager, gdzie xxx to prefiks oznaczający jaki obiekt dany Manager wspomaga. Na przykład TowaryManager ma za zadanie wspierać kolekcję towarów (TowaryKolekcja), a SuDokumentyManager ma wspierać
kolekcję dokumentów (SuDokumentyKolekcja). Zadaniem Managerów jest
wspieranie kolekcji w zakresie:
 - dodawania nowych obiektów
 - wczytywania obiektów
 - sprawdzania istnienia obiektów w bazie danych
 - otwierania kolekcji
 - udostępniania obiektu listy

    Doświadczony twórca aplikacji Sferycznych powinien zapytać: zaraz, ale przecież to wszystko już było, przecież dotychczasowe kolekcje miały już metody pozwalające na zrealizowanie wymienionych funkcjonalności?
    Owszem, ale do tej pory kolekcje miały kilka wad. Podstawową z nich było to, że raz utworzonej kolekcji obiektów nie można było łatwo odświeżyć. Po powołaniu jej do życia, w celu odświeżenia, należało zamknąć obiekt aplikacji, uruchomić go i na nowo załadować kolekcję. Obecnie Managery są wyposażone w metodę OtworzKolekcje, która w locie buduje kolekcję (bez potrzeby przeładowywania aplikacji). Jako argument tej metody można zadać warunek WHERE (celem wybrania odpowiednich elemetnów do kolekcji) oraz sposób sortowania ORDER (celem odpowiedniego uporządkowania obiektów w kolekcji). Działa to o wiele szybciej i jest znacznie bardziej wydajne niż metody dostępne przed wersją 1.14 systemu InsERT GT.

    Poza tym Managery zostały wyposażone w pewne metody specyficzne. Na przykład FinManager (którego zadaniem jest wspieranie kolekcji dokumentów finansowych) ma metody:
 - DodajDokumentKasowy
 - DodajOperacjeBankowa
 - DodajRozrachunek
 - DodajSplate
 których znaczenie jest opisane w odpowiednich rozdziałach pomocy.
 
    Kolejną ważną nowością jest wyposażenie każdego z Managerów w 2 metody: Wczytaj i WczytajCoś. Zostanie to wyjaśnione na przykładzie: DkrManager ma metodę Wczytaj, która działa "po staremu" i udostępnia obiekt Dekret z interfejsem IDispatch (co na przykład w języku C# skutkuje koniecznością rzutowania takiego obiektu na określony typ InsERT.Dekret). Natomiast "nowa" metoda WczytajDokument zwraca obiekt z interfejsem specyficznym dla dekretu, co nie wymaga rzutowania.
 
   Obecnie zatem "stare" kolekcje:
- SuDokumenty
- Towary
- Kontrahenci
- Pracownicy
nie powinny być używane i są pozostawione w modelu obiektowym wyłącznie ze względu na wsteczną zgodność.


Sławek, Zduńska Wola

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17122
  • Reputacja +799/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Subiekt 1.70 Nazwa zmiennych obiektowych Kontrahenci
« Odpowiedź #2 dnia: Luty 15, 2022, 17:14:39 »
Uzywam to Macro już od ok 7-8 lat i wszystko było OK do czasu...

Tak to działa, już 8 lat temu nie powinien być wykorzystywany obiekt "Kontrahenci".
Daniel, Białystok.

Forum Użytkownikow Subiekt GT

Odp: Subiekt 1.70 Nazwa zmiennych obiektowych Kontrahenci
« Odpowiedź #2 dnia: Luty 15, 2022, 17:14:39 »