create a new pattern for Activity ID in Primavera P6 - project-planning

I am working with Primavera P6.
I have a new project with a defined WBS. I want for each level of the WBS, when I create a new activity, have a default Activity ID previously defined, for example:
WBS:
PROJECT
Engineering
Mechanical
Civil
Piping
...
Procurement
Manufacturing
...
Construction
Area 1
Area 2
...
And for each of these WBS groups, when I create a new activity on it, I dont want the typical A00000 Activity ID, instead I want for example PR1ENME001 (PRoject1, ENgineering activity, MEchanical and is the 001 activity)

So here's the trick.
First create at least 1 activity with your desired Activity ID pattern in each WBS area. Then, highlight that activity and create a new one. It should copy the pattern to the new activity and increment the IDs number automatically.
But there is a setting for this.
On the Projects window, find your project, highlight it, and find the Defaults tab in the bottom half of the screen. Make sure the option "Increment Activity ID based on selected Activity" is checked on.
If you want to edit existing IDs to match your pattern, then you can either use Edit->Renumber Activity IDs, or you can use a Global Change - here's how https://www.planacademy.com/tutorials/edit-activity-ids-primavera-p6-via-global-change/

Related

How can I create a custom rule when changing board column in Azure Devops Boards?

I am trying to create a custom rule so that a custom field must be defined when moving a card to a specific board column but can't find how to do it.
Something in the lines of:
When board column changes value to "Deploy" make custom field "Target" required.
A user should not be able to move a card to column "Deploy" whithout field "Target" being defined.
Any suggestions?
There is a similar question but the only answer to that is using state changes isn't applicable for this particular column change.
The Board Column are not fields of work items as Shamrai mentioned. I am afraid it cannot be done by using the column Name.
The workaround is to map the columns to different states. And then add custom rule by using the workitem state changes.
Click the Gear icon on the Boards page, Navigate to Columns. See below:
You can add Custom State for User Story,Feature and Epic, if there are not enough states to map with the columns.
Go to Organization Settings--> Process under Boards-->Select the inherited process the your project using-->Click User Story(or Feature and Epic)-->Navigate to State and Add new State.
Now you can create the custom rule to make the Target field required when the state of the work item is changed (moved to a different column).
That`s a problem because Board Column, Board Lane, and Board Column Done fields are not available in the fields list to assign rules. I think you may try the following:
Add custom state "Deploy" and assign it to your column. Then use rules.
Create a custom application that queries Deploy without Target and returns such work items with comments "where is your target?" How can I find all work items in a given board column via Azure DevOps API? , How to update the work item from Powershell For VSTS?

Limit table in spotfire based on marked rows in another table

I have 2 tables in my visualization. One is a list of tasks to be done, and one is a list of repairs that have been done at each location. I want to be able to filter the repairs table by the locations of the highlighted tasks. Ergo if you marked a task that takes place at location 1, the second table would filter to only show repairs for location 1. Is that something that's doable?
Thanks in advance
This is pretty easy to do. You need to create a relation on the Location column between your two tables (Data table properties, Relations tab). Then create a details visualization (right click on "parent" table and select details visualization). Because you have created the relation already, it will ask you which table you want to be the "child". After selecting which table, you will be able to click on the parent, and it will filter in the child table. Also note, using the right click menu is engaging the data limiting with marking, which you will be able to see in the properties dialog, data menu. You don't have to use the right click menu to setup details visualizations. It's just easy.
I've written a lot about how to use relations and column matches. See links below. Relations integrate filtering, which is what you want. Column matches integrate marking.
https://www.bigmountainanalytics.com/apply-relations-and-column-matches-in-spotfire/
https://www.bigmountainanalytics.com/how-to-use-relations-in-spotfire/
https://www.bigmountainanalytics.com/how-to-use-column-matches-in-spotfire/

Update chart after changing a field in an APEX form

How do I cause APEX to refresh a chart (graph) after I change the value in a text box/select list/etc that is used as a parameter in the chart's pl/sql statement?
I'd like it to look as professional as possible and minimize the portion of the page that must be refreshed (i.e., "ajax-like", which is the standard in 2018).
Create a dynamic action on the text box/select list/etc that is changed with event "change"
Create a true action and select pl/sql and write
Begin
null;
end;
In page items to submit select your items
Create a second true action after the first and select Refresh. Then select region as affected element and select your chart. Remember that the option 'Fire on initialization' must be set to NO
See Approach B, below, for the optimal solution.
Approach A
The simplest option (that is less professional) is to modify every text box/select list/etc of interest to submit the page when the value of the text box/select list/etc changes. As an example, for the select list, go to its settings->page action on selection and change the setting to submit page.
There are two main downsides to that approach:
Most of the page will refresh, which is jarring to your user, and
If you're using a plugin, or the type of item that you're using doesn't support that approach, then you're out of luck.
Approach B
A more complex solution that yields a more professional result follows. This solution involves dynamic actions, which I will probably not fully explain here. However, the information should be enough for the user to figure it out.
Let us suppose that you have two things: (1) a select list whose value is used as a parameter in a (2) chart's sql source statement.
To get the chart to update every time you make a new choice via the select list, you need to:
Create a dynamic action for the select list of interest. You do this by clicking on the select list, going to the dynamic action tab (the lightning bolt); right-click on the item; click select dynamic action; give it a name and set the event to change and make the selection type an item and set the item to the name of the select list you're watching.
Create a true action for that dynamic action that executes pl/sql code (you can do this by modifying the show action that was created by default in 1.). Set the pl/sql code to null;. Then under items to submit, specify the name of the select list of interest.
Create a second true action that refreshes the region that contains the chart.
You'll need to make sure that the sequence assigned to 2. is a smaller number than the sequence assigned to 3.. This should happen by default, but it's an area you can get tripped up.
Inapplicable Approach C
In Apex 5.something, they added a feature called Cascading List of Values. This feature allows you to specify that one item depends on another item for its values. For example, if you have a select list that allows the user to choose a department, and then you have a second select list that allows you to choose an employee from the chosen department (which presumably obtains its values from a query involving the value chosen in the first select list), you can tell APEX to refresh the second select list whenever you update the first.
You do this by editing the second select list. Under its settings goto list of values->cascading LOV parent item(s). Add the first select list as a "reverse" dependent (aka, "parent"). This will ensure that any time the first select list is updated, the second select list is also updated.
For better or for worse, charts do not have the cascading LOV parent item(s) setting. Thus, this solution does not apply to this question.

Cannot Hide Data Field in Visio Org Chart

I am creating an org chart from an excel spreadsheet. Each row has Employee Name and Job Title, but also Employee ID and Supervisor Employee ID (both number data types).
I am using the Organization Chart Wizard to automatically create an org chart as a starting point (its pretty big). In doing so, I use the two numeric fields in the "name" and "reports to" fields because we have employees with the same name. However, I do not want these numerical fields displayed in the org chart shapes. You can see in the second picture I cannot remove the three default fields from the chosen "Shape Data Fields."
Here's what the shapes look like, I want to remove the number field altogether. Regardless of the shape stencil I select, I get the same behavior.
If I try to delete the shape, I get the error "shape protection, container and/or layer properties prevent complete execution." Even when I go to Developer -> Protection -> Unlock, the issue persists. Thus, it must be an issue with the container or layer properties.
Lastly, this page has a "To Delete a data field" section at the bottom. I tried exactly this, and the fields were removed from the Define Shape Data box, but the shapes remained unchanged, still showing all fields:
https://support.office.com/en-us/article/Add-data-to-shapes-09272394-5243-4e1b-bcfa-425a8b4d1ce2?ui=en-US&rs=en-US&ad=US
Tweak the master you want to use by decorticating its structure.
In the drawing explorer check whether the shape (the master) is group or a single shape. Find out where the ID (the 3rd field) is used for display, adjust accordingly by correcting the shapesheet.
Sorry for such a generic explanation. If we could exchange files, I would have had a look at your master and could have corrected it.
HTH, Y.
I had the same issue, and eventually found that I could prevent the ID field (used in Name) from displaying, using Display Options - on the Org Chart tab, using the dialog box launcher button (bottom-right) in the Shapes section.
The ID field is shown as 'Name' under Block 2 - you can use the drop-down to set this to 'None' (so that it doesn't display at all), or pick one of the other fields that you chose to display in its place.

How can I create a new primary key in a FileMaker table and then modify an existing relationship to be based on the newly created key?

I have quite the request. A developer created our database that has multiple Layouts with a relationship tree that is very messy. Had another developer come in, take a look at it, he said that it would be too time consuming and painful to deconstruct our system, consider creating a script for now so that you can work around it until it can be fixed. Here's the dilemma: I've got information on one page that is supposed to reference information on a number of different pages utilizing tabs and portals. However, all the information is linked to a username. This username is not static/serialized or what have you. Therefore, if the issue is not caught right away a great deal of information can be linked to this person's 'page'. If the name is incorrect and someone tries to alter the username even slightly, it breaks that relationship and starts a new one. The information does not disappear, but it is basically sitting in limbo somewhere until you change the name back to the original. I've actually tried exporting the information, changing the information that doesn't match, i.e. changing a name from Jon.Smith to John.Smith, and then importing the information to a new 'page' for that person with unsuccessful results. Which brings me to my question, is a script going to be able to fix this problem? Likewise, are there any suggestions to how to create this script? I apologize, but I have very little experience with DataBase management at all, and am not sure why this project fell upon me. Any help would be GREATLY appreciated.
Well, as a general answer, just about anything that a user can do in FileMaker (and by user, I mean non-developer, so activities such as defining the database structure, writing scripts, etc., are excluded) can be scripted. So if you're able to "solve" the problem by resetting a field's value, for example, then, yes, a script can do that.
Regarding your specific trouble, a script probably doesn't need to export the records, but could reset the values for the field within FileMaker. This could be done either by looping through the records that need to be changed or by using the Replace Field Contents script step. So a script could do something like this:
Go to Layout[MyLayout] // Go to a layout that is attached to the table you need to search.
Perform Find[Restore] // Restore a find that will show the records you need to change.
Replace Field Contents[Table::Field; "New Value"]
Offering more advice than this would require actually seeing the database and understanding more about your specific needs.
wchsTech4, you are in luck because your problem is easy to fix. You don't even need a script.
BACK UP YOUR FILE(S) FIRST. Then:
1) Create two new fields:
id (person table)
Options for id: Auto-enter serial number
person_id (the table related to person)
2) Generate serial numbers for the new id field in the person table.
Navigate to the person layout.
'Records' > 'Show all records'
Click in the id field and select 'Records' > 'Replace field contents.'
Choose 'Replace with serial numbers' and accept the defaults. Be sure to check the box to update your next serial number.
3) Place the serial numbers you just generated in the related table.
Navigate to the related layout.
'Records' > 'Show all records'
Click in the person_id field and select 'Records' > 'Replace field contents.'
Choose 'Specify' next to 'Replace with calculated results.'
In the drop down on the top left, select the related person table.
Double click the id field (your calculation should be person::id, with person replaced with the name of your table).
Click 'OK' and then 'Replace.'
4) Change the relationship.
Select 'File' > 'Manage' > 'Database.'
Navigate to the relationship tab.
Change the relationship from being based on name to id.
5) Test everything. Should work.
There is a chance that your related records are being created in such a manner that you also need to modify a script, website, or something else not mentioned here to have your fix work going forward. That is important to investigate.