Trigger Settings

Triggers Custom Setting

The Triggers custom setting contains several fields that control whether specific triggers are enabled for execution, in conjunction with configuration options in the ASM TriggersClosed Automated Services Manager Triggers. ASM triggers execute certain behavior in PSA. ASM triggers are controlled by the fields in the Triggers custom setting and the configuration options in the ASM configuration group.configuration groupClosed A collection of configuration options contained in the configuration groups tab that defines behavior of a PSA object or feature..

Key: O = Obsolete.

Custom Trigger Settings
Field   Description Default
Handle Assignment Project Methodology Change Disabled   When set to true, the Handle Assignment Project Methodology Change trigger is disabled. The default value is false where the trigger is enabled. False
Handle Assign Project Phase Changes Disabled   When set to true, the Handle Assign Project Phase Changes trigger is disabled. The default value is false (the trigger is enabled). False
RecalculateEstVsActuals Disabled   When set to true, the RecalculateEstVsActuals trigger is disabled. This means the EVA calculation will not be performed for any existing EVAs and new EVAs will not be created for any resource requests or assignments. False
DEPRECATED: RecalculateEstVsActuals Enabled O This setting is deprecated and no longer used.  
Res Request Geolocation Trigger Disabled   When set to true, the trigger that calculates the geographic location of the Work Address on the resource request is disabled. The default value is false. False
Resource Geolocation Trigger Disabled   When set to true, the trigger that calculates the Resource's geographic location from the Mailing Address field on their contact record is disabled. The default value is false. False
Skill Unique Name Trigger Disabled   When set to true, disables the trigger that maintains unique skill names. When false, you can select the UniqueNameAdditionalFields field in the Skills configuration group to configure uniqueness constraints. False
Skill Unique Name Under Parent Enabled   When set to true, skills must have unique names under the same direct parent category in a skills hierarchy. However, skills with identical names are permitted under another parent category in a different part of a skills hierarchy. Name uniqueness is case insensitive and this also applies to root level skills. When false, unique skill name validation does not trigger. False
Task Assignment-Delete Disabled   When set to true, the before delete trigger on task assignment is disabled. False
Task Assignment-Insert Disabled   When set to true, the before insert trigger on task assignment is disabled. False
Task Assignment-Update Disabled   When set to true, the before update trigger on task assignment is disabled. False
Task-Delete Disabled   When set to true, the before delete trigger on task is disabled. False
Task-Insert Disabled   When set to true, the before insert trigger on task is disabled. False
DEPRECATED: Task-Set Task Chain Disabled O This setting is deprecated and no longer used.  
Task Validation Trigger Disabled   When true, disables the trigger that validates task dates against being out-of-range with project, milestone and related assignments and task hours against being out-of-range with related assignments. False
Task-Update Disabled   When set to true, the before update trigger on task is disabled. False
DEPRECATED: TrackResourceChanges Enabled O This setting is deprecated and no longer used.  
TrackResourceChanges_Disabled   When set to true, the TrackResourceChanges trigger is disabled. False

ASM Triggers

Here is a description of the options in the ASM Triggers configuration groupClosed A collection of configuration options contained in the configuration groups tab that defines behavior of a PSA object or feature.. Triggers can be bypassed using the configuration settings in this group:

ASM Trigger Settings
Option   Description
AllBillingTriggers   Indicates whether trigger code that handles the PSA Billing Queue fires.
afterExpenseReportChange   Indicates whether trigger code that handles expense report updates fires. This allows you to automatically submit expense reports for approval when there is an approval process on your system. See Setting up Workflow and Approval Processes
AssignProjectManager
ToBudgetApprover
  Indicates whether the approver in a budgetClosed An amount used to manage expenditure on customer purchase orders, internal budgets, outbound vendor purchase orders and work orders. A budget must be associated with a project. is to be updated with the project manager of the project.
AssignProjectManagerTo
ExpenseReportApprover
  Indicates whether the approver in an expense reportClosed A mechanism for charging expenses incurred to a project or an assignment. is to be updated with the project manager of the projectClosed A collection of activities and related items to be managed over a defined time range, such as timecards, expenses, milestones and budgets..
AssignProjectManagerToMilestoneApprover   Indicates whether the approver in a milestoneClosed A fixed target, which when achieved, can be billed to the customer for a fixed fee or by logging time against it. is to be updated with the project manager of the project.
AssignProjectManagerTo
MiscellaneousAdjustmentApprover
  Indicates whether the approver in a miscellaneous adjustmentClosed A catch-all business record that allows you to correct data entry errors or adjust transactions. is to be updated with the project manager of the project.
