To solve the error: Failed to create, update/transform record because Cannot find function getSelectOptions in object Field
We are creating a custom flow to sync sales orders from the Warroad Netsuite account to the Touchstone Netsuite account.
We have created 2 transaction searches in the Warroad account. One to fetch the details of body fields of sales order and the other to fetch the item line fields of sales order. The body field included search is fetched on the Export side and the item line field search is included on the Lookup. And also we provided a result mapping. On the Import side, we have provided a mapping.
After running the flow we are getting an error message like this:
Failed to create, update/transform record because Cannot find function getSelectOptions in object Field
0
Comments
Can you also show your mapping and do you also use netsuite scripts on certain fields?
The error message you're seeing, "Cannot find function getSelectOptions in object Field", usually occurs when the
getSelectOptions
function is called on a field that either doesn't support this function or doesn't exist in the form.Screenshots of Import Mapping
Rosemol Joe can you try use dynamic mode? See article here: https://docs.celigo.com/hc/en-us/community/posts/360077243491/comments/15124655745307.
Yes I have included dynamic mode in mapping and also reordered the mapping like this
But still the same error
Hi Rosemol Joe,
Use Dynamic Mode should solve the problem. can you please try either any one of the below steps
1. Remove "Status" field in mappings if not needed
2. Try to update import doc by replacing "restletVersion" from "suiteapp2.0" to "suitebundle" through POSTMAN(In UI, its disabled field)
Yes, after removing the Status field from mapping the error got solved.
But now there is another error
The mapping now providing is like
In the preview, we can see the item details. But in the debug log the item details are missing
Rosemol Joe,
While we are using suiteAPP 2.0, it will throw an error when all the sublist(eg: items) values are hardcoded. we need to map either one of the sublist values from exports(Standard type) or you can use dynamic lookup for items : item (internalid) field mapping to set item id or item name. this will solve the above error
The Above error solved
Thank You
Failed to create, update/transform record because Cannot find function getSelectOptions in object Field
The above-mentioned error was solved by removing the status field from mapping. But need to hardcode the status as Pending Fulfillment in the mapping.
Rosemol Joe,
Then please try to update the backend import doc by replacing "restletVersion" from "suiteapp2.0" to "suitebundle" through POSTMAN(In UI, it's a disabled field for existing imports). For new imports, you can select "suitebundle" in the advanced section.
FYI, Please refer to this article for performing API requests
Dhilip Srinivasan I've just encountered this same error when creating a NetSuite Item Fulfillment. The Status field is the cause of the error, but unlike Rosemol Joe I can't exclude the Status field, I must map it.
Is the solution still to hack the Import back to the SuiteBundle version? It's been 6 months so I'm hoping there is a new and better solution available. Our SuiteApp version is 1.12.1.
FYI, I created ticket #204828
Just ran into this issue again on a new integration. Now it's been 9 months that this has been a problem.
I found an alternate solution though that doesn't require dynamic mode (which creates it's own odd issues). In my case, having a mapping for
would cause the error:
However a name mapping works:
I suspect the reason for the different behavior is that when setting by IID the IIO processor script is trying to find the matching select value where the name version is just using setValue (or setFieldValue if still on 1.0). I don't know, maybe that's totally wrong. What I do know is that this whole thing is a big pain in the a** and I can't seem to remember the workaround and keep encountering it over and over! ;)
Please sign in to leave a comment.