My Stuff
Comments
-
Well, the question is answered, but the answer is effectively no. I have a RESTlet that does the same thing and runs in 1.4 seconds. Opening an Analytics Dataset with the same data in the UI takes about 10 seconds. Retrieving the Analytics Dataset with the same data takes over 30 seconds. Executing a SuiteQL query via REST…
-
Ok, well it's already there: This didn't appear until I saved, closed and reopened the dataset. Sweet! (Suite!) But wow what an ugly query. I might be able to simplify it. This is the query, fwiw: SELECT BUILTIN_RESULT.TYPE_STRING("TRANSACTION".tranid) AS tranid /{tranid#RAW}/,…
-
Ok, I now know it's possible, because I can do it in a SuiteAnalytics Dataset: If you are familiar with the browser plugin "Save search as script" or whatever it's called, you may have the same thought I just did: We need a way to convert a SuiteAnalytics Dataset to a SuiteQL query automatically! I will be over my head…
-
I saw the same as what Richard reports. So, in a Work Order transaction, what field could possibly be more central to the purpose of the transaction than the assembly item being created? It seems impossible that this was overlooked by mistake.
-
This works: SELECT tranid, id from transaction WHERE recordtype = 'workorder' AND custbody_sea_rundate >= '8/3/2024' It doesn't like the LIMIT the way you wrote it. This also works: SELECT id, itemid from item So what's missing is the name of the link from the transaction table to the items table in SuiteQL or N/query…
-
The date range is attracting answers. This is the part that is key: SELECT t.tranid, t.id, i.itemid, i.description from transaction t INNER JOIN item i ON t.item = i.id WHERE recordtype = 'workorder' "item" is not a join and I can't figure it out. I can't even do it in a SuiteAnalytics dataset.
-
I keep ending up posting to "New to NetSuite". That doesn't describe me or the kind of issues I come up with. Where is best place to post this kind of question ?
-
moved a followup question to a new thread
-
It's a transaction search - for work orders in particular. With a little AI help I got this far: SELECT tranid, id from transaction WHERE recordtype = 'workorder' AND createdDate >= BUILTIN.RELATIVE_RANGES('LW', 'START') Where "LW" means last week. I guess this is documented under "SuiteScript 2.x Modules N/query Module…
-
The SuiteQL query worked. This also works: SELECT unitName, abbreviation FROM unitsTypeUom WHERE internalid = 4
-
I don't see that my question is even addressed, never mind answered. I know that it is a Unit, not a unit type. I want to get the name of the Unit. It doesn't seem possible. If I knew the unit type I could GET …/services/rest/record/v1/unitsType/4/uom/4 But I don't. My question is "Is there a way to get the name of the…
-
I used the code quote block it still garbaged my quote. Someone should look at this.
-
Not sure how I missed this before: search.create({ type: "transaction", filters: [ ["trandate","within","9/1/2020","8/31/2022"], "AND", ["file.name","isnotempty",""], "AND", ["mainline","is","T"] ], columns: [ search.createColumn({ name: "trandate", sort: search.Sort.DESC }), "transactionnumber", "entity", "item",…
-
I knew about those two. I have since learned about the search type 'FOLDER' and the undocumented search type 'file'. I think the last piece would be a way to retrieve a list of records that are attached to a given record, whether they be files or otherwise.
-
I can't slow down on this. In a couple weeks I'll try to debug this for you.
-
function calcCartonCount(qty, itemData) { const qtyInt = parseInt(qty, 10); const perCartonInt = parseInt(itemData.custitemozlink_cartoncount, 10); return parseInt((qtyInt/perCartonInt), 10); }
-
The code block doesn't look too great, unfortunately. I reformat frequently with eslint so it doesn't look like that in the file.
-
The field is not related to any particular record type. The suitelet accesses item fulfillments and custom record types, but the sublist in question is created in the assistant, not by the standard ui. // Add Sublist const ifLineSublist = assistant.addSublist({ id: 'iflinesublist', label: 'Item Fulfillment Line Items',…
-
That did it ! Thanks for your help. The memo field for the POs themselves get the data entered in the "memo" field as expected, and the memo field for the line item gets the text entered in the description field. This isn't something I was able to learn from the documentation, but perhaps I didn't know where to look.
-
I should also make clear that I am asking you, an Oracle employee representing Oracle in this forum, for help with this problem. I want support. We are paying for NetSuite Support and they are ignoring my tickets on this.
-
Well for starters, since a "Print BOL" button is added to forms by a locked script, there is no way to control which custom form the button appears on. This is almost a deal-breaker on its own. Second, in the "Print BOL" screen (apparently a suitelet), when one searches for item fulfillments so that one BOL can be created…
-
Well for starters, I guess I need to be the one to tell you that there is this thing called the "NetSuite Platform Solutions Group" that develops applications that are available for free. If one goes to "Customization/Suitebundler/Search & Install Bundles" and puts "NetSuite Platform Solutions Group" in the the search box,…
-
Thanks. I figured out the same solution with the help of another saved search expert.
-
I did open a ticket after all. We'll see if the problem persists long enough to demonstrate.
-
I did find a usable workaround. It appears that all one has to do is use the edit link in the script record to open the file in the editor, and then click save without making a change, and it will then recognize the changes. This indicates that something in NetSuite has "unlawful carnal knowledge" of when a script file…
-
First of all let's be clear - this is a Suitelet, a *server side script*. Disabling the cache is not a factor, nor can it ever be. I found that removing the script record and recreating it does cause the system to start using the current file. But that is not a good workaround because it takes too long to do. And as soon…
-
So, the bit about "You also need to define the module currentRecord or Record module for it to be known in the script" seems to be wrong. The currentRecord module is loaded when I call "var currentRecord = context.currentRecord". In the docs for the currentRecord module it says: Because clientDemo.js is a custom module…
-
Here's an example: function validateField(context) { var currentRecord = context.currentRecord; var sublistName = context.sublistId; var sublistFieldName = context.fieldId; var line = context.line; if (sublistName === null) { return true; } currentRecord.selectLine({ sublistId: sublistName, line: line });…
-
Yes, all that is true. It's a client script, so it's always in dynamic mode. But the point is that in NO case is it ever true that the function does not exist. You are returning compile-time errors for run time problems.
-
So what does it do?