My Stuff
Comments
-
Your image is broken. Try posting a link instead of the whole picture, I don't think the UG support images
-
No, that is what I meant. Only the Manage Interco SO form can create Paired transactions. But an Interco transaction doesn't have to be a Paired Transaction. An Interco transaction is any transaction that uses a "Represents sub" Customer or Vendor and posts to an Auto-elimination-enabled account. You can easily create…
-
Yes, it will
-
The easiest would probably be to output the reasults as a CSV file. CSV is text, not binary, so it's really just a matter of iterating through your search result columns and rows and writing value comma value comma line break, repeat. Then you can attach that file to the email and you're basically done.
-
Inventory Adjustments do indeed have an asynchronous recalculation of their value. It is extremely unreliable to look at them until at least 24 hours have passed. Using an Assembly Build might work. If you can elaborate more on what you're trying to do I can offer more guidance.
-
Yes, this is an existing paint point. The short is answer is that it is impossible to get a custom address list to match the values NS uses. The simplest solution is to store a hard-coded library translation table. There are more advanced options to cause a dynamic lookup to fetch the correct value, but a hard-coded…
-
It can depend on the situation and the record. When you do nlapiLoadRecord you have to load the entire object, which includes tons of fields and possibly sublist engines that you don't want. If you just call a search, you're just returning the few fields you want. I suspect also it's probably true that in many cases, if…
-
This is possible, but I STRONGLY do not recommend it. You will need to view the source code of a standard record and look at the functions NS calls when you press save, and then call the same functions on your button. This is a very bad idea because as soon as NS changes something in their code, your functionality will…
-
You can call a search instead of loading the record. This is best practice anyway as it is cheaper on metering and faster of execution.
-
The issue might be that the record is not setting the body-level total fields. Try switching your first line to: var cmemo = nlapiCreateRecord('creditmemo',{recordmode:'dynamic'});
-
record.getLineItemText()
-
What Evan said. You don't need to code this
-
If you contact NS Support they can give you the backend error message, which is more detailed. That should help figure out the exact issue, instead of the opaque "unexpected error". Just open a case and give the exact date/time of the error and the user that generated it.
-
I asked our integration guys, and they said the concurrency change was announced as part of 2014.1, and this was not news to them. Can't blame you though, I didn't know about it either. But, it looks like this is old news.
-
Yeah, you can't sorry. One of the big frustrations of scripting. You'll need to design a fallback scheduled script to execute every now and then (nightly?) to detect such cases and correct them.
-
Well if the records are BEING imported - i.e. they don't exist - they all your beforeSubmit script needs to do, should it detect there is a problem and the JE needs to be rejected, is to throw nlapiCreateError('JE_INVALID','Journal failed business rules, correct it and try again')
-
#1 is not really possible. $2 is much better. You do not need to save the files to the cabinet, however. You can take the resulting PDF object from the merge and email it directly.
-
Yup. Here's how I would do it - As you have, make a button. When pressed, it calls window.open to open a new window. Set the URL to the standard Create Sales Order url. Add a single url GET param that says like &claim=true Now, you have 2 options, fairly similar. Either as a beforeLoad or a client-side PageInit script,…
-
NS did some changes to nlapiSendEmail for the 2014.1 release. My guess would be they created the defect you described in doing so. I would file a Case.
-
It seems unlikely to be a sequencing problem, the code should by all means be running synchronously no matter what. I'd suspect more that it's a permission problem. I would investigate if nlapiSearchGlobal is returning anything in the context of an external call
-
Historical design. First there were only Assembly Builds. They were as they are now and did not support item swaps. Then NS released WO. Clearly, it was technically simpler to allow item swapping on this new object and then to passing the final components to the Assembly Build, rather then redesigning the UI and behaviour…
-
If you build using directly an Assembly Build, then all you can do is change quantities. If you build first using a Work Order, you can change the components and quantities to anything you want.
-
Get rid of all your users. Pesky humans, always getting in the way of processes :D Seriously, it's a difficult situation. If at all possible, you can move your logic to a batch process that run off-hours. Aside from that, you can't guarantee anything. Does it happen a lot? Usually these types of errors are very rare -…
-
You need to figure out the name of the object you want to reference. 'custrecord' is the prefix of your field names, not your actual field names. Go on your custom record. On this screen, you will see the name of the record. I'm assuming you didn't rename your fields, so you can expect to see something like…
-
The answer is that User Events do not trigger submitted records user events. If you really need to submission to trigger the scripts on the other record, you'll need to change your design. One way is to have the User Event on the SO trigger the execution of a Suitelet. The Suitelet then runs all the code and submits the…
-
You can run a generic 'item' type search, rather than specifically running an 'inventoryitem' or 'serviceitem' search. You're on the right track. Pass all your internal ids in an anyof array. Then, you need a double for loop to cycle through results and lines, looking for matching internal IDs. If they match, process. Yes,…
-
//when TO is created if (type == 'create') { //set TO location variable var fromLocation = nlapiGetFieldValue('location'); //cycle through items, get itemId var numberOfItems = nlapiGetLineItemCount('item'); for (var i = 1; i <= numberOfItems; ++i) { var itemId = nlapiGetLineItemValue('item', 'item', i); //filter…
-
use nlapiSearchRecord() and get the 'locationaveragecost' column, filtering the results where 'inventorylocation' is your line item
-
String values you are passing, for example Item Name or Item Description, probably occasionally contain strong-terminating characters like ' or ", thus breaking your string early. Run a regex to catch these and convert them to something harmless
-
Not directly, no. What you can do is, on your afterSubmit, instead of running your code there to run the transformation, call a Suitelet and have the Suitelet run the nlapiTransformRecord and submit. The suitelet's submit action will trigger scripts deployed on the target record.