Szacowane kolumny

Oszacowane kolumny to specjalne kolumny, których wyniki zależą od innych kolumn przy użyciu wyrażeń zdefiniowanych przez użytkownika. Obsługiwane są 2 typy oszacowanych kolumn: kolumny formuły i kolumny szablonu.

Kolumny z formułami

Zestawienie materiałów obsługuje pola formuły. Ta sama składnia jest używana w poleceniu WYODRDANYCH. Wyrażenie Formuły to wyrażenie w formacie pól formuły \AcExpr. Może zawierać stałe, takie jak PI lub funkcje, takie jak SIN. Operandem w wyrażeniu może być TytułKolumny ujęty w nawiasy strzałkowe (<> ).

Na przykład formuła =<Masa>/<Objętość> oblicza średnią gęstość komponentu.

Jeśli wiersz nie zawiera wartości, zamiast niej zostanie użyta wartość domyślna. Możliwe jest określenie wartości domyślnej dla operandu przy użyciu następującej składni: <"TytułKolumny",WartośćDomyślna> gdzie TytułKolumny to tytuł wymaganej kolumny, a WartośćDomyślna to wartość domyślna. TytułKolumny musi znajdować się w cudzysłowie ("). Jeśli nie określono wartości domyślnej, zostanie użyta pusta wartość, co w większości przypadków spowoduje puste dane wyjściowe.

Kolumna z formułą może zawierać wiele wyrażeń. Każde wyrażenie powinno być ujęte w nawiasy sumujące ({}). Wyrażenia te są obliczane od pierwszego do ostatniego i używane jest pierwsze z nich, które daje niepusty wynik.

Formuła może odwoływać się do innych kolumn formuły, pod warunkiem, że nie tworzą one pętli. W hierarchicznym BOM formuła może również odwoływać się do wartości wiersza nadrzędnego poprzez dodanie Parent: przed nazwą kolumny. Może również odwoływać się do właściwości, które nie zostały jawnie dodane do tabeli, ale wszystkie inne kolumny formuły, do których odwołuje się formuła, muszą istnieć w tabeli. Takich kolumn wyświetlanych jako niewidoczne w tabeli BOM można nadal używać w wyrażeniach formuły.

W przypadku właściwości odległości, powierzchni, objętości i masy wartości zostaną przekonwertowane na jednostkę zdefiniowaną przez użytkownika przed użyciem ich w wyrażeniu formuły. Jeśli jednostka zdefiniowana przez użytkownika nie jest ustawiona, używana jest jednostka dokumentu. W przypadku właściwości masy, kilogram jest używany w dokumentach metrycznych, a funt w dokumentach imperialnych.

Kolumna szablonu

Kolumny szablonów umożliwiają łączenie kilku właściwości, a także niestandardowego tekstu w jedną kolumnę. Do definiowania kolumn szablonu używana jest specjalna składnia, oparta na wyrażeniach Diesel. Wyrażenia dla kolumn szablonu muszą zaczynać się od znaku $. Operandem w wyrażeniu może być ColumnTitle ujęty w nawiasy strzałkowe (<>).

Możliwe jest również użycie funkcji specjalnych:

Funkcja Opis
$(+, arg1, arg2[, ... , arg9]) Dodaje podane argumenty do pierwszego.
$(-, arg1, arg2[, ... , arg9]) Odejmuje podane argumenty od pierwszego.
$(*, arg1 , arg2[, ... , arg9]) Mnoży pierwszy argument przez podane argumenty.
$(/, arg1, arg2[, ..., arg9]) Dzieli pierwszy argument przez podane argumenty.
$(=, arg1, arg2) Zwraca 1, jeśli arg1 jest równy arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(<, arg1, arg2) Zwraca 1, jeśli arg1 jest mniejszy niż arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(>, arg1, arg2) Zwraca 1, jeśli arg1 jest większy niż arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(!=, arg1, arg2) Zwraca 1, jeśli arg1 nie jest równy arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(<=, arg1, arg2) Zwraca 1, jeśli arg1 jest mniejszy lub równy arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(>=, arg1, arg2) Zwraca 1, jeśli arg1 jest większy lub równy arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być liczbami.
$(and, arg1, arg2[, ... , arg9]) Stosuje operację bitową AND do argumentów.
$(angtos, angle[, mode, precision]) Konwertuje kąt na ciąg z uwzględnieniem podanego trybu (0 - stopnie, 1 - d/m/s, 2 - grady, 3 - radiany) i dokładności.
$(delim, delimiter_string) Wstawia inteligentny separator. Ciąg ogranicznika jest dodawany do danych wyjściowych tylko wtedy, gdy dane wyjściowe przed i po tym ograniczniku nie są puste.
$(edtime, time, format) Formatuje datę zgodnie z podanym ciągiem formatu.
$(eq, arg1, arg2) Zwraca 1, jeśli arg1 jest równy arg2; w przeciwnym razie zwraca 0. Zarówno arg1, jak i arg2 muszą być tekstem.
$(eval, expression) Oblicza dane wyrażenie jako wyrażenie Diesla.
$(fix, value) Obcina wartość rzeczywistą do liczby całkowitej.
$(getvar, variable) Zwraca wartość danej zmiennej systemowej.
$(if, arg, then[, else]) Zwraca „then”, jeśli „arg” nie jest równe 0; w przeciwnym razie zwraca „else” lub pusty ciąg, jeśli nie podano „else”.
$(index, position, comma_separated_string) Zwraca pod łańcuch na podanej pozycji w podanym ciągu oddzielonym przecinkami.
$(nth, position, arg1[, arg2, ... , arg9]) Zwraca argument w podanej pozycji.
$(or, arg1, arg2[, ..., arg9]) Stosuje operację bitową OR do argumentów.
$(rtos, value[, mode, precision]) Formatuje podaną wartość w odniesieniu do wymaganego trybu i dokładności.
$(strlen, string) Zwraca długość podanego ciągu.
$(substr, string, start[, length]) Zwraca podłańcuch „łańcucha” z „początku” o podanej „długości”. Numeracja zaczyna się od 1.
$(upper, string) Konwertuje ciąg znaków na wielkie litery.
$(xor, arg1, arg2[, ... , arg9]) Stosuje bitowy XOR do wszystkich argumentów.

Jedna kolumna szablonu może zawierać wiele wyrażeń. Każde wyrażenie musi być ujęte w nawiasy sumaryczne ({}). Wyrażenia te są obliczane od pierwszego do ostatniego i używane jest pierwsze z nich, które daje niepusty wynik.

Kolumna szablonu może odwoływać się do innych ocenianych kolumn, pod warunkiem, że nie tworzą one pętli. W hierarchicznym BOM kolumna szablonu może również odnosić się do wartości w wierszu nadrzędnym poprzez dodanie Parent: przed nazwą kolumny. Może również odnosić się do właściwości, które nie są jawnie dodane do tabeli, ale wszystkie inne oceniane kolumny, do których odnosi się którekolwiek z wyrażeń, muszą być obecne w tabeli. W wyrażeniach szablonu nadal można używać kolumn wyświetlanych jako niewidoczne w tabeli BOM.

Możesz użyć ciągu "\n", aby dodać podział wiersza.

Na przykład poniższe wyrażenie łączy właściwości PartNumber, Width, Height i Length:

${<PartNumber>$(delim," X ")<Width>$(delim," X ")<Height>$(delim," X ")<Lenght>}

Konfigurator wyrażeń

Do skonfigurowania oszacowanej kolumny można użyć Konfiguratora Wyrażeń. To okno dialogowe jest dostępne w panelu Menadżera BOM.

To okno dialogowe umożliwia ustawienie tytułu i jednostki dla kolumny, edycję wyrażenia za pomocą edytora z podświetlaniem składni i autouzupełnianiem oraz wyświetlenie podglądu tabeli BOM z oszacowaną kolumną. W przypadku kolumny szablonu sekcja Szablon umożliwia łatwe wstawianie, przenoszenie i usuwanie właściwości, a także ograniczników i niestandardowych tekstów.