MS Word expression - if-statement

I am try to make page numbers with IF statement like this
{ IF { PAGE } > 1 "{ PAGE }" "" }
And doing all like here: https://support.microsoft.com/en-us/kb/95886
If more than one page than site numbers will show up. But i cant make it working when i press CTRL + F9 and type this command its not working.
Even only { PAGE } not working but when i put this command form menu its working... what i doing wrong?? Why its not working after CTRL + F9. and Typing PAGE.
I know that i can preview it by ALT + F9
Sorry for not English Screenshot
BEFORE ALT + F9:
AFTER ALT + F9:

You need to update the field after inserting it outside the header or footer.
To insert:
Type Alt-F9 to switch on field display
Type Ctrl-F9 to enter field
Type PAGE to enter page field
Type Alt-F9 to shut down field display
Type F9 to update the fields
To manually add DATE:
Type Alt-F9 to switch on field display
Type Ctrl-F9 to enter field
Type DATE to enter date field
Type Space to add extra space, there should be 2 spaces! (enable display formatting if you want to see the spaces)
Type Alt-F9 to shut down field display
Type F9 to update the fields
As you can see, adding the right number of spaces in the formulas is critical. By adding the fields through the Ribbon (Insert, Text group, Fields) you can see how Word is creating the fields itself. If you are familiar with the formatting you can easily type Ctrl-F9 with the formula and update all with F9.

Related

Display Only vs text fields with "Disabled" attribute set to YES

I am using APEX 21.2.
The help says that "Display Only" Items do not store session state value and text fields with "Disabled" attribute set to yes do. But I tried to create an after header computation and set the value of a display only item and it worked. Is it wrong information or am I missing something?
Disabled
Specify whether this item is disabled, which prevents end users from changing the value.
A disabled text item still displays with the same HTML formatting, unlike an item type of Display Only, which removes the HTML formatting. Disabled text items are part of page source, which enables their session state to be evaluated. Conversely, display only items are not stored in session state.
I tried to create an after header computation and set the value of a display only item and it worked
Why wouldn't it work? It is you (a developer) who set it using a computation (which works), but end user can't modify its value as it is set to be display only so - users can just look at item's value.
A computation before rendering is always possible, that has nothing to do with session state. This is about how the item behaves on page submit.
With the "Display Only" item type you can control its behaviour on submit. Behaviour is the same for "Text Field" items that have the "Disabled" property set to on.
I did a quick test with a form on the EMP sample data set. Create a after header computation of type expression :P1_SAL + 1.
Test 1: Setting "set on page submit" on. The form renders with the salary item increased by 1. When page is saved, the new salary is saved for the record
Test 2: Setting "set on page submit" off. The form renders with the salary item increased by 1. When page is saved, the new salary is NOT saved for the record
Where did you see this help text ? I don't see anything about session state.

Popup LOV with multiple values on Interactive Grid displays APEX 19.2

I'm using Oracle Apex 19.2 and I have an editable interactive grid with a POP LOV.
Multiple Values is checked
Display As is set to Modal Dialog
My List of Values is a SQL Query:
select name as d, id as r from table_x
I have two issues and I don't think I found a good question on SO that solves it:
Although the modal shows the human readable names to select from, once a record is Saved AND there's more than one value selected, the cell is displayed as ID1:ID2:ID3.... instead of NAME1:NAME2:NAME3...
IF the "name" is a string and not a number AND multiple values are selected THEN an "ORA-01722: invalid number" occurs
Note that in both cases, as long as only 1 value is selected there is no issues with saving.
I understand the storing the field with colons however I'm talking about the visible grid for the user. It should not show the user colon separated IDs after save but show the user list of users for example.
For example, here's a list of room numbers (100, 101...) and they correspond to IDs (3, 7 , 4)
I would suspect after I save, the table still shows 100, 101, .. NOT the IDs to the user.
Any thoughts anyone?

How to write a query based on the Date item, in interactive grid

I have a date field and a interactive grid. I am trying to generate the Interactive grid based on the value inputted in the date field.
I am trying to write the query as below :
select pap.effective_start_date , pap.effective_end_date
from per_all_people_f pap
where :SELECT_DATE between pap.effective_start_date and
pap.effective_end_date
Here, SELECT_DATE is the name of the Date field (datatype Date picker). I am writing a dynamic action on Change of Date field, and refreshing the interactive grid region.
But when I change the value in Date field, it doesn't return any rows.
I have done a similar change where my interactive grid was based on a dropdown. There I had to set the "page action on selection" to Submit, and it worked. But here, since it is a Date field, the "Page Action on selection" property doesn't appear on the page .
Can somebody please suggest, how can I achieve this.
You need to explicitly convert your bind variables, which are treated as strings, to dates.
to_date(:SELECT_DATE)
The format mask will come from the application properties, or you can be explicit with that, too.

