Dear All,
I need held calculating two values within HRFOMS.
I would like to have a screenfield with the value of the current page Therefore i got a global variable G_total_pagecount and i have the current page xfa.layout.page(this)
I tried the following
data.#pageSet[0].Startseite.Titel_und_Anschrift.Allgemeine_Daten.Org_Daten.Seite_global::ready:layout
$.rawValue = $record.G_TOTAL_PAGECOUNT + xfa.layout.page(this)
and received no value
or
var page = parseInt(xfa.layout.page(this), 10); // , 10 erzwingt die Umwandlung als dezimalzahl
var global = parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10)
var total = page + global:
this.rawValue = total.rawValue;
But both did not work
I would be happy to get any new idea
Angela
Views
Replies
Total Likes
Why don't you use the page n of m object in the custom library?
There is code there that does the same thing.
paul
Views
Replies
Total Likes
Hi Paul
I can't use page n,m because
this is always related to a single personell number which means it
always starts ewith 1 if the next personellnumber is handled. But I need the Pagecount of the current page within the spoolfile. Therefore i got g_total_pagecount which gives me the number of pages for already handeled persons.
This is why i need to calculate
Thanks
Angela
Views
Replies
Total Likes
Are you getting any scripting errors in the javascript console? You have errors in your script for sure.
$.rawValue = $record.G_TOTAL_PAGECOUNT + xfa.layout.page(this)
The "this" in the expression is a javascript convention and this is a formcalc syntax so this will not work. You can try replacing this with $
var page = parseInt(xfa.layout.page(this), 10); // , 10 erzwingt die Umwandlung als dezimalzahl
var global = parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10)
var total = page + global:
this.rawValue = total.rawValue
I think that global and page might be a key word so I woudl choose a different variable names. Also when you assign the this.rawValue to total.rawValue...total is not a field but a variable so you do not put the .rawValue on the end of it.
this.rawValue = total
or if you want you can say
this.rawValue = page + global
Hope that helps
Paul
Views
Replies
Total Likes
Hi Paul,
first of all many thanks for your help. I normally do only Abap programming, bur unfortunatly I ended up with this HRFORMS Payslip. I have no idea how to decide to choose Formcalc or javascript. I only tried some small pieces which i got from the online help.
I did try the following
----- data.#pageSet[0].Startseite.Titel_und_Anschrift.Allgemeine_Daten.Org_Daten.Seitenzahl::ready:layout - (FormCalc, Client)
$.rawValue
= $record.G_TOTAL_PAGECOUNT + xfa.layout.page($)
=> id did not get a value in my field
than I tried
----- data.#pageSet[0].Startseite.Titel_und_Anschrift.Allgemeine_Daten.Org_Daten.Seitenzahl::calculate: - (JavaScript, Server)
var
1 = parseInt(xfa.layout.page(this), 10); // , 10 erzwingt die Umwandlung als dezimalzahl
var
2 = parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10)
this.rawValue
= 1 + 2;
=> still no value
Last I tried
----- data.#pageSet[0].Startseite.Titel_und_Anschrift.Allgemeine_Daten.Org_Daten.Seitenzahl::ready:layout - (JavaScript, Client)
var
1 = parseInt(xfa.layout.page(this), 10); // , 10 erzwingt die Umwandlung als dezimalzahl
var
2 = parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10)
this.rawValue
= 1 + 2;
Still no succsess
As I am working within HRFORM i only get limited Error Messages or warnings and for everything i tried i did not get a warning at all.
It would be really nice if you could tell me what i did wrong
Thanks in advance
Angela
Views
Replies
Total Likes
Lets stick with the javascript way.....The code looks Ok to me.....but it is set to run on the server ....I suggest changing it to the client.
Then you can add debug statements using app.alert to determine if you are getting any values back at all. Lets add these statements to the beginning of the script:
app.alert(parseInt(xfa.layout.page(this), 10));
app.alert(parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10))
Paul
Views
Replies
Total Likes
I changed the script to client and added the two alert rows
----- data.#pageSet[0].Startseite.Titel_und_Anschrift.Allgemeine_Daten.Org_Daten.Seitenzahl::calculate: - (JavaScript, Client)
app.alert(parseInt(xfa.layout.page(
this), 10));
app.alert(parseInt(xfa.record.G_TOTAL_PAGECOUNT
, 10))
var
1 = parseInt(xfa.layout.page(this), 10);
var
2 = parseInt(xfa.record.G_TOTAL_PAGECOUNT, 10)
this.rawValue
= 1 + 2;
nothing happened I did not get a debug window when i started the formprint i did not get it eighter when i tried the PDF Preview
is 'Calculate' perhaps the wrong event?
Thanks in advance
Angela
Views
Replies
Total Likes
The app.alerts will only work in preview .....Try putting it on the form ready event. That shoudl be the last event to fire before handing it to the user.
Paul
Views
Replies
Total Likes
Hi Paul,
still no value and no debug window.
Are You too using HRFORMS? Is there perhaps something that i ´need to install before beeing able to see the debug window?
Angela
Views
Replies
Total Likes
No I do not have HRForms I am using native Designer. Are you using Acrobat to view the result? The app.alert creates a message Box so if you are not using Acrobat or Reader then the messages will not appear.
paul
Views
Replies
Total Likes
Lets go back to basics .....can you describe the behaviour that you are trying to achieve?
Also in the script editor we can do a syntax check ....my guess is that there is a syntax error and your script is not running. Click the button highlighted below. If there is an error it will highlight the offending line in pink.
Paul
Views
Replies
Total Likes
Hi Paul,
th preview is using Acrobat 7 static PDF this might not be enough to display the debug window. But in your opinion the code is ok?
This might than be one of the many problems using the latest version of the SAP Payslip for germany.
Thanks a lot for your help
Angela
Views
Replies
Total Likes
We have gone through so many iterations that I am loosing track ...can you email the form to
LiveCycle8@gmail.com and I will have a look.
Paul
Views
Replies
Total Likes
Hi Paul,
I sent the mail
Angela
Views
Replies
Total Likes
Hi all,
I am facing exactly the same problem as described above. This seems to be a standard requirement when you want to print the SAP payslips and then run them through an enveloping machine. The SAP FAQ does not help very much. It only says: Simply add the current page number (xfa.layout.page(this)) to G_TOTAL_PAGECOUNT. Nor did I find a solution anywhere else on the web.
My first attempts were pretty much the same as Angela's. I now noticed, that when I call the PDF preview for my form, I get the following error message:
"Fehler: Unterschiedliche Argumente im Eigenschaft- oder Funktionsargument"
Sorry, my LiveCycle Designer only speaks German. In English, it should be something like: "Error: Different argments in property or function argument".
The FormCalc code I entered in the calculate event of a subform is:
overallPageCount
= $record.G_TOTAL_PAGECOUNT.value +
$layout.page($)
(plus various other versions which all returned the same error)
I guess there is some kind of type conversion problem here. When I assign the G_TOTAL_PAGECOUNT to a text field, I get a number on my form, which is correct. But I have no idea how to get this script running.
Any ideas?
Views
Replies
Total Likes