SOLIDWORKS PDM – Tworzenie list dla kart PDM na bazie TSQL

HomeRozwiązaniaZarządzanie

SOLIDWORKS PDM – Tworzenie list dla kart PDM na bazie TSQL

Korzystając na co dzień z SOLIDWORKS PDM próbujemy nieustannie automatyzować część procesów, które w naszej codziennej pracy są powtarzalne. Biorąc pod uwagę łatwość z jaką administruje się przechowalnią SOLIDWORKS PDM w stosunku do innych programów tego typu dzisiaj chciałem Państwu przedstawić jak skonfigurować tworzenie automatycznych list dla kart PDM – czyli wykazu wartości danej zmiennej, które możemy podłączyć bezpośrednio z serwerem SQL dzięki czemu generowanie listy jest szybkie, powtarzalne, informacje są przechowywane w bezpiecznym miejscu i co najważniejsze całkowicie powiązane z naszymi innymi projektami / zleceniami.

Dzisiaj będę chciał przedstawić Państwu jak utworzyć rozwijalną listę klientów na przykładzie tworzenia nowego zamówienia w dziale handlowym firmy.

Należy pamiętać, że metoda opisana w powyższym artykule nie ingeruje w informacje zapisane w strukturze serwera SQL – wysyła jedynie zapytanie i otrzymuje zdefiniowaną w pytaniu, odpowiednio sformatowaną odpowiedź. Wszelkie zmiany, których dokonujemy po raz pierwszy testujemy najpierw na kopii przechowalni produkcyjnej.

1. W tym kroku będziemy chcieli odszukać zmienną „Nazwa Klienta” oraz ułożyć kwerendę, którą będziemy wywoływać przy tworzeniu listy SQL.

W pierwszej kolejności na serwerze z zainstalowaną instancją SQL Server uruchamiamy program SQL Server Management Studio i logujemy się za pomocą konta Windows lub innego konta z dostępem do bazy, którą będziemy chcieli odpytywać.

W oknie „Object Explorer” znajdującym się domyślnie po lewej stronie rozwijamy gałąź „Databases” oraz gałąź z nazwą bazy danych, do której chcemy ułożyć zapytanie. Domyślnie nazwa bazy danych będzie taka sama jak nazwa przechowalni PDM. W moim przykładzie będę się posługiwał bazą danych o nazwie PDM-SE. Poniższej metody możemy użyć również do odpytywania innych baz danych, niekonieczne tych bezpośrednio związanych z SOLIDWORKS PDM.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_09h07_08.png

2. Kolejnym krokiem jest odnalezienie tablicy przechowującej informacje o zmiennych jakie są utworzone w przechowalni. W tym celu rozwijamy gałąź „Tables” zaznaczoną powyżej zieloną strzałką i odszukujemy tablicę o nazwie „dbo.Variable”. Po kliknięciu prawym przyciskiem myszy wybieramy opcję „Select Top 1000 Rows”.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_09h15_23.png

Polecenie wywoła zapytanie, którego treść możemy podejrzeć w górnej części okna oraz odpowiedź w sekcji „Results” jak poniżej.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_09h23_02.png

Przeglądamy otrzymane wyniki aż do napotkania szukanej zmiennej. Sprawdzamy jakie ID otrzymała ta zmienna na serwerze SQL podczas zakładania. W mojej przechowalni będzie to „Nazwa Klienta” o numerze ID=89. Numery ID dla zmiennych są zgodne z kolejnością ich dodawania do przechowalni więc będą różne w różnych przechowalniach.

3. Tablica „dbo.Variable” zawiera wyłącznie listę zmiennych z ich parametrami, aby sprawdzić jakie wartości przyjmuje zmienna „Nazwa Klienta” musimy wywołać zapytanie klikając prawym przyciskiem myszy na tabela „dbo.VariableValue” i ponownie wybieramy opcję „Select Top 1000 Rows”.

Odnajdując pośród wyników wiersze zawierające „VariableID” = 89 w kolumnie „ValueText” otrzymamy wartości wpisaną do danej zmiennej. Skąd jednak mamy wiedzieć, które pliki posiadają daną wartość zmiennej „Nazwa Klienta” ? Informuje nas o tym kolumna „DocumentID” zawierająca numer porządkowy kolejnych plików znajdujących się w przechowalni.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_09h32_31.png

4. Kiedy odszukaliśmy już wartości zmiennej „Nazwa Klienta” chcielibyśmy stworzyć listę wszystkich klientów, którzy byli już wpisani na kartach danych innych plików tak aby móc wybierać nazwy z utworzonej listy lub dodawać swoje wartości.

W tym celu zmodyfikujemy zapytanie SQL tak aby otrzymać wyniki w zadowalającej nas formie.

W ramach przypomnienia – korzystamy z zapytania listującego tablicę „dbo.VariableValue” wybierając opcję „Select Top 1000 Rows”.

Jak zaznaczono poniżej nie chcemy ograniczać się jedynie do pierwszego tysiąca wyników więc usuwamy z kwerendy fragment polecenia zawierający wyrażenie „TOP 1000” oraz nie potrzebne są nam inne zmienne z wybranej tablicy niż „ValueText”.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_10h19_03.png

Dodatkowo zawęzimy wyszukiwanie wartości jedynie do „Nazwy Klienta” poprzez wartość w kolumnie „VariableID”.

Po modyfikacji nasza kwerenda powinna wyglądać jak poniżej.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_10h31_06.png

Uruchamiamy przygotowane zapytanie poprzez wybranie przycisku „Execute” znajdującego się na górnym pasku poleceń. Wynik poniżej.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_10h33_02.png

Musimy jeszcze wyeliminować powtarzające się wyniki oraz dodać sortowanie alfabetyczne aby uporządkować i ułatwić wyszukiwanie na tworzonej przez nas liście. Po modyfikacji kwerenda powinna wyglądać następująco.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_10h38_03.png

5. Na tym etapie należy jedynie skopiować przygotowane przez nas zapytanie do listy w aplikacji „Administracja” SOLIDWORKS PDM. W tym celu po uruchomieniu programu odnajdujemy po lewej stronie pozycję „listy dla kart”, klikamy prawym przyciskiem myszy i wybieramy „Dodaj nową”.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_10h53_51.png

Jako typ danych wskazujemy „Z bazy danych SQL” oraz wklejamy utworzoną przez nas wcześniej kwerendę. Musimy jeszcze uzupełnić listę o dane dostępowe do serwera SQL.

Na koniec wybieramy przycisk „Test” aby sprawdzić poprawność połączenia z bazą danych.

Możemy też zmniejszyć odstęp czasowy pomiędzy kolejnymi odczytami listy z serwera SQL.

6. Utworzona przez nas lista może być teraz wstawiona na kartę szablonu nowego zlecenia. Dodajemy „proste pole kombi” i podłączamy ją do utworzonej przez nas listy „Klienci”.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_11h55_43.png

7. Po wywołaniu szablonu nowego zlecenia w naszym polu kombi możemy wybrać nazwę z posortowanej alfabetycznie listy lub dodać nową pozycję.

C:\Users\Andrzej\Pictures\Screenpresso\2019-01-03_12h38_13.png