diff --git a/extension/Documentation/Manual.rst b/extension/Documentation/Manual.rst index a2672f96ad4357247d6ec789d7f3b3b9d891f0b5..0b4744214a7a733ff06a65e43eb353d62487cb5d 100644 --- a/extension/Documentation/Manual.rst +++ b/extension/Documentation/Manual.rst @@ -94,7 +94,8 @@ In `configuration`_ specify the: :: cmdWkhtmltopdf=/opt/wkhtmltox/bin/wkhtmltopdf`. baseUrl=http://www.example.com/`. -If wkhtml has been compiled with dedicated libraries, specify the LD_LIBRARY_PATH together with the path-filename: :: +If wkhtml has been compiled with dedicated libraries (not part of LD_LIBRARY_PATH), specify the LD_LIBRARY_PATH together +with the path-filename: :: cmdWkhtmltopdf=LD_LIBRARY_PATH=/opt/wkhtmltox/lib /opt/wkhtmltox/bin/wkhtmltopdf @@ -530,7 +531,7 @@ Fill STORE_SYSTEM by SQL A specified SELECT statement in `configuration`_ in variable `fillStoreSystemBySql1` (or `2`, or `3`) will be fired. The query should have 0 (nothing happens) or 1 row. All columns will be **added** to the existing STORE_SYSTEM. Existing variables will be overwritten. Be careful not to overwrite system values. - + This option is useful to make generic custom values, saved in the database, accessible to all QFQ Report and Forms. Access such variables via `{{<varname>:Y}}`. @@ -2037,14 +2038,14 @@ After the user presses *Save*, *Close*, *Delete* or *New*, different actions are * `auto` (default) - the QFQ browser Javascript logic, decides to stay on the page or to force a redirection to a previous page. The decision depends on: - + * *Close* goes back (feels like close) to the previous page. Note: if there is no history, QFQ won't close the tab, instead a message is shown. * *Save* stays on the current page. * `close` - goes back (feels like close) to the previous page. Note: if there is no history, QFQ won't close the tab, instead a message is shown. -* `no` - no change, the browser remains on the current side. Close does not close the page. It just triggers a save if +* `no` - no change, the browser remains on the current side. Close does not close the page. It just triggers a save if there are modified data. * `url` - the browser redirects to the URL or T3 page named in `Forward URL / Page`. Independent if the user presses `save` or `close`. * `url-skip-history` - same as `url`, but the current location won't saved in the browser history. @@ -4702,13 +4703,26 @@ Table: Person slaveId={{id:R0}} sqlUpdate={{ UPDATE Person AS p SET p.name='{{cn:L:alnumx:s}}' WHERE p.id={{slaveId}} LIMIT 1 }} -FAQ ---- +Import/merge forms +------------------ + +The form `copyFormFromExt` copies a form from table `ExtForm / ExtFormElement` to `Form / FormElement`. The import/merge +form - * Q: A variable {{<var>}} is shown as empty string, but there should be a value. +* offers a drop down list with all forms of `ExtForm`, +* an input element for the new form name, +* create new Form.id +* copied FormElements get the new Form.id. +* the copied form will be opened in the FormEditor. + +Installation: + +* Play the file *<ext_dir>/qfq/sql/copyFormFromExt.sql*. +* Insert a link/button 'Copy form from ExtForm' to open the import/merge form. A good place is the list of all forms +(see `form-editor`_). E.g.: :: + + 10.head = {{'b|p:id={{pageAlias:T}}&form=copyFormFromExt|t:Copy form from ExtForm' AS _link }} ... - * A: The sanitize rule is violeted and therefore the value has been removed. Set {{<var>:<store>:all}} as a test. - Only STORE_CLIENT and STORE_FORM will be sanitized. .. _`report`: @@ -5139,6 +5153,12 @@ Special column names +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | _monitor |Constantly display a file. See `column-monitor`_. | +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| _XLS |Used for Excel export. Append a `newline` character at the end of the string. See `excel-export`_. | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| _XLSs |Used for Excel export. Prepend 's=' and append a `newline` character around the string. See `excel-export`_. | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| _XLSn |Used for Excel export. Prepend 'n=' and append a `newline` character around the string. See `excel-export`_. | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | _+??? |The content will be wrapped in the tag '???'. Example: SELECT 'example' AS '_+a href="http://example.com"' creates '<a href="http://example.com">example</a>' | +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |_<nonReservedName> |Suppress output. Column names with leading underscore are used to select data from the database and make it available in other parts of the report without generating any output. | @@ -6325,15 +6345,13 @@ Excel export Mode: * NEW: The export file will be completely build from scratch. -* TEMPLATE: The export file is based on an earlier saved xlsx file (template). The template is unchanged. +* TEMPLATE: The export file is based on an earlier uploaded xlsx file (template). The template itself is unchanged. Injecting the data is done in the same way in both modes . The only difference is by specifying a xlsx file which will be used as an template. If the export file has to be customized (colors, pictures, headlines, ...), the TEMPLATE mode is the preferred option. - - Setup ''''' @@ -6363,10 +6381,11 @@ Setup [global] * Use the regular QFQ Report syntax to create some output. - * The newline character ist CHAR(10). + * The newline at the end of every line needs to be CHAR(10). To make it simpler, the special column name `... AS _XLS` + can be used. * One option per line. - * Empty will be skipped. - * Lines starting with '#' will be skipped (comments) + * Empty lines will be skipped. + * Lines starting with '#' will be skipped (comments). Inline comment signs are NOT recognized as comment sign. * Separate <keyword> and <value> by '='. +-------------+----------------+---------------------------------------------------------------------------------------------------+ @@ -6380,11 +6399,11 @@ Setup +-------------+----------------+---------------------------------------------------------------------------------------------------+ | 'newline' | newline | Start a new row. The column will be the one of the last 'position' statement. | +-------------+----------------+---------------------------------------------------------------------------------------------------+ -| 'str', 's' | s=hello world | Set the given string on the given position. The current position will be shifted one to the right | +| 'str', 's' | s=hello world | Set the given string on the given position. The current position will be shiftet one to the right.| +-------------+----------------+---------------------------------------------------------------------------------------------------+ -| 'f' | f==SUM(A5:C6) | Set a formula on the given position. The current position will be shifted one to the right | +| 'n' | n=123 | Set number on the given position. The current position will be shiftet one to the right. | +-------------+----------------+---------------------------------------------------------------------------------------------------+ -| 'n' | n=123 | Set number on the given position. The current position will be shifted one to the right | +| 'f' | f==SUM(A5:C6) | Set a formular on the given position. The current position will be shiftet one to the right. | +-------------+----------------+---------------------------------------------------------------------------------------------------+ Create a output like this: :: @@ -6402,13 +6421,12 @@ This fills D11, E11, F11, D12 In Report Syntax: :: 10.sql = SELECT 'position=D11' AS _XLS, - 's=Hello' AS _XLS, - 's=World' AS _XLS, - 's=First Line' AS _XLS, - 'newline' AS _XLS, - 's=Second line' AS _XLS, - 'n=123' AS _XLS - + 's=Hello' AS _XLS, + 's=World' AS _XLS, + 's=First Line' AS _XLS, + 'newline' AS _XLS, + 's=Second line' AS _XLS, + 'n=123' AS _XLS, .. _drag_and_drop: @@ -7092,6 +7110,11 @@ Tips: QFQ specific ------------ +A variable {{<var>}} is empty +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The sanitize rule is violeted and therefore the value has been removed. Set {{<var>:<store>:all}} as a test. + Page is white: no HTML code at all ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -7100,7 +7123,7 @@ This should not happen. The PHP process stopped at all. Check the Apache error logfile, look for a stacktrace to find the latest function. Send a bug report. -Problem with Query or variables +Problem with query or variables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Specify the required sanitize class. Remember: for STORE_FORM and STORE_CLIENT the default is sanitize class is `digit`.