Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Tworzenie wielu rekordów jednocześnie
05-07-2019, 07:58,
#1
Tworzenie wielu rekordów jednocześnie
Cześć,

w projekcie mam 3 warstwy Poligonowa, Tab_1, Tab_złączeniowa. Chciałbym znaleźć sposób na dodawanie wielu rekordów do tabeli złaczeniowej.
Proces ma polegać na tym, aby wybrać kilka polygonów i jeden rekord z TAb_1(promocje) i na podstawie tego wyboru stworzyło nowe rekordy w tabeli złączeniowej
id_pol1 - id_prom1
id_pol2 - id_prom1
id_pol3 - id_prom1
...

Warstwy stoją na postgresie. Akutalnie rozwiązuje problem triggerami na bazie i dodatkowymi kolumnami roboczymi w tabeli poligonów. Przy użyciu multiedycji wstawiam do kilku poligonów promocje i na tej podstawie trigger tworzy nowe rekordy, jest to dość pokręcone rozwiązanie, trochę nieoptymalne wymaga  np. czyszczenia kolumn i do końca mnie nie satysfakcjonuje.
Czy macie pomysł na rozwiązanie?
05-07-2019, 11:32,
#2
RE: Tworzenie wielu rekordów jednocześnie
Nie do końca rozumiem co chcesz osiągnąć, ale ja bym to zrobił tak jak opisałem niżej.

W tabeli Poligonów zakładasz kolumnę referującą do Tab_1, przechowującą id_prom1.
Podpinasz  id z tab_1 jako słownik do tej kolumny, żeby zapisywać w niej id z Tab_1.
Piszesz trigger, który w wypadku edycji tej kolumny z ID z Tab_1, wstawiał do Tab_złączeniowa wartości, np. ID_TAB_ZLACZENIOWEJ, id_pol1,  id_prom1, data_wstawienia (żeby nad tym panować i móc śledzić historię zmian w promocjach).
W poligonie przechowywana jest tylko ostatnia wartość edycji.
Możesz jeszcze pododawać sobie jakieś pola informujące o datach i osobach modyfikujących (jeśli to więcej osób używa).
To tak na szybko z pobieżną znajomością tematu.
09-07-2019, 13:04,
#3
RE: Tworzenie wielu rekordów jednocześnie
Może niezrozumiale rozpisałem, ale właśnie stosuje aktualnie takie rozwiązanie jak zaproponowałeś, jednak szukam innego, które będzie bardziej przyjazne użytkownikowi i nie będzie wymagało zbyt wielu kliknięć. Z projektu będą korzystać osoby, które mają bardzo małe obycie z qgisem, a teraz procedura dopisywania promocji do obiektów jest dosyć skomplikowana.
09-07-2019, 15:39,
#4
RE: Tworzenie wielu rekordów jednocześnie
Wg mnie to jest proste rozwiązanie...

Możesz sobie też napisać Akcję dla tabeli promocji.
1) Na warstwie poligonów zaznaczasz narzędziem wyboru obiekty, które mają mieć promocję
2) W warstwie promocji dodajesz akcję (we właściwościach, musisz to w pythonie oprogramować), która dla wybranej promocji (przycisk wywołujący się może pojawić w tej tabeli) szuka poligonów w ich warstwie, które są zaznaczone, dla tych poligonów wstawia na warstwę złączeniową ich id + id promocji.

Możesz to też w postaci wtyczki zrobić, z tym, że zaznaczasz poligony i albo zaznaczasz wiersz z tab promocji, albo w oknie wtyczki tworzysz sobie listę promocji i z niej odznaczasz co ma powstać.
Mam nadzieję, że za bardzo nie namieszałem w opisie Smile

Nie widzę jak to bardziej uprościć i pytanie czy to "upraszczanie" ma sens (czasowy i ekonomiczny)


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Otwarcie kilku projektów jednocześnie Mazur 7 7 862 10-11-2017, 14:04
Ostatni post: Mazur
  Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP Matteusz 3 9 114 30-06-2017, 22:24
Ostatni post: bociusek
  Stylizacja - automatyczny zapis stylów dla wielu warstw Michau 2 6 533 10-10-2016, 20:43
Ostatni post: Italiano
  wyświetlanie długość boków w poligonie i 2 etykiet jednocześnie Mazur 2 6 810 28-09-2016, 10:33
Ostatni post: Mazur
  Łączenia jeden do wielu tomalos 6 19 673 13-02-2012, 20:16
Ostatni post: tomalos
  jak przeszukać wiele warstw jednocześnie ? tomsik 1 7 136 13-11-2010, 23:49
Ostatni post: Rayo

Skocz do: