This topic contains 4 replies, has 0 voices, and was last updated by michoel 8 years, 7 months ago.

  • Author
    Posts
  • #2060

    Jochen

    Well, this is kind of strange.

    In our company it happens from time to time that we cannot ship everything in one shipment and we have to split it and therefore you create picking lists where one was printed in week 1, some available items were shipped and in week 3 the other items got shipped. Sometimes also not in the right quantity.

    In the standard picking lists (advanced PDF for having barcode on the list) Netsuite only offers the “item.quantity”. But this does not reflect the quantity that was already shipped in week 1 if you print in week 3. Means you pick the wrong quantity from your bins.

    OK, I thought we’re smart and add the item.quantitybackordered in that form. But unfortunately this variable is also not smart.

    When nothing has been shipped from that order, you get a “0” populated in the column. If any item from that order was shipped and you print the same again, it has the right item quantity that has to be shipped. So we cannot rely on that field, because it does not give the right quantities in orders that are not partly fulfilled (fresh orders).

    My idea was to print the right variable depending on what is the content:

    Code:
    ${item.quantitybackordered}${item.quantity}#if>
    This would always show the right quantity to pick. Unfortunately item.quantitybackordered behaves strangely in Freemarker. A test with

    Code:
    item.quantitybackordered?is_number
    is true, while

    Code:
    ${item.quantitybackordered}${item.quantity}#if>
    leads to this error message:

    Code:
    The only legal comparisons are between two numbers, two strings, or two dates.
    Left hand operand is a com.netledger.templates.model.StringModel
    Right hand operand is a freemarker.template.SimpleNumber
    which cannot be true, because the ?is_number is true.

    I don’t understand that and I absolutely unable to change this by using

    Code:
    item.quantitybackordered?number or item.quantitybackordered?c?number
    .

    I have no clue on how to get the right quantity on my picking list. My warehouse workers are killing me due to complexity of this …

    Idea anyone?
    This is a cached copy. Click here to see the original post.

  • #2061

    khultquist

    We use a custom field (transaction column field) that has the logic in SQL. We call it “Qty to Pick”. If you do something similar in your account, you should be able to access it in Freemarker with a single field.


    khultquist replied on 02/19/2016, 07:11 AM: Sure, here’s the formula.

    {quantityremaining} – NVL({quantitybackordered},0)

    The custom field has these ‘Applied To’ checkboxes

    ITEM FULFILLMENT

    PRINT ON PICKING TICKET

  • #2062

    dansteg

    We have shipments like this daily and utilize ${item.quantitycommitted} to reflect this. So if we have an order for 100pcs, but only have 25 available to ship, Quantity Committed = 25. When we receive in 100pcs more, a week later, Quantity Committed is now 75. Is that what you’re trying to accomplish?


    Jochen replied on 02/19/2016, 02:40 AM: Unfortunately we do not use the commitment feature to be more flexible with shippings. Therefore, this ${item.quantitycommitted} variable is empty when printed in the picking lists ๐Ÿ™

  • #2063

    Boothy

    Hi Jochen, is this still a problem for you?

    I’m working on exactly the same issue too with our packing list. We also part ship orders and need to indicate the number of items on back order for our customers.

  • #2064

    michoel

    This is how we do it, including a convenience function that makes sure we are dealing with numbers:

    Code:

    Quantity Remaining: ${toNumber(item.quantitycommitted) + toNumber(item.quantitybackordered)}

You must be logged in to reply to this topic.