Solved

Line Spacing Issue for Acumatica Report Designer Element

  • 27 July 2022
  • 8 replies
  • 784 views

Userlevel 3
Badge +1

Hi, I have a requirement where one field must be printed with some amount of line spacing between them, if the field length is long and uses many lines. Is there an option in Acumatica Report Designer to increase line spacing or any other workaround to achieve space between according to the layout would be appreciated. 

Thank you.

Line Spacing Must Increase for the Field Value Printed

 

icon

Best answer by BenjaminCrisman 2 September 2022, 16:24

View original

8 replies

Badge +18

Hello @TharidhiP ,

I don’t see any way in Acumatica report designer to wrap one field with extra space between the lines. We control font size, we control wrapping, we control vertical alignment…. but I see no way to have the first line aligned closer to top while second wrapped line aligns closer to the bottom of the field. Also I don’t see any way to truncate first text field and continue text in another field.

 

Userlevel 4
Badge +1

Are you able to use 2 separate text boxes and size them accordingly?

Userlevel 3
Badge +1

Hi @Ellie I have tried this method, but since the field value is not fixed and can change, if brought to 2 different text fields some words are cut off in the middle and printed on the next line which should not happen. Thank you for the suggestion though!

Userlevel 4
Badge +1

@TharidhiP You can use the ”Left” formula in the first box with a fixed number of characters.

In the second box, use the “Right” formula to display the rest of the content, minus what you hard coded in the first box.

Userlevel 3
Badge +1

Hi @Ellie, thanks for your good suggestion. If we are using 3 text boxes to show the value broken down (maximum per line can be 44 characters), how can we achieve that?

Userlevel 7
Badge +4

@TharidhiP I believe you can do a Right(Left()) expression to pick up where the Left function leaves off. When I test a Left([SOLine.TranDesc], 11), followed by a Right(Left([SOLine.TranDesc], 22), 11), then a Right([SOLine.TranDesc], 11) it looks like this:

This particular description happens to be 33 characters long, so it fits evenly, but this will likely not work if all three lines are not needed, unless you add an IIF to see if the last line would copy the second line and just be blank.

In my case it looks like:

=Iif(Right([SOLine.TranDesc], 11)= Right(Left([SOLine.TranDesc], 22), 11), '', Right([SOLine.TranDesc], 11))

Or an expression to find the string from the second expression and then pick up from there, but I don’t have a good example of this one

Userlevel 3
Badge +1

@BenjaminCrisman Thank you for the detailed explanation, it was very helpful.

Regards,

Tharidhi.

Userlevel 3
Badge

You could consider implementing word wrap in your own code with a multi-line text box…  the logic to do so isn’t particularly hard, but it’s quite the journey to do in report writer.  

But then you’ll probably end up having a problem with the line spacing within the text box (It seems to only populate down; can’t seem to have it populate up within the field -- if anyone knows how to do that, speak up please!)

So then the solution becomes multiple single line fields with right() expressions and visibility conditions on them based on whether you’re “over-flowing” the single line or not.

 

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved