Table of Contents

Dynamic Attributes

Welcome to the Dynamic Attributes module! This powerful feature allows you to add calculated fields and custom attributes to any table in 3PL Dynamics without modifying the underlying database structure. Think of it as a flexible way to extend your data views with real-time calculations, custom formulas, and additional information that's specific to your business needs.

🎯 What Are Dynamic Attributes?

Dynamic Attributes are calculated fields that appear on your pages but don't permanently store data in the database. They calculate values on-demand using:

  • Existing field values from the same record
  • Data from related tables
  • Custom business logic through function sets
  • FlowField calculations with custom filters

Perfect for: KPIs, calculated totals, status indicators, formatted displays, and business-specific metrics that change based on current data.

✨ Key Benefits

🚀 No Database Changes Required

Add new calculated fields without touching your database structure or requiring technical development.

Real-Time Calculations

Values are calculated when you view the data, ensuring you always see the most current information.

🎨 Flexible Display Options

Control formatting, styling, and even conditional coloring based on calculated values.

📊 Performance Optimized

Built-in caching and performance monitoring help keep your calculations running smoothly.

🔧 Easy Configuration

Set up new dynamic attributes through user-friendly pages without coding knowledge.

🛠️ How It Works

1. Create a Dynamic Attribute

Define what you want to calculate and how it should be displayed.

2. Choose Your Data Source

  • Field-based: Pull values from existing fields in your table
  • Function-based: Use custom business logic through function sets
  • FlowField: Calculate aggregated values from related tables

3. Configure Display

Set up formatting, decimal places, styling, and where the attribute appears on your pages.

4. Apply to Layouts

Add your dynamic attributes to page layouts so users can see them in action.

📋 Supported Value Types

Type Description Example Use Cases
Text String values, codes, formatted text Status descriptions, formatted codes, concatenated values
Decimal Numeric values with decimal places Calculations, totals, percentages, ratios
Date Date values Calculated due dates, aging calculations
Time Time values Duration calculations, time stamps
DateTime Combined date and time Full timestamp calculations
Boolean True/false values Status flags, condition checks

🎨 Advanced Features

Categories & Organization

Group related dynamic attributes together using categories for better organization and easier management.

Performance Monitoring

Built-in performance tracking helps you identify slow calculations and optimize your attributes:

  • Track calculation count and duration
  • Set thresholds for slow calculation alerts
  • Monitor memory and database performance

Flexible Caching

Two levels of caching improve performance:

  • Buffer Cache: Per-user session memory cache
  • Entry Cache: Global database cache for shared calculations

Custom Styling

Make your data visually appealing with conditional formatting:

  • Apply different colors based on values
  • Use style function sets for complex styling logic
  • Highlight important information automatically

FlowField Integration

Leverage Business Central's powerful FlowField capabilities:

  • Calculate sums, counts, averages from related tables
  • Apply custom filters for specific calculations
  • Show the same FlowField multiple times with different filters

📚 Common Use Cases

Warehouse Management

  • Calculate available space percentages
  • Show aging days for inventory
  • Display pick efficiency metrics
  • Track location utilization rates

Transportation

  • Calculate route efficiency scores
  • Show delivery time estimates
  • Display load utilization percentages
  • Track driver performance metrics

Financial

  • Calculate payment terms remaining
  • Show aging categories for invoices
  • Display profit margins
  • Track collection effectiveness

Customer Service

  • Calculate response time metrics
  • Show customer satisfaction scores
  • Display case resolution rates
  • Track SLA compliance

🚦 Getting Started

Step 1: Access Dynamic Attributes

Navigate to the Dynamic Attributes page through the Search function (Alt+Q) and search for "Dynamic Attributes".

Step 2: Create Your First Attribute

  1. Click New to create a new dynamic attribute
  2. Select the Table you want to extend
  3. Enter a unique Code and Description
  4. Choose the Value Type (Text, Decimal, Date, etc.)

Step 3: Configure Calculation

Choose how your attribute gets its value:

  • Field No.: Select an existing field to display
  • Function Set: Use custom business logic
  • FlowField: Calculate from related data

Step 4: Set Up Display

Configure how your attribute appears:

  • Set decimal places for numeric values
  • Choose formatting options
  • Configure styling rules

Step 5: Add to Layouts

Use the Dynamic Attribute Layouts to control where your attributes appear on pages.

🔧 Configuration Options

Basic Settings

  • Code: Unique identifier for your attribute
  • Description: User-friendly name shown in the interface
  • Value Type: Data type of the calculated value
  • Category: Optional grouping for organization

Calculation Settings

  • Field No.: Link to an existing field in the table
  • Function Set IDs: Custom calculation logic
  • FlowFilter Values: Filters for FlowField calculations
  • Calculate Field: Automatic FlowField calculation toggle

Performance Settings

  • Buffer Recalculation Interval: How often to refresh session cache
  • Entry Recalculation Interval: How often to refresh database cache
  • Track Performance Statistics: Monitor calculation performance
  • Slow Calculation Threshold: Define what constitutes a slow calculation

Display Settings

  • Decimals: Number format for decimal values
  • Standard Format: Predefined formatting options
  • Blocked: Hide the attribute from users
  • Translation Set: Multi-language support

💡 Best Practices

Performance Tips

  1. Use Caching Wisely: Set appropriate recalculation intervals for your business needs
  2. Monitor Performance: Enable performance tracking for complex calculations
  3. Optimize Function Sets: Keep custom logic as efficient as possible
  4. Test with Real Data: Validate performance with realistic data volumes

Design Guidelines

  1. Clear Naming: Use descriptive codes and names for easy identification
  2. Logical Grouping: Use categories to organize related attributes
  3. Consistent Formatting: Apply similar formatting rules across related attributes
  4. User-Friendly Displays: Consider how end users will interpret the calculated values

Maintenance Tips

  1. Regular Reviews: Periodically review and clean up unused attributes
  2. Performance Monitoring: Keep an eye on slow calculations and optimize as needed
  3. Documentation: Maintain clear descriptions of what each attribute calculates
  4. Testing: Validate calculations after system updates or changes

Getting Started