MarcomCentral (PTI) and FusionPro User Communities

MarcomCentral (PTI) and FusionPro User Communities (http://forums.pti.com/index.php)
-   The JavaScript Library (http://forums.pti.com/forumdisplay.php?f=23)
-   -   Truncated text (http://forums.pti.com/showthread.php?t=10500)

ThePorge January 11th, 2021 12:53 PM

Truncated text
 
1 Attachment(s)
Overflow page Text is truncated.

I have a javascript rule written that returns non-formatted text based off a supplied number. In this result the number given is 555. The script returns groups of 100 up to the given qty. Each group is separated by a newline
Code:
Code:

    var finalCount = Field("Qty");//Keeps the final record count being printed by groups
    var myCount = finalCount;//Will be used to determine the number of groups (100ea) needed for qty printing
    var myIndex1 = 1;//Lowside number of every output group range
    var myIndex2 = 100;//Highside number of every output group range
    var myAnswer = [];//Array to hold the collected groups

    myCount = myCount/100;//breaks records to be printed by 100
    myCount = Math.ceil(myCount);//always rounds up 100 group count

    for (i = 0; i < myCount; i++) {
        if (myCount == 1) {
            myAnswer.push("1 thru " + finalCount);
            break;
        }
        if (myCount == i + 1) {
            myAnswer.push(myIndex1 + " thru " + finalCount);
            break;
        }
        myAnswer.push(myIndex1 + " thru " + myIndex2);
        myIndex1 = myIndex1 + 100;
        myIndex2 = myIndex2 + 100;
    }
    return myAnswer.join("\n");

Result:
Quote:

1 thru 100
101 thru 200
201 thru 300
301 thru 400
401 thru 500
501 thru 555
This result is being passed to a text block that will show 1 line but is set to overflow the copy to a new page and continue in this fashion until all lines go onto a page. The problem I'm running into is the 2nd to last page is truncated and that result moves to the last overflow and the last line doesn't show at all. I've also included the test file I was working on this in the attached zip. I'm not 100% certain if this is the code or some other flaw in my setup that I'm overlooking.
Any help?

Tks George

Dan Korn January 15th, 2021 01:04 PM

Re: Truncated text
 
1 Attachment(s)
This is a kind of complicated keeps condition, related to the Widows setting, and how the newline ('\n') is handled as a line break (<br>) but not a paragraph break (<p>).

That said, an Overflow page is not the most optimal solution here. Instead, I would just use a single body page, and repeat the record. All you need to do is declare the array in the JavaScript Globals, like so:
Code:

myAnswer = [];//Array to hold the collected groups
Then rest of the logic from your rule can go into OnRecordStart, with a few changes:
Code:

var finalCount = Field("Qty");//Keeps the final record count being printed by groups
var myCount = finalCount;//Will be used to determine the number of groups (100ea) needed for qty printing
var myIndex1 = 1;//Lowside number of every output group range
var myIndex2 = 100;//Highside number of every output group range

//myAnswer = [];//Array to hold the collected groups, global

if (FusionPro.Composition.repeatRecordNumber == 1)
{
    myAnswer = [];
    myCount = myCount/100;//breaks records to be printed by 100
    myCount = Math.ceil(myCount);//always rounds up 100 group count

    for (i = 0; i < myCount; i++) {
        if (myCount == 1) {
            myAnswer.push("1 thru " + finalCount);
            break;
        }
        if (myCount == i + 1) {
            myAnswer.push(myIndex1 + " thru " + finalCount);
            break;
        }
        myAnswer.push(myIndex1 + " thru " + myIndex2);
        myIndex1 = myIndex1 + 100;
        myIndex2 = myIndex2 + 100;
    }

    FusionPro.Composition.repeatRecordCount = myAnswer.length;
}

FusionPro.Composition.AddVariable("Group Range Rule", myAnswer[FusionPro.Composition.repeatRecordNumber - 1]);

return myAnswer.join("\n");

I've attached the template with these changes as well.

ThePorge January 18th, 2021 11:33 AM

Re: Truncated text
 
Thank you sir....working great.


All times are GMT -7. The time now is 04:35 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
(c) 2011, PTI Marketing Technologies™, Inc.