Trigger a process (SQL update) when leaving an APEX page

This is a very odd question but i wondered whether it was possible to trigger a process that runs an SQL UPDATE when the user leaves this specific page, either by clicking on the breadcrumb, tabs or back button?
I did setup the process to run on the 'Back' button; however i ran into the problem of: What if s/he clicks on the breadcrumb or a tab instead.
I have searched the net and posting this question was a last resort. I wondered if anyone can point me in the correct direction?
UPDATED POST
Page 1:
Includes a text field and a button. The user enters the category into the text field and clicks on the button to proceed to the next page. The button passes the value in the text field to a text field on Page 2.
Page 2:
Two regions on the page. One region holds information about the category - Category name from the previous page, category description, and the category revision number (which is what i'm trying to get working). The second region is a report that pulls the item name and number that are listed under the category in the category text field. A 'View' link is used on the report to load the edit page for the specific item selected. The 'View' link passes the 'category name' (from the category text field) and the 'item number' from the report to page 3.
Page 3
Two regions are used, first region: Lists the Item number which came from page 2 and name of the item (which i use a simple query to retrieve). In the second region: A report is used with two columns: a list of item properties in column 1, and a text field next to each item property in column 2 to hold the value that can be updated. The 'Apply Changes' button has some PlSql behind which looks for changes and updates where required. It updates the relevant fields that have changed, and it then takes the user back to Page 2 (Page showing user the items listed for the category intitally entered).
I cant increase the category revision on the 'apply changes' button on page 3 because the user may complete edits for items under the same category. So i dont know where i can increase the category revision by 1 per vist to a category. P.s I already increment the revision number for each item by 1 if the info has been changed using the 'apply changes' button on page 3.
One way of doing this is by updating the session state of the page items (without submitting the page as normal) via ajax and by calling an Application Process which updates the table, when called by a javascript onbeforeunload.
Create an Application Process to fire On Demand, named UpdatePageXOnExit or something. In the PL/SQL block of that Application Process, use SQL update commands with the item state of each item on the page that you wish to update; something like the following:
BEGIN
UPDATE table_name SET col1 = :PX_ITEM_1, col2 = :PX_ITEM_2, col3 = :PX_ITEM3, col4 = :PX_ITEM_4, col5 = PX_ITEM_5
WHERE (condition... I would suggest ROWIDs to simplify changes to the
fields of the PK; otherwise you will have to create additional
page items for each field of the PK, then set those items to
the values of the PK when the page loads using a before
header page process, and then use those values in this where
clause like this: where col1 = :PX_ORIGINAL_PK_FIELD_1 AND col2 =
:PX_ORIGINAL_PK_FIELD_2 );
END ;
Go to the page settings for that particular page, and in the JavaScript: Execute On Page Load section, write something like the following:
window.onbeforeunload = updateOnExit;
And in the JavaScript Function and Global Variables Declaration, write something like the following:
function updateOnExit() {
var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=UpdatePageXOnExit',&APP_PAGE_ID.);
get.add('PX_ITEM_1',$x('PX_ITEM_1').value)
get.add('PX_ITEM_2',$x('PX_ITEM_2').value)
get.add('PX_ITEM_3',$x('PX_ITEM_3').value)
get.add('PX_ITEM_4',$x('PX_ITEM_4').value)
get.add('PX_ITEM_5',$x('PX_ITEM_5').value)
gReturn = get.get();
get = null;
// Comment out the following line or not, as per the note in the following paragraph
return 'Are you sure you would like to leave the page?';
}
This last piece is the AJAX that updates the session states of the page items on the page that have been changed on the user's end but that haven't been uploaded to the servers end which normally occurs during page submission. Note: If you comment out the return statement, than there will be no warning box that will allow the user to stay on the page. If that is what you prefer, go for it. If you chose to use the warning box, the ajax will execute the page process even if the user chooses to stay on the page.

Is there any way to edit the pop-up comments dialog box for Workbox actions?

Right now, this dialog just says "Enter a comment:". I would like to edit this text or add some new text. Is this possible?
Switch to "core" database and navigate to /sitecore/system/Dictionary/E/Enter a comment item. In the Phrase field of this item place a string you'd like to see instead of default "Enter a comment:". Save the item - and try it out!
Update: BTW, the same technique is used for translations. If you switch to the Danish version of the item, you can see the Danish text in the Phrase field. If Phrase field is empty (like for English version of the item by default), the Key field is returned instead.