July-2007 / GSS v2.1.715 a) We improve the calculation of an expression reliability. So complex expression can be calculated now. Ex: %level%*12/(0.5*%def.year%) b) The rules of default field in Fields Properties was changed: - There is different between string with apostrophe and not. 'NOW' is not same with NOW - Don't use apostrophe in Substitution ID, apostrophe will added automatically. '%name%' <-- wrong %name% <-- true '%user.name%' <-- wrong - Default field can accept an expression, put '=' character at first charecter Ex: =%def.YEAR%*2 =12*7-4 - You can put single date/time substitution id without '%' sign: SOY ; start of year %def.soy% ; have same result YEAR ; good YEAR*2 ; error, this is not single default falue =%def.year%*2 ; good Note: Substitution id with '%' is general substitution, it's can use in whole of SQL, default field or any caption. Sometime we need to add a prefix in a table name, so you can write sql like this: SELECT .... FROM %input.month%order ; example result: FROM janorder c) Date/Time substitution ID was changed, here is the list: NOW DATE DAY MONTH YEAR TIME SOY Start Of The Year EOY End Of The Year SOM Start Of The Month EOM End Of The Month SOW Start Of The Week EOW End Of The Week d) Functions: DATEADD( 'day', , ) DATEADD( 'month', , ) DATEADD( 'year', , ) COPY( , , ) STRTODATE( ) STRTOTIME( ) FRAC( ) eg.: frac(123.62) -> 0.62 INT( ) eg.: round(123.62) -> 123 ROUND( ) eg.: round(123.62) -> 124 STR( ) e) Logical Operator: Or, And, Not f) Arithmatic Operator: *, /, +, -, MOD g) Now we cn specify the master field substitution %CustID% ; Get CustID in current dataset %+CustID% ; Get CustID in master dataset %++CustID% ; Get CustID in master master dataset h) we handle barcode event now, to activate barcode support just fill procedure handler in 'Layout-Tab' in GSF Editor. Barcode editor will appear on top panel of data grid, F9 key is to set cursor focus to barcode editor. i) we use single key to find data in lookup proses. when user type a text in a field that have a lookup, the entered text will become a value to filter in lookup query. e.g: key: regionid,custid ; lookup key will be just custid data: L001 ; entered text filter is: custid='L001' ; 'regionid' is unuse, ; you must move regional key into internal query filter, ('where' clause) ; where regionalid=:regionalid -- or ; where regionalid=%regionalid% j) Now GSS can call external code in *.DLL using stdcall convention. format: {entry}?par='';cap='';hint='' There are two kind of procedures: a. Procedure with a string parameter: E.g: backup.dll{runbackup}?par='%user.uid%' b. Procedure without parameter: E.g: backup.dll{runbackup}? note: you can pass database username and password as procedure parameter. %sys.host% -- server %sys.db% -- database name %sys.user% -- database user name %sys.pwd% -- database password Since GSS support calling DLL file, there is borlndmm.dll to deploy with gss.exe. k) calculator added, press Alt+F9 to activate/deactivate calculator. l) unnecessary properties was removed and sume bugs was fixed.