AssignProjectManagerTo
TimecardApprover
  Indicates whether the approver in a timecardClosed A mechanism for logging time against a project or an assignment. is to be updated with the project manager of the project.
beforeBudgetChange   Indicates whether the before change trigger code on a budget is executed. This validates the Budget Currency and Project Active flag, and handles Budget header creation.
beforeExpenseLineChange   Indicates whether the before Expense trigger code executes. This handles permission controlClosed Determines whether a single user has permission to carry out specific tasks in PSA. checks, currency/rate calculations, and validations for active/closed projects/assignments/milestones/methodologies/phases.
beforeGroupPlanChange   Indicates whether the group plan trigger that handles unique name checking and setting executes.
beforeMilestoneChange   Indicates whether the before change trigger code on milestones executes. This validates the Milestone Currency and Project Active fields.
beforeMiscellaneousAdjustmentChange   Indicates whether the before change trigger code on miscellaneous adjustments executes. This validates miscellaneous adjustment Currency and Project Active fields.
beforePracticePlanChange   Indicates whether the practice plan trigger that handles unique name checking and setting executes.
beforeRegionPlanChange   Indicates whether the region plan trigger that handles unique name checking and setting executes.
beforeTimecardHeaderChange   Indicates whether the before Timecard Header trigger code executes. This handles currency/rate calculations, inheritance of settings and rates from Assignment/Project, and validations for active/closed projects/assignments/milestones.
CheckForMultipleSalesforce
UsersOnResource
  Indicates whether the trigger that enforces no more than one resource (contact) associated with a given Salesforce user executes.
CheckForMultipleSameDayExceptions   Indicates whether multiple schedule exceptions are prevented from being saved on the same day for a single schedule
CheckSharedSchedules   Indicates whether users are prevented from setting schedules on more than one assignment.
ClearConfigCache   Indicates whether the cache is cleared when a configuration setting is modified.
DeleteAssignments   Indicates whether assignments are deleted when a projectClosed A collection of activities and related items to be managed over a defined time range, such as timecards, expenses, milestones and budgets. is deleted.
DeleteAssignmentSchedule   Indicates whether schedules are deleted when the associated assignmentClosed Connection between a resource and a project. is deleted.
DeleteProjectLocations   Indicates whether child project locations are deleted when the parent project is deleted.
DeleteProjectMethodologies   Indicates whether child project methodologies are deleted when the parent project is deleted.
DeleteProjectPhases   Indicates whether child project phases are deleted when the parent project is deleted.
DeleteProjectTasksWithProject   Indicates whether all project tasks in the project task hierarchy are deleted upon deletion of the parent project.
EnforceExpenseLimits   Indicates whether expense limits are enforced when expenses are updated.
ExpenseTrigger   Indicates whether the Expense trigger code executes.
handleAccountChange   Indicates whether trigger code that processes changes to person accounts executes.
handleActualsForTransaction   Indicates whether the trigger that creates and updates actuals roll-up records executes.
handleAssignmentAfterInsert.
PermissionControlCheck
  Indicates whether trigger code that implements staffing permission controls for assignment creation executes.
handleAssignmentDailyNoteChange   Indicates whether the handleAssignmentDailyNoteChange trigger executes. This enforces one note per assignment per day and updates the aggregated Assignment Daily Notes field on parent assignments.
handleAssignmentRateCardChange   Indicates whether trigger code that implements matching of assignments to rate cards executes.
handleAssignmentTrigger.
RestrictAssignmentDeletion
  Indicates whether trigger code that restricts assignment deletion based on the existence of child timecards/expenses executes.
handleAttachmentDelete   If the value of minimum-expense-amount-limit-for-attachment is greater than 0 and this trigger is set to true, users will not be able delete attachments from expense reports that have been submitted.
handleBillingEventBatchDelete   Indicates whether the trigger that handles billing event batchClosed A group of billing events deletion executes. This checks for released/invoiced child billing events, and whether child billing events are to be deleted in the proper context.
handleBillingEventChange   Indicates whether the trigger that maintains Billing_Event_Batch__c.Summary_Amount__c field from billing event records executes, as well enforcing rules on Released/Billed/Invoiced checkboxes.
handleBillingEventItemChange   Indicates whether the trigger that maintains Billing_Event__c.Summary_Amount__c field on billing event items executes.
handleExpenseLineChange   Indicates whether the expense insert/update/delete/undelete trigger code executes. This handles the creation and update of transactions, as well as updates to assignment and milestone roll-upClosed Term used to describe how a lower level figure or transaction is included in a higher level transaction or calculation.s.
handleExpenseReportDelete   Indicates whether the trigger code that handles expense reportClosed A mechanism for charging expenses incurred to a project or an assignment. deletion/validation executes.
handleExpenseReportUpdate   Indicates whether the trigger code that handles expense report updates executes. This code validates and cascades updates to expenses.
handleGroupPlanChange   Indicates whether the group plan trigger that handles updates to the parent group when a group plan is changed executes.
handleGroupTrigger.GroupActualsChange   Indicates whether code to update group fields containing actualsClosed Totals for a given time period. based on changes to child group actuals records executes.
handleGroupTrigger.SetGroupChain   Indicates whether trigger code that maintains group hierarchies should execute on changes to a Group.
handleGroupTrigger.
SetGroupCurrentActuals
  Indicates whether the trigger code that handles changes to the current time periodClosed A period of time with a start date and an end date to which forecasts, actuals calculations, billing event batches, utilization calculations and region plans belong. for the Group executes.
handleGroupTrigger.
UpdateGroupCurrentTimePeriod
  Indicates whether the trigger code executes that copies the 'current period' group actuals up to fields on the Group object in response to selecting the Action Update Current Time Period checkbox.
handleMilestoneChange.
RestrictMilestoneDeletion
  Indicates whether trigger code that restricts milestone deletion based on the existence of child timecards/expenses executes.
handlePracticePlanChange   Indicates whether the Practice Plan trigger that handles updating a parent practice when the child changes executes.
handlePracticeTrigger.
PracticeActualsChange
  Indicates whether code to update practice fields containing actuals based on changes to child practice actuals records executes.
handlePracticeTrigger.SetPracticeChain   Indicates whether trigger code that maintains practice hierarchies executes when changes are made to a practice.
handleGroupTrigger.SetGroupChainAsync   Controls whether Group Hierarchies are updated asynchronously.
handlePracticeTrigger.SetPracticeChainAsync   Controls whether trigger code maintains Practice Hierarchies to run asynchronously.
handleRegionTrigger.SetRegionChainAsync   Controls whether Region Hierarchies are updated asynchronously.
handlePracticeTrigger.
SetPracticeCurrentActuals
  Indicates whether the trigger code that handles changes to the current time period for the practice executes.
handlePracticeTrigger.
UpdatePracticeCurrentTimePeriod
  Indicates whether the trigger code executes which copies the 'current period' Practice Actuals up to fields on the Practice object in response to selecting the Action Update Current Time Period checkbox.
handleProjectTrigger.
ForceProjectWithBillableAssignments
ToRemainBillable
  Indicates whether code to prevent billable projects from being marked non-billable when they have billable assignments executes.
handleProjectTrigger.
ProjectActualsChange
  Indicates whether code to update project fields containing actuals based on changes to child project actuals records executes.
handleProjectTrigger.
RestrictProjectDeletion
  Indicates whether trigger code that restricts project deletion based on the existence of a business recordClosed Timecard Split, Expense, Milestone, Miscellaneous Adjustment or Budget executes.

handleProjectTrigger.

RestrictProjectDeletionBasedOnResourceRequest

 

Indicates whether trigger code that restricts project deletion based on the existence of child resource requests executes. Config option value for handleProjectTrigger.RestrictProjectDeletion must be set to "true" to use config option handleProjectTrigger. RestrictProjectDeletionBasedOnResourceRequest.

Warning:

We recommend that you contact Certinia Customer Support if you want to use this configuration option.

To set up this configuration option, take the following action:

  1. Create a configuration option with the following attributes:

    1. Name: handleProjectTrigger.RestrictProjectDeletionBasedOnResourceRequest
    2. Type: Boolean
    3. Configuration Group: ASM Triggers
    4. Version: 1
    5. Description: It allows you to restrict the deletion of a project with child resource requests present.
  2. Create a configuration value with the following attributes:

    1. Configuration Option: handleProjectTrigger.RestrictProjectDeletionBasedOnResourceRequest
    2. Value: true or false
