Na początek należy wyjaśnić lepiej pojęcie zestawu. Zestaw jest strukturą złożoną zawierającą tzw. nagłówek oraz listę elementów zawartych w tym zestawie (produktów i/lub innych zestawów). W nagłówku znajdują się wszystkie wspólne dla tego zestawu informacje jak: Nazwa długa, nazwa krótka, waga, cena, parametry itp.
Tak się składa, że produkty i usługi są też zestawami z tym, że ich lista zawartych w nich elementów jest pusta.
Oferta jest też zestawem i różni się jedynie tym (od innych zestawów), że oferta nie może być składnikiem innych zestawów. Poza tym oferta ma uwidocznione dodatkowe pola w nagłówku, których nie widać w innych zestawach (jak "Tekst wstępny", "Tekst końcowy" itp.)
Każda najbardziej złożona struktura (np. Samochód, rower etc.) składa się z innych elementów. Niektóre z tych innych elementów same składają się z różnych elementów jak części czy kompletne zespoły (przykładem tu może być silnik samochodu czy koło roweru).
Powyższe informacje opisują złożone produkty, które zawierają elementy jednorodne (nieparametryczne). Dobrymi przykładami są tu właśnie rower czy samochód.
Są też takie złożone produkty, które mogą posiadać elementy zależne od pewnego parametru. Dobrym przykładem tu może być np. drabina. Możemy sobie wyobrazić, że identyczne modele prostych drabin mogą różnić się wysokością (a przez to też ilością szczebli). Opisując takie produkty potrzebne jest ich parametryzacja. Jeśli parametrem będzie długość drabiny to, jak można się domyślać, od tego parametru nie będzie zależeć tylko długość dwóch bocznych listew, ale też będzie zależeć ilość szczebli. Aby wyliczyć cenę (koszt) drabiny będzie trzeba uzależnić ten koszt od długości drabiny i pośrednio od ilości szczebli. W tej drabinie również są elementy łączące szczeble z bocznymi listwami. Ich ilość też będzie zależeć od długości drabiny. Jak widać parametry powinny wpływać na:
1. | Wymiary poszczególnych elementów (tu długość bocznych listew) |
2. | Ilość niektórych elementów (tu ilość szczebli i elementów łączących) |
3. | Na cenę elementów, których wymiary czy inne cechy zależą od parametrów (przykładem tu mogą być znowu listwy boczne drabiny, których cena z pewnością będzie funkcją długości). |
Program TILIGO właśnie korzysta z tych zależności.
Jeśli zbudujemy taką jednorodną strukturę jak np. rower to widać w niej, że cena (koszt) roweru będzie sumą części składowych. Tak więc najpierw wyznacza się cenę poszczególnych najdrobniejszych części. Potem sumuje się cenę zestawów złożonych z tych części a następnie oblicza się sumę cen zestawów. Tak więc taką hierarchiczną strukturę oblicza się z dołu do góry czyli od najdrobniejszych części, przez ceny zespołów (zestawów) do ceny całości.
Kierunek liczenia pokazany jest poniżej:
Taki nieparametryczny system jednak nie będzie wystarczający do opisania złożonych parametrycznych struktur takich jak drabiny, przenośniki, okna, drzwi i inne produkty, które posiadają zmienne właściwości.
Parametry mogą być zadeklarowane na każdym poziomie, ale wartości parametrów są ustalane wyłącznie na najwyższym poziomie, czyli w ofercie. Ustalanie ich na niższym poziomie nie ma specjalnego sensu (pomijając specjalne parametry o lokalnym działaniu).
Tak więc parametry propagują się odwrotnie niż ceny, czyli z góry na dół.
Dokładnie całość działania wygląda tak, że najpierw są propagowanie parametry w dół a potem ceny (uzależnione od tych parametrów) zliczają się w górę struktury hierarchicznej.
Parametry w zestawach dzielą się na dwa typy:
1. | Parametry globalne (które są deklarowane w zestawie ale ich wartość jest określana w zestawie nadrzędnym) |
2. | Parametry linii, których wartość może (ale nie musi) zależeć od parametrów globalnych. Działanie tych parametrów obowiązuje tylko w obrębie danej linii i ma wpływ tylko na cenę jednostkową produktu czy usługi (o ile cena ta jest funkcją parametryczną) |
Sposób obliczeń złożonej struktury pokazany jest poniżej:
W całej strukturze hierarchicznej obowiązują następujące zasady:
1. | Jeżeli cena danego zestawu (w tym produktu/usługi) jest określona, jako funkcja to wtedy konkretna wartość ceny ustalana jest w zestawie nadrzędnym (zawierającym dany zestaw/produkt) |
2. | Ustalone parametry w danej linii (parametry linii) mają wpływ jedynie na określenie ceny w tej samej linii |
3. | „Ilość” w danej linii może być też parametryczna z tym, że funkcja w tym wypadku może zależeć od parametrów globalnych (w odróżnieniu od ceny w linii, która może korzystać tylko z parametrów lokalnych). |
4. | Parametry globalne w danym zestawie są tylko deklarowane w danym zestawie a ich wartości są określane w zestawie wyżej (tak jak to jest w przypadku cen). W danym zestawie można określić tylko testowe wartości dla parametrów globalnych (co czasami może nie być zbyt zrozumiałe dla użytkowników) |
5. | Możliwe jest też określanie w zestawie parametrów globalnych o zasięgu lokalnym (działających tylko w obrębie danego zestawu). Te parametry mają tylko pomocnicze znaczenie. |