# Product catalog creator software - Field setup, groups, currencies, columns visibility

To configure the fields, use the main menu item Product list Sections

Setting using the column context menu

A frequent question is the currency setting - see here  The list below contains all standard functions and its description:
• *: function, executes multiplying operation;
• /: function, executes division operation;
• eqStr(A: string; B: string): function, returns 0 if strings are the same, case insensitive
Ex: if (EqStr("[fld7]","DISCOUNT")=0, [fld0]*0.8, [fld0])
Note: If 7th additional field contains DISCOUNT, set Price with 20% discount, else - Price
• Succ: function, returns the successor of the parameter;
• Pred: function, returns the predecessor of the parameter;
• not: function, performs a bitwise NOT (negation) on the parameter;
• and: function, performs a logical conjunction on two parameters;
• or: function, performs a logical disjunction on two parameters;
• xor: function, performs a logical exclusion on two parameters;
• shl: function, performs a bitwise shift left on two parameters;
• shr: function, performs a bitwise shift right on two parameters;
• SameValue (A: Double; B:Double; Epsilon: Double = 0): function, returns True if two parameters are (approximately) equal. Epsilon is the maximum amount by which A and B can differ and still be considered the same value;
• IsZero (A: Double; Epsilon: Double = 0): function, returns True if parameter A is (approximately) zero or differs from zero by at most Epsilon;
• If (AValue: Boolean; ATrue: Expression; AFalse: Expression): function, checks the expression passed as AValue and returns ATrue parameter if it evaluates to true, or AFalse parameter if it evaluates to false. When using If function, only one expression is being calculated - if AValue is True, ATrue expression is being calculated, but AFalse is not; otherwise if AValue is False, AFalse expression is being calculated, but ATrue is not;
• IfThen (AValue: Boolean; ATrue: Expression; AFalse: Expression): function, checks the expression passed as AValue and returns ATrue parameter if it evaluates to true, or AFalse parameter if it evaluates to false. When using IfThen function, both expressions - ATrue and AFalse are being calculated;
• EnsureRange (AValue, AMin, AMax: Double): function, returns the closest value to a specified value within a specified range;
• StrToInt (S: string): function, converts a string representing a decimal value to an integer;
• StrToIntDef (S: string; Default: Integer): function, converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToIntDef returns Default;
• StrToFloat (S: string): function, converts a given string to a floating-point value;
• StrToFloatDef (S: string; Default: Double): function, converts a given string into a floating-point value with error Default;
• False: function, returns 0;
• True: function, returns 1;
• =: function, returns True if two parameters are equal;
• <>: function, returns True if two parameters are not equal;
• >: function, returns True if first parameter is greater than second one;
• <: function, returns True if first parameter is less than second one;
• >=: function, returns True if first parameter is greater or equal to the second one;
• <=: function, returns True if first parameter is less or equal to the second one;
• GetEpsilon: function, returns the maximum amount by which A and B can differ and still be considered the same value. Epsilon value required by compare functions, like SameValue, IsZero, etc.;
• SetEpsilon (Value: Double): function, sets the maximum amount by which A and B can differ and still be considered the same value. Epsilon value required by compare functions, like SameValue, IsZero, etc.;
• SetDecimalSeparat (S: string): function, sets the character used to separate the integer part from the fractional part of a number;
• div: functions, executes integer division operation;
• mod: functions, executes remainder operation;
• ^: function, raises expression to any power;
• !: function, returns factorial of an expression;
• Sqrt: functions, square root of a number;
• Int: function, returns the integer part of a number;
• Round: function, returns the value rounded to the nearest whole number;
• RoundTo (Value: Extended; Digit: Shortint): function, rounds a floating-point value to a specified digit or power of ten using "Banker's rounding";
• Trunc: function, truncates a number to an integer;
• Abs: function, returns an absolute value;
• Frac: function, returns the fractional part of a number;
• Ln: function, returns the natural log of an expression;
• Lg: function, returns log base 10;
• Log: function, returns the log of expression for a specified base;
• Exp: function, returns the exponential of an expression;
• Random: function, returns random number within the range 0 <= value < 1;
• Sin: function, returns the sine of the angle in radians;
• ArcSin: function, returns the inverse sine of a number;
• Sinh: function, returns the hyperbolic sine of an angle;
• ArcSinh: function, returns the inverse hyperbolic sine of a number;
• Cos: function, returns the cosine of the angle in radians;
• ArcCos: function, returns the inverse cosine of a number;
• Cosh: function, returns the hyperbolic cosine of an angle;
• ArcCosh: function, returns the inverse hyperbolic cosine of a number;
• Tan: function, returns the tangent of the angle;
• ArcTan: function, returns the arctangent of a number;
• Tanh: function, returns the hyperbolic tangent of an angle;
• ArcTanh: function, the inverse hyperbolic tangent of a number;
• Cotan: function, returns the cotangent of the angle;
• ArcCotan: function, returns the inverse cotangent of a number;
• Cotanh: function, returns the hyperbolic cotangent of an angle;
• ArcCotanh: function, the inverse hyperbolic cotangent of a number;
• Sec: function, returns the secant of an angle;
• ArcSec: function, returns the inverse secant of a number;
• Sech: function, returns the hyperbolic secant of an angle;
• SrcSech: function, the inverse hyperbolic secant of a number;
• Csc: function, returns the cosecant of an angle;
• ArcCsc: function, returns the inverse cosecant of a number;
• Csch: function, returns the hyperbolic cosecant of an angle;
• ArcCsch: function, returns the inverse hyperbolic secant of a number;
• ArcTan2 (Y, X: Double): function, calculates ArcTan(Y/X), and returns an angle in the correct quadrant. The values of X and Y must be between -2^64 and 2^64. In addition, the value of X can't be 0. The return value will fall in the range from -Pi to Pi radians;
• Hypot (X, Y: Double): function, returns the length of the hypotenuse of a right triangle. Specify the lengths of the sides adjacent to the right angle in X and Y. Hypot uses the formula Sqrt(X*2 + Y*2) ;
• DegToRad: function, returns the value of a degree measurement expressed in radians;
• DegToGrad: function, returns the value of a degree measurement expressed in grads;
• DegToCycle: function, returns the value of a degree measurement expressed in cycles;
• CycleToDeg: function, converts an angle measurement from cycles to degrees;
• LnXP1: function, returns the natural log of (X+1);
• Log10: function, calculates log base 10;
• Log2: function, calculates log base 2;
• IntPower (Base: Double; Exponent: Integer): function, calculates the integral power of a base value;
• Power (Base: Double; Exponent: Double): function, Raises Base to any power;
• Ldexp (X: Double; P: Double): function, calculates X times (2 to the power of P);
• Ceil: function, rounds variables up toward positive infinity;
• Floor: function, rounds variables toward negative infinity;
• Poly (X: Double; Coefficients(1)..Coefficients(N): Double): function, evaluates a uniform polynomial of one variable at the value X;
• Mean (Data(1)..Data(N): Double): function, returns the average of all values in an array;
• Sum (Data(1)..Data(N): Double): function, returns the sum of the elements in an array;
• SumInt (Data(1)..Data(N): Integer): function, returns the sum of the elements in an integer array;
• SumOfSquares (Data(1)..Data(N): Double): function, returns the sum of the squared values from a data array;
• MinValue (Data(1)..Data(N): Double): function, returns smallest signed value in an array;
• MinIntValue (Data(1)..Data(N): Integer): function, returns the smallest signed value in an integer array;
• MinValue (Data(1)..Data(N): Double): function, returns smallest signed value in an array;
• MaxValue (Data(1)..Data(N): Double): function, returns the largest signed value in an array;
• MaxIntValue (Data(1)..Data(N): Integer): function, returns the largest signed value in an integer array;
• MaxValue (Data(1)..Data(N): Double): function, returns the largest signed value in an array;
• StdDev (Data(1)..Data(N): Double): function, returns the sample standard deviation for elements in an array;
• PopnStdDev (Data(1)..Data(N): Double): function, calculates the population standard deviation;
• Variance (Data(1)..Data(N): Double): function, calculates statistical sample variance from an array of data;
• PopnVariance (Data(1)..Data(N): Double): function, calculates the population variance;
• TotalVariance (Data(1)..Data(N): Double): function, returns the statistical variance from an array of values;
• Norm (Data(1)..Data(N): Double): function, returns the Euclidean 'L-2' norm;
• RandG (Mean, StdDev: Double): function, generates random numbers with Gaussian distribution;
• RandomRange (AFrom, ATo: Integer): function, returns a random integer from a specified range;
• RandomFrom (Value(1)..Value(N): Double): function, returns a randomly selected element from an array;
• Pi: variable, returns 3.1415926535897932385;