Autor Wątek: Sfera - reakcja na dodanie nowego dokumentu  (Przeczytany 2692 razy)

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

Offline pawel.sikowski

  • Nowy użytkownik
  • *
  • Wiadomości: 1
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.58 SP1 HF1
Sfera - reakcja na dodanie nowego dokumentu
« dnia: Listopad 20, 2019, 08:38:48 »
Witam,

w firmie dla której piszę obecnie rozszerzenie do Subiekta konieczne jest wysyłanie nowo dodanych dokumentów na oddzielną, niezależną platformę. Przy okazji muszę też pouzupełniać pola własne w zależności od kilku zmiennych. Obecnie realizowane jest to przy pomocy SqlTableDependency (https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency). Mój problem polega na tym, że zapis dokumentu w Subiekcie przebiega "na raty" (przynajmniej takie sprawia wrażenie), gdzie pojedyncze kliknięcie przycisku "Zapisz" wywołuje przynajmniej kilka różnych UPDATE-ów i jeden INSERT, przy czym INSERT nie uzupełnia wszystkich koniecznych danych i śledzenie które zapytanie jest tym na które powinienem zareagować jest problematyczne.

Czy istnieje w Sferze jakieś pewniejsze rozwiązanie umożliwiające reagowanie dodatku sferowego na dodanie nowego dokumentu? Może lepiej byłoby całkowicie zrezygnować z reakcji bezpośrednio na dodanie dokumentu i zastosować flagę lub pole własne i odpytywać co jakiś czas subiekta czy nie pojawiły się jakieś nowe dokumenty które jeszcze nie zostały przez dodatek obsłużone.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17055
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - reakcja na dodanie nowego dokumentu
« Odpowiedź #1 dnia: Listopad 20, 2019, 09:13:18 »
w firmie dla której piszę obecnie rozszerzenie do Subiekta konieczne jest wysyłanie nowo dodanych dokumentów na oddzielną, niezależną platformę. Przy okazji muszę też pouzupełniać pola własne w zależności od kilku zmiennych. Obecnie realizowane jest to przy pomocy SqlTableDependency (https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency). Mój problem polega na tym, że zapis dokumentu w Subiekcie przebiega "na raty" (przynajmniej takie sprawia wrażenie), gdzie pojedyncze kliknięcie przycisku "Zapisz" wywołuje przynajmniej kilka różnych UPDATE-ów i jeden INSERT, przy czym INSERT nie uzupełnia wszystkich koniecznych danych i śledzenie które zapytanie jest tym na które powinienem zareagować jest problematyczne.

No tak, prosto nie ma, musisz się postarać i dobrze to oprogramować.

Czy istnieje w Sferze jakieś pewniejsze rozwiązanie umożliwiające reagowanie dodatku sferowego na dodanie nowego dokumentu?

W GT - nie.

Może lepiej byłoby całkowicie zrezygnować z reakcji bezpośrednio na dodanie dokumentu i zastosować flagę lub pole własne i odpytywać co jakiś czas subiekta czy nie pojawiły się jakieś nowe dokumenty które jeszcze nie zostały przez dodatek obsłużone.

Wybór rozwiązania należy do Ciebie, dla mnie oba są poprawne.
Daniel, Białystok.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: Sfera - reakcja na dodanie nowego dokumentu
« Odpowiedź #2 dnia: Grudzień 11, 2019, 12:03:22 »
Cytuj
Czy istnieje w Sferze jakieś pewniejsze rozwiązanie umożliwiające reagowanie dodatku sferowego na dodanie nowego dokumentu?
... Sfera jak Sfera, 'root couse' tego problemu to SqlTableDependency i tego się trzymaj. Nie nasłuchuj bezpośrednio bazy danych, bo to Ci nic nie da (dużo się dzieje - to już wiesz).
Zamiast tego próbuj triggera, który zapisze Ci id dokumentu, do (swojej własnej) pomocniczej tabeli.... i właśnie insertów w tej tabeli nasłuchuj poprzez SqlTableDependency.
Temat jest mi bliski, bo zabieram się za realizację podobnego rozwiązania.

Forum Użytkownikow Subiekt GT

Odp: Sfera - reakcja na dodanie nowego dokumentu
« Odpowiedź #2 dnia: Grudzień 11, 2019, 12:03:22 »