Extending Microsoft Dynamics 365 Finance and Supply Chain Management Cookbook, 2nd Edition PDF by Simon Buxton

By

Extending Microsoft Dynamics 365 Finance and Supply Chain Management Cookbook, Second Edition

By Simon Buxton
Extending Microsoft Dynamics 365 Finance and Supply Chain Management

Table of Contents:

Preface 1
Chapter 1: Starting a New Project 9
Technical requirements 11
Creating the Azure DevOps project 12
Getting ready 12
How to do it… 13
How it works… 15
See also 16
Connecting Visual Studio to Azure DevOps 17
Getting ready 17
How to do it… 18
How it works… 21
See also 21
Creating a new package and model 21
Getting ready 22
How to do it… 22
How it works… 24
There’s more… 25
Prefixes and naming conventions 26
Configuring project and build options 27
Getting ready 27
How to do it… 28
Dynamics 365 for Finance and Supply Chain Management’ options 28
The project-specific parameters 29
Creating a Label file 29
Getting ready 30
How to do it… 30
How it works… 31
There’s more… 31
Chapter 2: Data Structures 33
Technical requirements 35
Creating enumerated types 35
Getting ready 35
How to do it… 36
How it works… 38
There’s more… 39
Using enums for comparison and status 39
Extensibility in base enums 40
Creating extended data types 42
Getting ready 43
How to do it… 43
How it works… 44
There’s more… 45
Creating setup tables 46
Getting ready 46
How to do it… 46
How it works… 52
There’s more… 53
A note on best practices 54
Creating a parameter table 55
How to do it… 56
There’s more… 59
Capitalization of method names 60
Copying and pasting methods to save time 60
Optimistic concurrency and selectForUpdate 61
See also 61
Creating main data tables 62
Getting ready 62
How to do it… 62
How it works… 68
There’s more… 68
Using the defaultField and initValue methods for setting field defaults 69
More on indexes 70
See also 71
Creating order header tables 71
Getting ready 71
How to do it… 71
How it works… 75
There’s more… 76
Creating order line tables 77
How to do it… 77
How it works… 80
There’s more… 80
See also 81
Chapter 3: Creating the User Interface 82
Technical requirements 83
Creating the menu structure 83
Getting ready 86
How to do it… 86
How it works… 88
Creating a parameter form 88
How to do it… 88
How it works… 92
There’s more… 92
See also 95
Creating menu items 95
Getting ready 95
How to do it… 96
How it works… 96
Creating setup forms 97
How to do it… 97
How it works… 99
There’s more… 99
Creating details master (main table) forms 100
How to do it… 100
How it works… 103
There’s more… 104
Creating a details transaction (order entry) form 104
How to do it… 105
How it works… 110
See also 110
Creating form parts 111
Getting ready 111
How to do it… 111
How it works… 113
Creating tiles with counters for the workspace 114
Getting ready 115
How to do it… 115
How it works… 117
There’s more… 117
Creating a workspace 118
How to do it… 118
How it works… 120
Adding a filter to a workspace 120
How to do it… 120
How it works… 122
There’s more… 123
Chapter 4: Working with Form Logic and Frameworks 125
Technical requirement 126
Creating a table handler class 126
How to do it… 126
How it works… 131
Creating a form handler class 132
Getting ready 133
How to do it… 133
How it works… 137
Hooking up a number sequence 138
Getting ready 138
How to do it… 138
How it works… 148
Number sequence setup 148
Hooking up the number sequence 149
There’s more… 150
Creating a create dialog for details transaction forms 152
Getting ready 152
How to do it… 153
How it works… 157
Updating form controls at runtime 158
Getting ready 158
How to do it… 158
How it works… 160
Chapter 5: Application Extensibility 162
Technical requirement 163
Adding fields to a standard table 163
Getting ready 164
How to do it… 164
How it works… 165
There’s more… 166
More on structuring packages and projects 166
Writing data-event handlers 167
How to do it… 167
How it works… 171
There’s more… 171
Deciding between data-events or Chain of Command 172
Pre- and post-event Handlers 172
Using a Chain of Command to initialize data 173
Getting ready 173
How to do it… 173
How this works… 174
How to customize a document layout without an over-layer 177
How to do it… 177
How it works… 179
There’s more… 179
More on report formats and print management 181
Modifying a standard form 181
Getting ready 182
How to do it… 182
How it works… 183
There’s more… 183
Using Chain of Command with a form 184
How to do it… 184
How it works… 187
Replacing a standard lookup with our own 190
How to do it… 190
How it works… 194
Adding a form display method to a standard form 195
How to do it… 195
How it works… 196
There’s more… 196
Chapter 6: Writing for Extensibility 198
Technical requirements 199
Writing and using delegates 199
How to do it… 199
How it works… 202
There’s more… 203
Using the attribute framework to construct classes 205
How to do it… 206
How it works… 211
Creating a purchase order programmatically 213
Getting ready 214
How to do it… 215
How it works… 221
Creating a facade 223
How to do it… 223
How it works… 224
Defining business actions in data 224
How to do it… 225
How it works… 230
There’s more… 231
Creating a SysOperation process 232
How to do it… 233
How it works… 236
There’s more… 237
Calling the process from a form 237
Using the data contract to make changes to the dialog 239
Adding an interface to the SysOperation framework 240
Getting ready 240
How to do it… 241
How it works… 244
Using SysOperation Sandbox 245
How to do it… 245
How it works… 247
Chapter 7: Advanced Data Handling 248
Technical requirements 248
Implementing table inheritance 249
Getting ready 249
How to do it… 249
How it works… 253
Using menu items to create records for tables that use inheritance 255
Getting ready 255
How to do it… 255
How it works… 258
Using date-time effectiveness 258
Getting ready 259
How to do it… 259
Create the date-time effective table 259
Adjust the vehicle details form so that it includes the new “date-time effective”
odometer table 261
Reviewing the results of updating a date-time effective table in SQL 262
Writing a form so that we can see the current and previous state of the data 263
How it works… 265
Creating a view with a query and computed columns 267
Getting ready 268
How to do it… 268
How it works… 273
There’s more… 277
Chapter 8: Business Events 282
Technical requirements 283
Creating a new business event 283
Getting ready 283
How to do it… 284
How it works… 288
There’s more… 290
See also 291
Creating an Azure Service Bus queue 291
How to do it… 292
How it works… 296
See also 296
Configuring the business event to use a Service Bus queue 297
How to do it… 297
How it works… 298
Creating a Microsoft Flow to receive the Service Bus queue
message 299
How to do it… 299
How it works… 302
See also 303
Receiving messages in SCM from the Service Bus 303
Getting started 303
How to do it… 304
How it works… 309
There’s more… 312
Chapter 9: Security 314
Technical requirements 315
Creating privileges 316
Getting ready 316
How to do it… 316
How it works… 317
There’s more… 317
Impact on licensing 318
See also 319
Creating duties 319
How to do it… 319
How it works… 320
Creating security roles 320
How to do it… 321
How it works… 321
See also 321
Creating policies 322
How to do it… 322
How it works… 323
There’s more… 323
See also 324
Chapter 10: Data Management, OData, and Office 325
Technical requirement 326
Introduction 326
Creating a data entity with an Edit in Excel experience 326
Getting ready 327
How to do it… 327
How it works… 333
There’s more… 335
Data entities on tables that use inheritance 337
See also 338
Extending standard data entities 339
Getting ready 339
How to do it… 339
How it works… 341
There’s more… 341
Importing data through the Data Import/Export Framework 342
Getting ready 342
How to do it… 342
How it works… 346
See also 347
Reading, writing, and updating data through OData 347
Getting ready 348
How to do it… 348
How it works… 355
See also 359
Chapter 11: Consuming and Exposing Services 360
Technical requirement 361
Creating a service 361
Getting ready 361
How to do it… 362
How it works… 366
Consuming a SOAP service in an external application 367
Getting ready 368
How to do it… 368
How it works… 376
See also 377
Consuming a JSON service in an external application 378
Getting ready 378
How to do it… 378
How it works… 385
There’s more… 386
See also… 389
Consuming an external service within F&O 389
Getting ready 390
How to do it… 390
How it works… 399
Chapter 12: Unit Testing 401
Technical requirements 402
Creating a unit test project 402
Getting ready 403
How to do it… 403
How it works… 404
Creating a unit test case for code 405
Getting ready 405
How to do it… 405
How it works… 411
There’s more… 412
Creating an Acceptance test library entity class 413
Getting ready 413
How to do it… 413
How it works… 415
There’s more… 415
Creating an Acceptance test library specification class 416
Getting ready 417
How to do it 417
How it works… 418
Creating an Acceptance test library data class 419
Getting ready 419
How to do it… 420
How it works… 421
Creating an Acceptance test library data class structure 421
Getting ready 422
How to do it… 422
How it works… 425
Creating an Acceptance test library class that ensures a process
can be done 425
Getting ready 426
How to do it 426
How it works… 428
See also 429
Chapter 13: Automated Build Management 430
Technical requirements 431
Creating a Team Services Build Agent Pool 431
Getting ready 432
How to do it… 432
How it works… 433
Setting up a build server 433
Getting ready 433
How to do it… 433
How it works… 439
See also 439
Managing build operations 439
Getting ready 440
How to do it… 440
How it works… 444
See also 445
Releasing a build to User Acceptance Testing 445
Getting ready 446
How to do it… 446
How it works… 451
Chapter 14: Workflow Development 452
Technical requirements 453
Creating a workflow type 453
Getting ready 454
How to do it… 454
How it works… 461
See also 462
Creating a workflow approval 462
Getting ready 463
How to do it… 463
How it works… 467
Creating a manual workflow task 467
Getting ready 468
How to do it… 468
How it works… 474
Hooking up a workflow to the user interface 475
Getting ready 475
How to do it… 475
How it works… 476
Creating a sample workflow design 476
Getting ready 477
How to do it… 477
How it works… 482
Chapter 15: State Machines 483
Technical requirements 484
Creating a state machine 484
Getting ready 484
How to do it… 484
How it works… 488
Creating a state machine handler class 488
Getting ready 489
How to do it… 489
How it works… 491
There’s more… 492
Using menu items to control a state machine 492
Getting ready 492
How to do it… 492
How it works… 493
Hooking up the state machine to a workflow 494
Getting ready 494
How to do it… 494
How it works… 496
There’s more… 497
Other Books You May Enjoy 498
Index 501
This book is US$10
To get free sample pages OR Buy this book


Share this Book!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.