handleProjectTrigger.SetActualsNeedRecalc   Indicates whether the Actuals: Need Recalc checkbox is automatically selected on the original master/parent project and the new master/parent project when the hierarchy of a project is changed.
handleProjectTrigger.SetProjectChain   Indicates whether trigger code that maintains project hierarchies executes when changes are made to a project.
handleProjectTrigger.
SetProjectCurrentActuals
  Indicates whether the trigger code that handles changes to the current time period for the project executes.
handleProjectTrigger.
updateBillingEligibleBusinessRecordCounts
  Indicates whether code to track the number of billing eligible business records on the Project executes.
handleProjectTrigger.
UpdateEVAFromProject
  Indicates whether code executes which updates child estimates versus actuals records when a the project manager of a project is changed.
handleProjectTrigger.
UpdateProjectCurrentTimePeriod
  Indicates whether the trigger code executes which copies the 'current period' project actuals up to fields on the Project object in response to selecting Action Update Current Time Period checkbox.
handleRegionPlanChange   Indicates whether the Region Plan trigger that handles updating a parent region when the child changes executes.
handleRegionTrigger.
RegionalActualsChange
  Indicates whether code to update region fields containing actuals based on changes to child region actuals records executes.
handleRegionTrigger.SetRegionChain   Indicates whether trigger code that maintains region hierarchies executes when changes are made to a region.
handleRegionTrigger.SetRegionCurrentActuals   Indicates whether the trigger code that handles changes to the current time period for the region executes.
handleRegionTrigger.
UpdateRegionCurrentTimePeriod
  Indicates whether the trigger code executes which copies the 'current period' region actuals up to fields on the region object in response to selecting Action Update Current Time Period checkbox.
HandleResourceDelete   Indicates whether the contact delete trigger code executes or not.
handleResourceTrigger.
ResourceActualsChange
  Indicates whether code to update resource fields containing actuals based on changes to child resource actuals records executes.
handleResourceTrigger.
SetResourceCurrentActuals
  Indicates whether the trigger code that handles changes to the current time period for the resource executes.
handleResourceTrigger.
SetResourceWorkCalendar
  Indicates whether the trigger code fires which sets a new resource's work calendar based on the value of the Default Work Calendar Hierarchy configuration option in the Resources configuration groupClosed A collection of configuration options contained in the configuration groups tab that defines behavior of a PSA object or feature..
handleResourceTrigger.
UpdateResourceCurrentTimePeriod
  Indicates whether the trigger code executes which copies the 'current period' resource actuals up to fields on the Resource object in response to selecting Action Update Current Time Period checkbox.
handleTimecardHeaderChange   Indicates whether trigger code for Timecard Header insertion and update executes. This handles validation, permission control, currency conversions for cost rate and splitting timecard header information into timecard splits based on dates and time periods.
handleTimecardHeaderTaskTimeChange   Indicates whether the trigger code that rolls ups project task time to milestones and assignments executes.
DEPRECATED: handleTransactionForBudget O

This setting is removed and no longer used. It has now been replaced with BudgetManager, FIN_BudgetTrigger, and BILL_BudgetTrigger.

Note: If you are an existing user and using this configuration option, we recommend that you contact the Certinia Customer Support team. Alternatively, your administrator can create the newly added configuration options in the ASM Triggers configuration group.
handleTransactionForMilestone   Indicates whether milestone insert/update/delete/undelete trigger code executes. This handles the creation and update of milestone transactions.
DEPRECATED: handleTransactionForMiscellaneousAdjustment O

This setting is removed and no longer used. It has now been replaced with MiscellaneousAdjustmentManager, FIN_MiscellaneousAdjustmentTrigger, and BILL_MiscAdjustmentTrigger.

Note: If you are an existing user and using this configuration option, we recommend that you contact the Certinia Customer Support team. Alternatively, your administrator can create the newly added configuration options in the ASM Triggers configuration group.
DEPRECATED: handleTransactionForTimecard O

This setting is removed and no longer used. It has now been replaced with Timecards, FIN_TimecardTrigger, BILL_TimecardTrigger, and Transaction_TimecardTrigger.

