rows of data not showing in the PDF file in LF repository when using custom html?
Question
Question
custom html not saving to laserfiche repository
Replies
Can you provide some more details, for example, what custom HTML are you using and what specifically is missing from the saved form?
table like this
<table>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Data1</td><td>Data2</td></tr>
<tr><td>Data3</td><td>Data4</td></tr>
<tr><td>Data5</td><td>Data6</td></tr>
<tr><td>Data7</td><td>Data8</td></tr>
</table>
When forms saves to LF Repository as PDF this table disappear.
Is the table being created by JavaScript? Forms saves variables, but it doesn't save the "state" of the form. If the code doesn't execute in the same way when the PDF is generated then this table wouldn't be recreated.
As an example, if you have two forms, and this table is created in Form 1, when Form 2 loads it will not exist unless the same process runs to create it again on the second form because it is not a variable that Forms can track/save.
Hi Jason,
I am only using 1 form and the javascript is in this form to create the table contents.
Thanks,
Max
Yes I know, I just mean that as example because when it generates the PDF, it is effectively the same as loading another form.
There is no mechanism in Forms to save the custom HTML generated by your JavaScript, which is why it is being lost.
As soon as the user submits, it goes away because it is not a variable that Forms is designed to preserve from one step to the next.
Is there a reason you're doing this with custom HTML and not a Table field? If it was a table field, then Forms could actually save the values.
The reason for this is that I have 8 columns that needs to be on the report and 3 of these columns has descriptions which is longer than a text box can display. Also, all of the text boxes shrink to about only 4 characters wide when it save to the pdf format.
Have you tried adjusting the % values of the columns and the width of the fields, or using multi-line fields?
I think getting a table field to display the way you want is going to work a lot better than trying to get JavaScript to draw the table in the PDF.
I will try it and thank you for your suggestion. I'm hoping that a gridview control will be added in the future
Hi Jason, Looks like I found the issue. I use the jquery method "InsertAfter" and save the report to the Repository the problem is that when saving about 100 rows of the data then thats when the problems occurs. The "InsertAter" no longer occurs and it just saving the form with text boxes instead of labels. and when I tried saving about 600 rows, it gets suspended with some kind error in our LF form server.
Timestamp: 2018-11-06 18:08:07.701 Local Time: 11/6/2018 10:08:07 AM Category: Errors Machine: MVI-test Severity: Error Application Domain: Laserfiche.Workflow.Subscriber.exe Process Id: 3404 Process Name: E:\Program Files\Laserfiche\Laserfiche Workflow 9\Laserfiche.Workflow.Subscriber.exe Win32 Thread Id: 4636 - Test Notification Thread Thread Name: Test Notification Thread Message: <Exception handlingInstanceId="312002b6-462c-47bd-b3c6-40765a57a23d"> <Description>An exception of type 'Laserfiche.Connection.LFSOException' occurred and was caught.</Description> <DateTime>2018-11-06 10:08:07Z</DateTime> <ExceptionType>Laserfiche.Connection.LFSOException, Laserfiche.Workflow.Common, Version=8.3.0.0, Culture=neutral, PublicKeyToken=d8428ff9263e6cda</ExceptionType> <Message>Could not connect to the Laserfiche Server.</Message> <Source /> <HelpLink /> <Property name="LFROError">False</Property> <Property
600 rows is a lot of data to save, so maybe that is a factor as well. Even in the browser, I tend to see performance issues when tables have more than 100-200 rows.
Note that when a form is saved to the repository, the HTML element types change is most cases; I don't know the exact code you're using, but it is possible that the "InsertAfter" is looking for something that doesn't exist in the PDF version.
I guess my other option is to Fill out PDF form template in WF. Which is something I need to figure it out.