How to make a single row of data editable under a section based on the status of the record while other rows on the same section non editable? - maximo

The requirement is as follows:
In the application Company I have added a custom tab called revisionlog and this revisionlog captures any revision to vendor records.
This revisionlog records can be added and modified only by certain users belonging to a security group, however the new requirement is to allow only one row of data in this revisionlog section editable if the vendor record has a particular status, all other rows will be non editable.
Any ideas, how to achieve this?

What are your criteria to determine which row is editable?
Let's say only the last revisionlog is editable.
Add a persistent flag attribute to your revisionlog object
With an object launch point automation script, on the before save event, set this flag to true. Set the other occurrence to false by getting it's mbo instance from a custom relationship, something like that: company=:company and flag=1.
Use a standard signature option based on this flag (and company's current status?) to manage the editability of each record. This might be helpful: https://www.ibm.com/support/knowledgecenter/SSBLW8/com.ibm.mbs.doc/condexpmgr/c_expression_syntax_cond_expressions_classes.html

Related

Is their a way to set value for all existing records using Acumatica code without modifying the screen

User requirement is to create duplicate customer field in Invoice screen and that custom field is using for some historical data, But by default we are passing current Invoice customer value and later we are allowing user to change the custom field.
so in this case is there a way to set the value for existing records through code with out refreshing/modifying the existing record.
I have tried by using field level PXDefault attribute but that will not work in my case so their any events or some code to update custom field value for existing fields.
Thanks in advance.
I believe PXDefault would only execute when a new Row is being inserted. Perhaps one option could be to explicitly call cache.SetDefaultExt(e.Row) if value is null, but I am not sure whether it is 'legal' to do it on a row Selected
One other possibility is to use Generic Inquiry Mass Update (https://asiablog.acumatica.com/2016/09/mass-processing-using-gi.html). This way to could perhaps update past records in bulk. But be careful of Acumatica Transaction License limits.

Adding list of products to a non sales order

Sales-Orders are a built in record type. I am trying to make a custom record type that has a list of items similar to that of a sales-order. Without having to create much custom HTML/JS code is there a way to add this functionality to a custom record type?
I've looked into Parent-Child relationships between records and that looks promising but requires a fair bit of learning on my end and before I invest that time I'd like to know if that is the best way to do it.
There are a couple of ways you can achieve this depending on whether you want sales order like extra fields associated with an item line.
The simplest way would be to include a multi-select custom field referencing item on your custom record. This will give you an item selection box and you can associate items with the custom record.
If that's sufficient then do that and you're good to go.
However if you want details associated with each item (like quantity) you'd need to create a custom line record as well as your custom transaction record.
The line record would have the original custom record as a parent record (custom field type List/Record referencing the parent record and check the "Is Parent" checkbox on the field definition page.
The line record would also need a custom list/record field that references items.
Standard UI forms will now let you add custom line records to your parent record and let you select items and add whatever extra fields you need at the line level.
All configuration; no code.
When you look at the custom parent records though you won't see your custom lines right away because they are under the 'custom tab' you can edit the custom parent record's forms and move the custom sublist to the top of the form's sublists so when you open a custom parent record the associated child line records will be on the first tab.

Netsuite UI: Adding a Custom Address Dropdown to Sales Order

has anyone figured out how to have a custom drop down on a sales order of the customer addresses.
When creating the custom field on a Sales Order, you will notice that when you select Address or Address Book, the FILTER USING fields do not show. Only 'country' shows when you select Address and nothing shows when you select Address Book
So to Recap:
I need to create a custom address drop-down field on a sales order that contains all of the customer addresses
It might seem like more work than its worth, but if you build it properly you should be able to re-use this code anywhere else you want the ability to add custom address selection drop downs.
In your before load script user event script you will want to add a new custom field of type 'select'.
To populate the values do a search against the customer record and grab the address fields you need (if this is a new record and the customer isnt set in the before load, you can pass this off to the client script by making a selection called 'REFRESH' or something similar that triggers a post sourcing function to make the update to the field select options).
Make sure to get at least the 'addressinternalid' and the 'addresslabel' fields from the customer (you will likely want them all just in case). Add the results to an array so that you can loop through it to build your custom field select options.
From there it would just be a matter of getting the user's selection and tying it to the correct address based on internal id.
I know I did not provide any specific code examples, but that would be your part of the game to play. Hope this helps, and good luck!

Shuffling items into a column family depending on date?

I'll use a blog as an analogy. Our main document type has active and inactive entries in the table. Think of it like blog posts that are set to be published on a pre defined date. They also disappear on a pre defined date.
Does Cassandra offer a way to cleanly query objects basted on if they are currently active, aka active on today's date? The only option I can see is having a second table that contains the active items, along with a regular scheduled job that scans the entire main table for items that are becoming active or inactive.
Is there a neater way?
To save having to scan the entire document table, you could have a second table which contains "buckets" for which items need to be added or removed from the active list. That way you only have to scan "todays bucket" for info on what items are becoming or ceasing to be active.

Change views of records based on Filter criteria in crm 2011

I want to shift a record automatically based on filter criteria from Active view to a custom view "Processed". The criteria is shift record from Active to Processed when field contains data. Although this is working, the record still shows in Active.
I simply cannot find the reason why? Maybe its very simple too. Help?
If the views are mutually exclusive, and one of them is using the criteria field contains data, then the other view must use field does not contain data in order for your data to appear in the correct place.

Resources