RE: Freemarker Nested If Statements

We have been using pick, pack, ship since we have a drop ship warehouse. Our original Sales Rep for Netsuite, or this was a default setting, had our picking tickets to show the item.quantitycommitted field. Since I was the only one using the pick, pack, ship properly per Netsuites instructions, some items were being sent to stock versus getting pulled for orders as some of you may know, not marking items picked, will not reset picking ticket status for when more items get received. Long story short I have been working on resolving this issue but introducing the proper way to pick pack ship, however the picking ticket was not reflecting the proper amounts that needed pulled. I got it working, with errors on saving, completely except for if there have been items billed. That is where I am stuck. The following code is what I am trying to use and I get 0 errors while saving or when I preview, however it does not seem to work when I try to generate a picking ticket. I get this error;

“Error

An unexpected error has occurred. Please click here to notify support and provide your contact information.”

<tr>
    <#assign billed=item.quantitybilled>
    <#assign picked=item.quantitypickpackship>
    <#assign committed=item.quantitycommitted>
    <#assign qty=item.quantity>
    <td colspan=”3″><span class=”itemname”>${item.item}</span><br />${item.description}</td>
    <td style=”width: 125px;”>${item.options}</td>
    <td style=”width: 86px;”>${item.quantity}</td>
    <td>${item.quantitypickpackship}</td>
    <td style=”width: 47px; text-align: center;”>${item.units}</td>
    <td><#if billed == “0” >
            <#if picked == “0” >
                ${committed}
            <#else>
                <#if billed == picked >
                        ${committed}
                    <#else>
                        ${(committed-picked)}
                    </#if>
                </#if>
    <#else>
        <#if billed = picked >
                ${committed}
            <#else>
                ${(qty-picked)}
        </#if>
    </#if></td>
    </tr>
shanelynn321 Rookie Asked on November 22, 2022 in SuiteScript.
Add Comment
11 Answers

I believe I had tried this, however since I am out of ideas I tried it anyways. Here is the warning produced on saving.

Error on line 119, column 9 in template.
Detail...

   Can't convert this string to number: "" The blamed expression: ==> item.quantitybilled?number [in template "template" at line 119, column 25] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign billed = item.quantitybilled?... [in template "template" at line 119, column 9] ---- Error on line 120, column 9 in template. Detail...

   Can't convert this string to number: "" The blamed expression: ==> item.quantitypickpackship?number [in template "template" at line 120, column 25] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign picked = item.quantitypickpac... [in template "template" at line 120, column 9] ---- Error on line 121, column 9 in template. Detail...

   Can't convert this string to number: "" The blamed expression: ==> item.quantitycommitted?number [in template "template" at line 121, column 28] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign committed = item.quantitycomm... [in template "template" at line 121, column 9] ---- Error on line 122, column 9 in template. Detail...

   Can't convert this string to number: "9,999.99" The blamed expression: ==> item.quantity?number [in template "template" at line 122, column 22] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign qty = item.quantity?number [in template "template" at line 122, column 9] ---- Error on line 129, column 9 in template. Detail...

   The following has evaluated to null or missing: ==> billed [in template "template" at line 129, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if billed == 0 [in template "template" at line 129, column 9] ----

I went ahead and saved anyways, but I still got the same Error page when generating a picking ticket.

 

Here is the piece of code that is currently in place and functioning, except it does not take into account anything that has been billed.

<tr>
    <#assign committed=item.quantitycommitted>
    <#assign picked=item.quantitypickpackship>
    <#assign qty=item.quantity>
    <#assign qtytopick=committed-picked>
    <#assign qtytopicklt0=qty-picked>
    <td colspan="3"><span class="itemname">${item.item}</span><br />${item.description}</td>
    <td style="width: 125px;">${item.options}</td>
    <td style="width: 86px;">${item.quantity}</td>
    <td>${picked}</td>
    <td style="width: 47px; text-align: center;">${item.units}</td>
    <td><#if qtytopick lte 0 && committed != 0 > ${qtytopicklt0} <#else> ${qtytopick} </#if></td>
    </tr>
Rookie Answered on November 28, 2022.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.