My Stuff
Comments
-
You can do a print_r($record) to dump the object, that should tell you what you're looking for. In this case I think you want to use $record->getRowList() or getRecordList() -John
-
I believe purchaseOrder.Entity would be the Vendor you are buying from (on SalesOrder it would be the Customer you are selling to). -John
-
You can not access reports through WebServices - only Saved Searches. You can enter an enhancement for this feature. ODBC may also be useful, but if you want the NetSuite financial reports I think you have to go through the browser/CSV. -John
-
Two new fields specifically for this (part of the Standard Costing feature) in ItemSearchRowBasic <element name="isLotItem" type="platformCore:SearchColumnBooleanField" minOccurs="0" maxOccurs="unbounded"/> ... <element name="isSerialItem" type="platformCore:SearchColumnBooleanField" minOccurs="0"…
-
The client side coding for AdvancedSearch can be awkward ( it makes more sense in the WSDL ). Can you post the SOAP? Most likely you have to look at rows past the first as line 0 of transactions does not contain item information (it's essentially a header line). -John
-
As I said, it's going to take a fair amoiunt of code to do. Basically every schema object (not operation) has a namespace, so you have to make sure your SOAP serialziation code references the dictionary for each schema object. -John
-
Between 3 fields you should be able to detect all item types: Type, SubType, Costing Method So for assembly vs serialized assembly you will get back Type,SubType,Costing Method Assembly,,Average Assembly,,Serialized respectively. -John
-
Is your provider sure they are providing the quantity, price level ( should be -1 which corresponds to "-Custom-"), rate and the amount. If they provide all of those it should be saved correctly. You should also be able to update the order once its in NetSuite and update these amounts. -John
-
Promocode is a record in Web Services meaning you can add one or a list of PromoCodes. Each PromoCode can reference many items - you can't add the items through PromoCodeItemsList, but you can reference existing items. -John
-
In the upper right hand corner of the NetSuite application there is a "help" link. Go there and search for PricingMatrix (one word), there should be examples. -John
-
If your saved search has "Main Line" = "Yes" as a criteria in the browser, you will not get back line level detail. Are you getting the same columns in the WS search as you do in the browser? -John
-
I believe getItemAvailability() was created for this exact case. Log into NetSuite and look at "Help" in the upper right corner. Search for "getItemAvailability" and you should be on your way. -John
-
It's in ItemSearchRowBasic - is it not being returned even though it is specified? Does this happen if you reference a savedSearch that has this column? 2008.2 common.xsd, ItemSearchRowBasic <element name="vsoeDeferral" type="platformCore:SearchColumnEnumSelectField" minOccurs="0" maxOccurs="unbounded"/> <element…
-
If you are using Web Services, you can only specify price level by internalId. Specifying the name in the RecordRef will not be rejected, but the lookup is not done by name. Again, just specify -1 as the internalId. -John
-
You should get a ticket number back in the error message (it's an alphanumeric string). That ticket references a unique error in our logs. -John
-
How do I make a customer belong to a location for reporting purposes? I'm on a little shakier ground here, but are you trying to report on customers or transactions? The transactions will certainly have a location on them. If you are trying to do a report of customers (eg how many customers per location per day), I think…
-
Dim oResponse As New Netsuite.WriteResponse oResponse = oNetsuiteService.add(oCustomer) Take a look at the oResponse. It contains a recordRef which contains the internalId of the just created customer. -John
-
Some reasons this can happen are You have another thread that is performing an operation? There is another program running with the same credentials. Another program that died on the client side has left a long running operation going. Try this temporarily... try { nsPort.logout(); nsPort.login(); // Invoke the "search"…
-
Do you happen to remember any specific steps you took between when search was working fine and when you started getting these warnings? Was the only thing you did add new custom fields on Sandbox? Does this happen on your production account ever? -John
-
Does it populate quantity and amount when you pick this item in the browser? You may have to set quantity before it will populate amount. -John
-
The above a great suggestions. Here are the two things that come to mind. Real-time: Create a suitelet which retrieves the usage data from your system when loaded (thus realtime). It can then compare that against balance data in NetSuite and present an invoice button if needed. Batch: Every month a process loads the usage…
-
You need to file a case with support and give them the ticket number. They can quickly look up the problem and escalate appropriately. Unfortunately that is the best way, these errors are unexpected and can't be coded or returned in a meaningful way. -John
-
The simplest way in NetSuite is to 1) Create the customer with CC info 2) Create a cashSale and set chargeIt (a field on the record) to true. 3) Set customer to inactive. You can do this asynchronously if time is at a premium (asyncUpdateList()) Step 2 will create the GL impact and actually charge the card. Again, I…
-
InternalId is the numerical id assigned by NetSuite, you can either view by turning on the "show internalIds" preference or by looking int he URL ...custjob.nl?id=XYZ ExternalId is a string id assigned by the user when adding/updating a record. This is very handy for syncing between systems (you have another system with…
-
We have the same rules as a web browser, in fact the best way to test connectivity is to visit https://webservices.netsuite.com/services/NetSuitePort_2008_2 in your browser - you should see a success message. -John
-
The integration of NetSuite and OpenAir is accomplished through Perl. OpenAir uses module called SOAP::Lite (available at search.cpan.org) to generate/parse SOAP messages and to handle the transport. It is fairly popular but there are multiple alternatives on CPAN. SOAP::Lite doesn't really do anything with WSDLs and…
-
I think the documentation may need to be updated. Take a look at Setup->Sales->Customer Status or use the GetSelectValue() operation. You will see what the correct internalIds in your account are. -John
-
That's a good description of the goal. I don't understand the "technically sound" part - what are your concerns. I'm guessing you mean "should not have any known holes in the process". Quick Questions - why is the hotspot a parent Customer? Shouldn't it be a Location? Why is the new customer inactive - if they pay you/use…
-
Make sure 18 is the correct key - they are actually different for different accounts (which is why they are internalIds, not enums). Go to Setup->Sales->Customer Status If you have "Show internalIds" preference set in your Preferences, you will see the internalIds for each status. Alternatively you can mouse over the…
-
You want to do a Full Search - (bodyFieldsOnly = false). If you know the internalId of the salesOrder, you can do a get(). We do have an ERP sample application which would probably have this sample code. Also there is the online help which you can see by logging into NetSuite and looking in the upper right hand corner.…