Note: If you are an existing user and using this configuration option, we recommend that you contact the Certinia Customer Support team. Alternatively, your administrator can create the newly added configuration options in the ASM Triggers configuration group.
handleVendorInvoiceChange   Indicates whether the trigger code that maintains fields on a vendor invoice executes.
handleVendorInvoiceItemChange   Indicates whether the trigger code that maintains fields on a vendor invoice item executes.
onTimecardHeaderDelete   Indicates whether the trigger code that handles deletion of timecards executes. This validates whether the timecardClosed A mechanism for logging time against a project or an assignment. is to be locked and cleans up related timecard splits and transactions.
onTimecardHeaderUndelete   Indicates whether the trigger code that handles undeletion of timecards executes. This validates whether a restored timecard is to be locked and restores timecard splits and transactions.
RateCardValidator   Indicates whether rate cards are validated for uniqueness.
ScheduleModificationTrigger   Indicates whether a trigger executes to carry out updates to related data when the start or end date on a schedule is changed
ServicesCreditsAllocationTrigger   Indicates whether the Services Credits Allocation Trigger runs and validates the integrity of the services credits allocation record. This also ensures that when the number of allocated services credits updates, the amount on the milestone also updates and the internal value of the services credits on the allocation is set as the milestone amount on the milestone.
ServicesCreditsAllocationTrigger.restrictManualCreationOfAllocations   Indicates whether the trigger restricts the manual creation of services credits allocation records.
ServicesCreditsConsumptionTrigger   Indicates whether the trigger runs and validates the integrity of the services credits consumption records. This also populates the system fields for the amount paid per credit and the internal value per credit.
ServicesCreditsConsumptionTrigger.restrictManualCreationOfConsumptions   Indicates whether the trigger restricts the manual creation of services credits consumption records.
ServicesCreditsMilestoneTrigger   Indicates whether the trigger is enabled for milestones and they are eligible for services credits. This also ensures that when services credits are allocated, the milestone is excluded from billing.
ServicesCreditsPurchaseTrigger   Indicates whether the trigger runs and validates the integrity of the services credits customer purchase records. This also populates the system fields for the internal value per credit and amount paid per credit held as a number.
setHierarchiesForTransaction   Indicates whether the trigger code that sets the Region/Practice/Group to which the actuals numbers for a transaction roll up to.
ShareBudgetWithApprover   Indicates whether budgetClosed An amount used to manage expenditure on customer purchase orders, internal budgets, outbound vendor purchase orders and work orders. A budget must be associated with a project.s are shared with the approver when they are privately shared.
ShareExpenseReportWithApprover   Indicates whether expense reportClosed A mechanism for charging expenses incurred to a project or an assignment.s and expenses are shared with the approver when the expense report is privately shared.
ShareMilestoneWithApprover   Indicates whether milestones are shared with the approver when they are privately shared.
ShareMiscellaneousAdjustment
WithApprover
  Indicates whether miscellaneous adjustments are shared with the approver when they are privately shared.
ShareTimecardWithApprover   Indicates whether timecards are shared with the approver when they are privately shared.
updateAssignmentForExpense   Indicates whether the roll-ups on a parent assignment are updated when expenses are created, modified or deleted.
updateAssignmentForTimecard   Indicates whether the roll-ups on a parent assignment are updated when timecards are created, modified or deleted.
updateExpenseReportForExpense   Indicates whether billable, non-billable and reimbursable totals and Billed / Invoiced checkboxes are updated when expenses are created, modified or deleted.
updateMilestoneForExpense   Indicates whether the roll-ups on a parent milestone are updated when expenses are created, modified or deleted.
updateMilestoneForTimecard   Indicates whether the roll-ups on a parent milestone are updated when timecards are created, modified or deleted.
UpdatePrimarySkill   Indicates whether the Primary Skill checkbox on related skills is updated when a user updates the Primary checkbox.
UpdateProjectMonitorFieldsFromAssignment   Determines how project monitor fields roll-up on projects in response to changes to assignments, schedules, or schedule exceptions. Valid values are:
Yes - always update project monitor fields.
No - never update project monitor fields.
UpdateScheduledHours   Indicates whether the trigger that updates the scheduled hours on the parent schedule when a user modifies a Schedule Exception runs.
updateTimecardHeaderForTimecard   Indicates whether the Billed and Invoiced checkboxes on the parent timecard header are updated when the Billed or Invoiced status on timecard splits is changed.
UseDeltaRollupForTimecard  

When true, timecard rollup on the assignment or milestone is performed based on timecards that have been added, updated, deleted, or undeleted rather than all the timecards associated with the assignment or milestone.

The default value of this configuration option is true.

UseDeltaRollupForExpense  

When true, expense rollup on the assignment or milestone is performed based on expenses that have been added, updated, deleted, or undeleted rather than all the expenses associated with the assignment or milestone.

The default value of this configuration option is true.

TransactionDeltaTrigger   Handles start of the continuous Transaction Delta job for Actuals calculation.