InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: pawel.sikowski w Listopad 20, 2019, 08:38:48

Tytuł: Sfera - reakcja na dodanie nowego dokumentu
Wiadomość wysłana przez: pawel.sikowski w 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.
Tytuł: Odp: Sfera - reakcja na dodanie nowego dokumentu
Wiadomość wysłana przez: dkozlowski w 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.
Tytuł: Odp: Sfera - reakcja na dodanie nowego dokumentu
Wiadomość wysłana przez: night w 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.