Jump to content

Truncated text


ThePorge

Recommended Posts

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:

   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:

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

Archive.zip

Link to comment
Share on other sites

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:

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

Then rest of the logic from your rule can go into OnRecordStart, with a few changes:

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.

PrintLogCoverSheet-Dan.pdf

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...