I'd like to make certain products available/unavailable to certain customers. Similar to Netflix's blocking some movies on some customers depending on geographical locations. I'm assuming I'll need a custom table for the inventory item and list of restricted customers. And then attach this somehow to the lookup filtering. How can I customised the inventory lookup dialog to achieve this ?
You should add PXRestrictor attribute for each selector. For example for SO301000 you should add PXRestrictor on SOLine.InventoryID. You can add it by implementing SOLine_InventoryID_CacheAttached() handler in the extension of SOOrderEntry graph.
If you would like to limit visibility all over the product for specific users,
consider using Restriction Groups, see https://help.acumatica.com/(W(19))/Wiki/ShowWiki.aspx?pageid=ad9a42c1-ff5d-4298-86d9-683039c18512 for details.
Related
We have team selling enabled on our NetSuite, so the bottom of our customer form contains the Sales Team sublist, like below.
My question is a simple one - can I access the fields in that sublist to disable them for certain users, change the labels, etc? If so, how? As far as I can see, it's all OOB and I can't find a way to edit any of it.
We want to have a sales order dashboard where we only show orders for certain sales people based on the logged in user. For example, we have sales people BB and CR who share an assistant TP. BB can see his orders on the dashboard. CR can see his orders on the dashboard. TP can see orders for both of them on his dashboard. We also have people outside of sales who need to see all orders. We want to do all of this without having to create a bunch of custom dashboards. We wanted to maintain 2 dashboards - one filtered one for sales people and one unfiltered one for everyone else.
We have gotten close to solution by using a generic inquiry. We created custom fields on the salesperson that point back to a logged in user (UserID1 and UserID2). Multiple custom fields were used because a single sales person could be visible to 2 people. We then joined SOOrder to SalesPerson inside our GI. We then wanted to join the Users table on (SalesPerson.UserID1 = Users.PKID AND SalesPerson.UserID1 = #me) OR (SalesPerson.UserID2 = Users.PKID AND SalesPerson.UserID2 = #me). That would allow us to create a filter where Users.PKID is not null to limit the view for sales people and then not use any filter on the non-sales dashboard.
The problem is that #me is not available on the Relations section. It is only available on the conditions section. We tried to just have the join of SalesPerson.UserID1 = Users.PKID or SalesPerson.UserID2 = Users.PKID and then creating the condition for the #me portion. The issue there is that it only shows records with a match. That won't work for non-sales people.
Is there some way to include #me or an equivalent on the relations tab? Any better way to accomplish this?
Built-in variables like '#me' aren't well documented which raises questions about support of this feature.
Try this instead:
In generic inquiry TABLES tab, add table 'PX.Data.AccessInfo'.
In PARAMETERS tab, add a new parameter (ex: 'P1') and set the Schema Field value to 'Accessinfo.UserID' (use 'Accessinfo' or the alias for that table declared in TABLES tab).
In the RELATIONS tab in the join condition Child Field you can reference the '[P1]' variable.
Accessinfo DAC contains current record of the logged in user and reflects the information you see when you click your profile in the top right of Acumatica pages. If the solution doesn't work right away you can debug it with the Request Profiler page to look up the generated SQL query for the GI.
I have added a add item functionality like Sales Order in Opportunity. I have followed the same functionality of Sales Order.
The Add Item works fine, but the filtering on Inventory is not filtering the records. I have compared the aspx code and not able to figure out the issue
If you refer the implementation of similar smart panel in SO301000 ASPX, it is performed via FastFilterID property of PXGrid.
Is there a way to create promotions in Netsuite 2016.1 so that items can have individually lowered prices? I know how to reduce items by percentages and how to set a flat price for all items, but I'm trying to allow individual items to have different temporary prices. Does Netsuite have this capability, or should I begin creating it via SuiteScript and custom records/fields?
Thanks!
Try the pricing groups feature of NetSuite. This lets you set a custom price for a set of items, which can then be assigned to various customers. This is primarily meant for negotiating prices with a large customer.
You might be able to use this feature to set temporary prices by switching the pricing group on and off for different customers with a script.
I am not aware of any way to temporarily set specific prices.
A thing I've done in the past was to create a set of custom fields and scripts that did the following for a Daily Specials program.
Take a group of products and copy their current on-line price to another field;
Update their online prices to a pre-determined value
assign them to a "Daily Specials" category.
set a custom checkbox field so that the item thumbnails could be easily bannered in a category list
A daily batch inspected a configuration table for that day's specials. It cleared all the current specials(prices back; remove from category; clear checkbox) and then assigned that day's specials.
this was driven by a table that allowed the product manager to schedule products based on seasonality and availability.
I have a list of products that has two columns, product and product family.
I want to create another list that uses this first list as a lookup for one of the columns. This I can do, i.e. I create a custom column and then use the "Add from existing site columns" linko the "List Settings" page of the second list.
However, what I'd really like is that the custom column only proposes products that belong to a specific product family. I can create a View in the first list which allows me to display only the products in a specific family. However I don't see any way to specify only this view when I create the custom column.
Anyone have any ideas ?
Best regards,
Colm
If I understood you correctly you are trying to make a dynamic select field that will populate based on what the user has chosen in a select field before it. You will not be able to configure this with out of the box SharePoint. It is possible to add some javascript to a form to achieve this. I believe you can also do this in InfoPath but I am double checking that.