Język icmScript jest językiem programowania systemu icmInspector i umożliwia za pomocą prostego kodu rozszerzenie funkcjonalności systemu w zakresie:
wyliczania wartości liczbowych w trakcie wypełniania formularza, które staną się odpowiedzią w kolejnym kroku,
wyliczania wartości liczbowych w trakcie wypełniania formularza, które staną się elementem treści w kolejnym kroku.
Deklaracja wykorzystania icmScript
Włączenie obsługi języka icmScript realizowane jest przez deklarację:
[icmScript]
Deklaracja musi zostać wpisana do pola API KEY nagłówka formularza ankiety.
Brak dodania deklaracji w nagłówku formularza pomimo uzupełnienia pozostałych elementów nie włączy interpretera języka icmScript dla danego formularza.
Zmienne
Zmienne w języku icmScript tworzymy za pomocą deklaracji:
[icmScriptVar]NAZWA_ZMIENNEJ[/icmScriptVar]
Wymagania:
Zmiennymi mogą być tylko odpowiedzi na pytanie typu liczba.
Deklaracja zmiennej odbywa się przez wpis w polu API KEY pytania typu liczba.
Nazwy zmiennych nie mogą zawierać polskich liter, oraz znaków specjalnych, dozwolone są tylko litery A-Z (wielkość liter nie ma znaczenia), cyfry, oraz znak podkreślenia (_), przy czym w nazwie musi być przynajmniej jedna litera, nazwy zmiennych złożone z samych cyfr są niedozwolone
Pytanie zawierające zmienne są zawsze pytaniami Wymaganymi (obowiązkowymi).
Przykład:
[icmScriptVar]WYMIAR_A[/icmScriptVar]
Deklaracja wzoru w icmScript
Wzory operacji matematycznych w języku icmScript wprowadza się za pomocą deklaracji:
[icmScript] WZOR [/icmScript]
Wyliczona wartość wzoru zostanie wstawiona jako odpowiedź na pytanie, w którym zdefiniowano wzór:
Wynik zostanie wstawiony zarówno do odpowiedzi, jak i do treści pytania w miejsce tagu [icmScriptOutput]
Wymagania:
pytanie musi być typu liczba, liczba z zakresem, albo tekst, inaczej formuła będzie ignorowana
Wyniki operacji
[icmScriptOutput]
Wymagania:
W przypadku braku wzoru lub jego błędnego działania, znacznik będzie usuwany bez wstawienia wartości.
pytanie musi być typu liczba, liczba z zakresem, albo tekst, inaczej formuła będzie ignorowana
Przykład:
Dodatkowe operacje
Do podstawowych działań matematycznych (dodawanie, odejmowanie, mnożenie i dzielenie) dostępne są dodatkowe funkcje takie jak: wartość bezwzględna, funkcja MIN/MAX, funkcja IF, pierwiastkowanie oraz zaokrąglanie wyników działań.
Funkcje mogą być zagnieżdżane wewnątrz siebie, ale z dwoma warunkami:
Nie można zagnieżdżać wewnątrz siebie funkcji MIN i MAX w żadnej konfiguracji - ze względu na problem z określeniem, które wartości dotyczą której funkcji,
Nie można zagnieżdżać funkcji IF wewnątrz innej funkcji IF - z podobnego powodu jak powyżej
Ważne, dla powyższych funkcji wykorzystujemy nawiasy klamrowe "{ }", dla definicji wzoru kwadratowe "[ ]"
Wartość bezwzględna - wartość bezwzględna z wyrażenia, wyrażeniem może być liczba, zmienna, albo wzór. Przykład wykorzystania:
Wzór rozpoczynamy o deklaracji wzoru [icmScript]/[icmScriptOutputQuestion]/ [icmScriptOutputQuestionAnswer] następnie dodajemy wybraną funkcję w nawiasie klamrowym {abs} przed rozpoczynającym się działaniem matematycznym. Ważne, aby rozpoczętą funkcję zawsze zamknąć {/abs},
2. Funkcja MIN/MAX
Przykład wykorzystania MIN - zwraca najniższą wartość liczbową w zbiorze wartości. Zmienne/wzory oddzielamy za pomocą średnika ";"
3. Funkcja IF - funkcja składa się ze znaczników “{if} warunek {then} - wartość jeżeli prawda {else} - wartość jeżeli fałsz {/if}” - wszystkie tagi muszą być dodane we wzorze. Obsługiwane są następujące operatory porównania: =, <, >, <=, >=, != Dodatkowo można używać operatory logiczne AND(&&) oraz OR(||).
Ograniczenia: Nie można zagnieżdżać funkcji {if} wewnątrz innej funkcji {if}
{print} - wyświetla wartość podaną jako argument. Można używać wartości i zmiennych zarówno liczbowych, jak i tekstowych. W przypadku wartości tekstowej musi być ona umieszczona pomiędzy znakami cudzysłowu. Funkcja nie posiada ograniczeń jeśli chodzi o zagnieżdżanie w innych funkcjach. Funkcja dostępna od wersji 1.0.199
5. Zaokrąglanie uzyskanych wyników - za pomocą tej funkcji określamy do ilu miejsc po przecinku należy zaokrąglić wynik. Funkcję konfigurujemy dla konkretnego wzoru, nie jest to funkcja obowiązkowa. Funkcję rozpoczynamy od {round}, a kończymy po wzorze |x {/round} gdzie x - to ilość miejsc po przecinku w wyniku
Jeżeli Twoja firma dostarcza rozwiązania dla podmiotów zajmujących się produkcją spożywczą lub przemysłową z przyjemnością nawiążemy współpracę partnerską! Więcej o modelu współpracy znajdziesz w sekcji Dla partnerów.