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.