Table Logic Map — Project (contoso_project)

Environment: Contoso DEV (https://contoso-dev.crm.dynamics.com) · Generated: 2026-03-01T10:00:00.000Z

Custom · User-owned · Audit on · Duplicate detection off · Change tracking on · Activities on · Notes on

3 plugin steps · 2 workflows (1 real-time / 1 background) · 2 flows · 1 business rule · 2 forms (2 handlers, 1 PCF, 1 component) · 1 key · 1 duplicate rule · 2 cascades · 1 field security profile · 1 autonumber column · 1 computed column · 2 external touchers · 2 apps · 6 views (1 quick find)

Legend

Smells (3)

Pipeline (8)

Create

Execution pipeline for Create on Project (contoso_project)6 items in 3 stages, in execution order: Pre-operation 3, After commit (async) 2, Always (data rule) 1. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Pre-operation (3)Contoso.Plugins.ProjectNumbering: Create of contoso_project — plugin · rank 1 · sync#1sync · pluginContoso.Plugins.ProjectNumbering: Create of contoso_projectProject code — autonumber · rulerule · autonumberProject codeProjects with the same name — duplicate rule · syncsync · duplicate ruleProjects with the same nameAfter commit (async) (2)Create kickoff tasks — workflow · background · inferredbackground · workflow≈ Create kickoff tasksNotify PM "on create" [v2] — flow · asyncasync · flowNotify PM "on create" [v2]Always (data rule) (1)Project code — key · rulerule · keyProject coderulesyncasyncbackground≈ inferred
Execution order for Create

Pre-operation

After commit (async) (After commit — order not guaranteed)

Always (data rule)

Update

Execution pipeline for Update on Project (contoso_project)6 items in 4 stages, in execution order: Pre-operation 1, Post-operation (sync) 2, After commit (async) 2, Always (data rule) 1. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Pre-operation (1)Projects with the same name — duplicate rule · syncsync · duplicate ruleProjects with the same namePost-operation (sync) (2)Contoso.Plugins.ProjectRollup: Update of contoso_project — plugin · rank 1 · sync#1sync · pluginContoso.Plugins.ProjectRollup: Update of contoso_projectValidate budget — workflow · real-time · inferredreal-time · workflow≈ Validate budgetAfter commit (async) (2)Contoso.Plugins.ProjectAuditTrail: Update of contoso_project — plugin · rank 2 · async · disabled#2off · async · pluginContoso.Plugins.ProjectAuditTrail: Update of contoso_projectSync budget to finance — flow · asyncasync · flowSync budget to financeAlways (data rule) (1)Project code — key · rulerule · keyProject coderulesyncasyncreal-timeoff = disabled≈ inferred
Execution order for Update

Pre-operation

Post-operation (sync) (Same rank — order between plugins and real-time workflows is not guaranteed)

After commit (async) (After commit — order not guaranteed)

Always (data rule)

Delete

Execution pipeline for Delete on Project (contoso_project)1 items in 1 stages, in execution order: Always (data rule) 1. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Always (data rule) (1)Delete → Cascade to contoso_task — cascade · rulerule · cascadeDelete → Cascade to contoso_taskrule
Execution order for Delete

Always (data rule)

Assign

Execution pipeline for Assign on Project (contoso_project)1 items in 1 stages, in execution order: Always (data rule) 1. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Always (data rule) (1)Assign → Cascade to contoso_task — cascade · rulerule · cascadeAssign → Cascade to contoso_taskrule
Execution order for Assign

Always (data rule)

FormLoad

Execution pipeline for FormLoad on Project (contoso_project)4 items in 1 stages, in execution order: Client (form) 4. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Client (form) (4)Contoso.Controls.BudgetGauge — PCF · clientclient · PCFContoso.Controls.BudgetGaugeContoso.Project.onLoad — script · clientclient · scriptContoso.Project.onLoadDefault region — business rule · rule · inferredrule · business rule≈ Default regionIFrame: IFRAME_Portal — component · clientclient · componentIFrame: IFRAME_Portalclientrule≈ inferred
Execution order for FormLoad

Client (form)

FormSave

Execution pipeline for FormSave on Project (contoso_project)1 items in 1 stages, in execution order: Client (form) 1. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Client (form) (1)Name — required · clientclient · requiredNameclient
Execution order for FormSave

Client (form)

FieldChange

Execution pipeline for FieldChange on Project (contoso_project)2 items in 1 stages, in execution order: Client (form) 2. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Client (form) (2)Contoso.Project.onRegionChange — script · clientclient · scriptContoso.Project.onRegionChangeDefault region — business rule · rule · inferredrule · business rule≈ Default regionclientrule≈ inferred
Execution order for FieldChange

Client (form)

Any

Execution pipeline for Any on Project (contoso_project)3 items in 1 stages, in execution order: Always (data rule) 3. Alternate keys, cascades and computed columns are grouped under the "Always" stage and are not part of the ordered chain.Always (data rule) (3)Auditing — audit · rulerule · auditAuditingFinance managers — field security · rulerule · field securityFinance managersMargin — formula · rule · inferredrule · formula≈ Marginrule≈ inferred
Execution order for Any

Always (data rule)

Forms (2)

Project (Main · Active · default)

Libraries: contoso_/scripts/project.js

Handlers

EventColumn / controlFunctionLibraryEnabledPass contextParameters
onload—Contoso.Project.onLoadcontoso_/scripts/project.jsyesyes—
onchangecontoso_regionContoso.Project.onRegionChangecontoso_/scripts/project.jsyesyes"EMEA|APAC"

PCF and components

TypeNameColumnLocationDetails
PCFContoso.Controls.BudgetGaugecontoso_budgetGeneral › Financialsregion body
IFrameIFrame: IFRAME_Portal—Portal › Portalurl https://portal.contoso.com/projects?…, region body

Business rules: Default region (form)

Project quick create (Quick Create · Active)

Libraries: none

Handlers

None

PCF and components

None

Business rules: none

Columns (10)

10 of 14 columns with logic (triggers, touched by, required, secured, audited or computed).

ColumnDisplay nameTypeFlagsSourceTriggersTouched by
contoso_accountidCustomerLookup—simpleDefault regionCreate kickoff tasks
contoso_budgetBudgetMoneyauditedsimpleContoso.Plugins.ProjectRollup: Update of contoso_project, Sync budget to finance, Validate budgetContoso.Controls.BudgetGauge, Margin, Validate budget
contoso_codeProject codeString—autonumber PRJ-{SEQNUM:5}—Contoso.Plugins.ProjectNumbering: Create of contoso_project, Project code
contoso_confidentialnotesConfidential notesMemosecuredsimple—Finance managers
contoso_marginMarginDecimal—formulaSync budget to financeContoso.Plugins.ProjectRollup: Update of contoso_project, Validate budget
contoso_nameNameStringrequired, auditedsimple—Create kickoff tasks, Name, Projects with the same name
contoso_projectidProjectUniqueidentifierrequiredsimple——
contoso_regionRegionPicklist—simpleContoso.Project.onRegionChangeDefault region
contoso_statusProject statusPicklist—simpleContoso.Plugins.ProjectRollup: Update of contoso_project—
owneridOwnerOwnerrequired, systemsimple——

Data rules

Keys

Duplicate rules

Cascades

Field security profiles

Audit

Required columns

contoso_name (Name), contoso_projectid (Project), ownerid (Owner)

Touched by (2)

Flows and actions that read or write contoso_project without being triggered by it.

Write

Read

Apps (2)

AppUnique nameStateManaged
Contoso Field Servicecontoso_FieldServiceActiveyes
Project Hubcontoso_ProjectHubActiveno

Other dependencies (1)

Components that depend on the table and are not represented above (views, charts, dashboards, ...).

Component typeNameObject id
Saved Query (26)Active Projectse1f2a3b4-00a1-4000-8000-0000000000a1

Source errors (1)