Skocz do zawartości

Sfera w Subiekt nexo PRO - czy potrzebna Sfera PRO+ i jak zbudować DanePolaczenia w aplikacji zewnętrznej?

Polecane posty

Dzień dobry,

buduję własną aplikację integracyjną do Subiekta nexo PRO i utknąłem na dwóch
sprawach - jednej licencyjnej i jednej technicznej.

Środowisko:
- Subiekt nexo PRO 60.0.0.9195 (instalacja przez InsLauncher)
- MS SQL Server 2019 Express
- aplikacja zewnętrzna: konsolowa, .NET 8, uruchamiana z Harmonogramu zadań
  na serwerze, bez interfejsu użytkownika
- docelowo: aktualizacja danych kontrahenta i zmiana opiekuna z naszego panelu
  CRM, później wystawianie dokumentów z zamówień

1. LICENCJA

Czy licencja Subiekt nexo PRO uprawnia do uruchomienia zewnętrznej aplikacji
korzystającej ze Sfery, czy konieczny jest moduł Sfera PRO+?

Pytam, bo w opisie wersji PRO widnieje "Sfera dla Subiekta nexo - możliwość
tworzenia własnych rozwiązań", w cenniku nie ma osobnej pozycji "Sfera dla
Subiekta nexo" (są tylko odpowiedniki dla linii GT), a opis Sfery PRO+ mówi
wyłącznie o Sferze zdarzeniowej i Menu sferycznym, czyli o rozszerzeniach
wewnątrz programu.

Jeśli jednak wymagana jest Sfera PRO+ - czy trzeba nią objąć wszystkie
stanowiska licencji, czy tylko to jedno, na którym działa integracja?

2. DANEPOLACZENIA W APLIKACJI URUCHAMIANEJ SAMODZIELNIE

Aplikacja nie jest uruchamiana z poziomu nexo, więc Odbierz() odpada.
Zostają dwie drogi i przy obu mam pytanie:

a) WczytajZTestowegoPlikuStartowego(plik) - jak wygenerować taki plik
   startowy? Z którego miejsca w programie?

b) Jawne(...) - jakie wartości podać dla parametrów plikStartowy oraz
   nazwaWdrozenia przy instalacji przez InsLauncher? Katalogi wdrożenia mam
   pod AppData\Local\InsERT\Deployments\Nexo\<wdrożenie>\{Binaries, Config, Work}
   i podaję je odpowiednio jako katalogBinariow, katalogPlikowKonfiguracyjnych
   i katalogTymczasowy.

Moja próba wygląda tak:

    var dane = DanePolaczenia.Jawne(
        @".\INSTANCJA", "Nexo_MojaFirma",
        true, null, null,          // uwierzytelnianie Windows do serwera
        false, null,
        katalogBinariow, katalogConfig, katalogWork,
        null,                      // plikStartowy - tu zgaduję
        "<nazwa katalogu wdrożenia>");

    var mp = new MenedzerPolaczen { DostepDoUI = false };
    using var uchwyt = mp.Polacz(dane, ProductId.Subiekt, null, null);

Efekt: DanePolaczenia tworzy się bez wyjątku, ale właściwość WersjaSfery jest
pusta, a Polacz kończy się NullReferenceException. Wygląda na to, że dane
połączenia są niekompletne, tylko nie wiem które pole jest tu kluczowe.

3. DROBIAZG

Czy sesja Sfery zajmuje stanowisko licencyjne na czas działania? Chcę
zaplanować uruchomienia integracji tak, żeby nie odbierać stanowiska
pracownikom w godzinach pracy.

Z góry dziękuję za każdą podpowiedź.

Link to postu

1.NEXO PRO - Wystarcza do aplikacji zewnętrznych, jak konsolowa. Sfera PRO+ służy do integrowania elementów bezpośrednio w programach, np. własna opcja menu w Subiekcie.

2.W SKD w katalogu narzędzia, znajduje się plugin do VS, proszę go zainstalować i skorzystać z szablonu, który stworzy instalator itp. To najlepsza metoda tworzenia programów.

3.Tak zajmuje stanowisko, ale np. jak na tym samym komputerze, ktoś działa na Subiekcie i Sfera odpala się z licencją Subiekta, to działają na jednej - liczy się Program+Komputer.

 

  • Lubię to 1
Link to postu

Wszystko, co Pan napisał jest prawdą. Muszę tylko doprecyzować jedną kwestię.

Godzinę temu, Radomił Ząbik napisał:

3.Tak zajmuje stanowisko, ale np. jak na tym samym komputerze, ktoś działa na Subiekcie i Sfera odpala się z licencją Subiekta, to działają na jednej - liczy się Program+Komputer.

Tak rzeczywiście będzie pod warunkiem, że zarówno w programie, jak i w dodatku sferycznym zalogowany jest ten sam użytkownik. Jeżeli na jednym komputerze jednocześnie pracuje dwóch różnych użytkowników, każdy z nich zajmuje jedno stanowisko licencyjne. W efekcie wykorzystywane są dwa stanowiska z licencji.

  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...