Steve Endow's Business Central Podcast

Learning BC Features - Default Dimension & Dimension Priorities

January 06, 2022 Steve Endow
Steve Endow's Business Central Podcast
Learning BC Features - Default Dimension & Dimension Priorities
Show Notes Transcript

Let's explore the many ways to default Dimensions in Business Central!

0:00 Default Dimensions & Dimension Priorities
1:05 Introduction
3:55 Blog Post on Default Dimension Priorities
5:57 Default Dimensions
9:51 Default Dimensions & Priorities Demo
22:29 What about Company Defaults?
25:33 Company Information Default Dimensions
26:18 User Setup Default Dimensions
27:42 Company Default Dimensions Demo
31:58 Default Dimension Priorities
34:20 Default Dimension Priorities Demo
42:27 Use BC Defaulting Code? Or write our own?
44:48 Questions and Discussion
48:23 The End

01:08
hello
01:09
today i would like to start a new series
01:13
of learning business central features
01:17
and
01:19
i have
01:20
considered many times trying to create a
01:24
series that
01:25
discusses all of business central like a
01:28
essentially like an application training
01:30
course
01:31
but that is actually quite a daunting
01:34
endeavor and
01:37
would require me to be much more
01:38
organized to go through a curriculum
01:41
like um jeremy visca's uh your first 20
01:45
hours with business central or eric
01:47
hougard's business central field guide
01:50
and
01:52
it's a big project so instead
01:55
i'm just going to face reality that i
01:58
don't have that much time and i'm not
02:00
that organized and
02:02
i'm going to try to just do a session on
02:04
a particular feature as i come across it
02:07
as i need to research it and i know that
02:09
doesn't um that that doesn't appease my
02:12
desire to have something that is
02:15
structured and cohesive and incremental
02:18
and a learning path but um
02:22
this is my alternative to not doing
02:24
anything so with that said um i'm just
02:27
going to try and share some knowledge
02:30
about what i've come across and
02:32
tried to learn i
02:34
won't claim to have complete knowledge
02:36
or learning of these things but
02:38
i'm just going to share what i've
02:40
stumbled across and
02:41
let me know if i missed anything if i
02:43
got anything wrong
02:45
because
02:46
these are kind of little dark corners of
02:48
business central that i'm not always
02:51
able to find great information on i
02:53
think i found one blog post on on kind
02:56
of one aspect of this
02:58
and there are probably a few other
03:00
articles on it but it's just not
03:03
not a lot of coverage on this particular
03:06
topic
03:07
and with that like to thank jeremy visca
03:09
for the cool
03:10
business central application focused
03:12
logo uh his company is spare brained
03:15
ideas and i think he has um this logo on
03:18
t-shirts and um stickers and a few other
03:22
things if you're
03:23
interested in that and also it's
03:24
available as a download for screen
03:27
savers so a bunch of different
03:28
resolutions so you go to spare brained
03:30
ideas website and check that out so
03:33
thank you jeremy and as i mentioned he
03:36
also has a book
03:38
your first 20 hours with business
03:40
central i believe and i haven't had time
03:43
to look into the book to see how much it
03:45
covers these particular features so
03:48
that's on me but check that out and see
03:50
if you can find the stuff in his book
03:53
so with that let me plow on
03:56
so this came about because for a
03:58
particular project we're trying to
04:00
understand how do we
04:03
properly default dimensions on a given
04:06
sales invoice line so we are kind of
04:10
reproducing some functionality that
04:12
involves like sales order sales invoice
04:15
lines
04:16
and when we allow a user to add an item
04:19
to that line grid
04:21
how should we default dimensions should
04:24
we default dimensions if so how where do
04:26
those defaults come from and we thought
04:28
oh how hard can it be right
04:31
well it turns out there's a lot going on
04:33
behind the scenes in terms of defaulting
04:36
dimensions so do not underestimate that
04:38
and
04:39
we may have
04:41
stepped into a a
04:43
deeper realm than we intended and
04:46
we're considering okay do we go full
04:49
bore on this thing and support all the
04:50
default dimension functionality or do we
04:53
just scale it back and say look we
04:55
support items and customers that's it
04:57
we're not getting into this other stuff
04:59
because that gets really crazy and
05:01
they're like seven different angles you
05:03
can approach this and
05:04
[Music]
05:05
yeah pros and cons so we're trying to
05:07
investigate how we deal with that
05:09
support
05:10
so i have a blog post of my initial kind
05:14
of learning at blog.steveendo.com
05:17
and i explored default dimensions and
05:20
default dimension priorities which is a
05:22
separate feature that allows you to
05:24
prioritize where default dimensions come
05:27
from and i'll touch on that as well in
05:30
this session but you can check out the
05:32
blog get an overview of what's going on
05:35
and
05:36
and kind of understand some of your
05:39
options it's not comprehensive but i
05:41
think is a good introduction to it and i
05:43
found one other blog post out there that
05:45
talked about default dimension
05:47
priorities but it didn't seem to go in
05:49
quite as uh into as quite a
05:54
the same level of depth shall we say
05:56
okay so let's talk about default
05:59
dimensions what do i mean by that
06:02
so
06:03
if i am entering a new line item on a
06:07
sales invoice
06:09
the
06:10
let's say the two shortcut dimensions or
06:12
two global dimensions
06:14
are available as fields on that line
06:16
item and
06:18
if you have let's say you're working in
06:21
the cronus company and you don't have
06:23
any defaults uh set up
06:25
those two dimension values those global
06:27
dimensions are shortcut dimensions one
06:30
and two i'm not quite sure which
06:31
terminology applies
06:34
appropriately in that particular case
06:36
but they will be blank by default so if
06:39
i just grab a random customer random
06:41
item in my testing those are those two
06:44
dimension fields are blank at the line
06:46
item level it's like okay that's
06:48
interesting after some research i found
06:51
that those two dimensions at least and
06:55
obviously there could be many more
06:56
dimensions up to eight by default
06:59
but those two dimensions i'll just stick
07:01
with those two for this example or
07:03
discussion
07:04
those can actually default from the item
07:08
from the customer on a sales transaction
07:11
if you're on the purchasing side those
07:13
can default from a vendor
07:16
those can also default from a gl account
07:19
if you're working with the gl account at
07:21
the line level
07:23
it turns out after digging through the
07:25
business central code to figure out how
07:27
these things are defaulting we found
07:30
well they can default based on the sales
07:32
person or the purchaser configuration
07:35
and confusingly those are called sales
07:38
people slash purchasers in the us
07:42
version of business central sas i don't
07:45
know what those are called in in other
07:48
regions
07:49
and so you have sales people slash
07:52
purchasers that's another place those
07:54
can default from
07:55
then you have customer template which i
07:58
haven't even looked at yet but i see it
08:00
in the code
08:01
customer temple
08:02
bill to customer template code so it
08:05
appears that the defense dimensions can
08:08
default from there
08:09
and then you have a responsibility
08:12
center which i'll talk about which i'd
08:14
never heard of before
08:16
and then you have a campaign
08:18
not to like further complicate things
08:21
and then on top of all of this you have
08:23
a job and there may be other aspects of
08:26
jobs like maybe there's a job task or
08:29
whatever it's called at the job level
08:31
that you can default it but
08:33
i found code that references job so here
08:36
we have nine different places where you
08:39
could potentially define
08:41
default dimension values
08:44
and so when you enter a transaction
08:47
it starts to get potentially confusing
08:49
okay so i enter a item
08:52
on a sales invoice and i look at my
08:54
dimensions and they're defaulting
08:56
where are those defaults coming from is
08:59
it the item the customer
09:02
or if you're using a gl account it could
09:04
come from a gl account it could come
09:05
from the sales person it could come from
09:08
a responsibility center maybe or it
09:11
could come from the company i forgot to
09:13
add company on here i missed that
09:15
so
09:17
what make that 10 places in theory that
09:20
you can oh no user is 11. so 11
09:23
different places in theory that these
09:25
could come from so
09:27
it starts to get kind of crazy
09:30
so let's just take a look at the basic
09:32
ones uh these nine let's let's ignore 10
09:35
and 11 for now
09:37
um and let's take a look at the default
09:40
dimensions and default dimension
09:43
priorities and see
09:45
how that works
09:46
so
09:50
uh
09:51
there we go okay so i'm just in a
09:54
sandbox demo tenant um for business
09:57
central sas
09:58
and
09:59
i'm going to go into a sales invoice
10:04
create a new sales invoice
10:06
with what i hope is a customer that is
10:09
not configured with any defaults
10:12
so i'm going to choose
10:15
alpine ski house 40 000.
10:18
and then
10:19
i am going to
10:21
choose the
10:24
paris guest chair because i think i
10:26
don't have any defaults
10:28
and so you'll notice here
10:30
let me see if i can make that bigger
10:32
the customer group code and the
10:35
department group code those are my two
10:37
global dimensions or shortcut dimensions
10:41
confusing um
10:43
i don't have any defaults so those are
10:45
blank like okay
10:47
how do we maybe i want to default those
10:50
so that the user isn't constantly having
10:52
to choose something
10:53
for every item for every sales invoice
10:56
so let's take a look at how we can do
10:57
that so i'm just going to delete this
11:01
and so let's go to the item first
11:04
and so let's go to items
11:07
and that was my paris guest chair
11:11
and
11:12
it is not listed in the main item fields
11:15
you have to go to either item oh no
11:19
so it's confusing the action menus are
11:22
not my favorite so although there is
11:24
item here i do not see dimensions i have
11:26
to go to related
11:28
item dimensions
11:31
and it varies by record as to where that
11:34
is
11:35
so i'm going to choose a customer group
11:38
of
11:40
let's say small
11:43
and i'm going to choose a department of
11:47
sales
11:48
okay so small sales
11:51
and i'm going to leave my paris guest
11:53
chair i'm going to go back to my sales
11:56
invoice and i'm going to choose the same
12:00
alpine ski house
12:03
and i'm going to choose my paris guest
12:06
chair
12:07
and you'll notice now i have small and
12:11
sales coming through because i define
12:13
them as defaults default dimension code
12:16
values
12:17
demo dimension value codes
12:20
for this item cool
12:22
now what happens if i has also assigned
12:26
defaults at the customer level
12:29
because we can have these defaults
12:31
defined at multiple
12:34
levels
12:35
and one moment
12:39
okay
12:40
so
12:41
let's go to customers
12:43
oops
12:44
spelled it wrong but it still found it
12:47
okay so now i'm going to go to alpine
12:49
ski house and define defaults on that
12:52
customer
12:53
and here you'll notice that i can click
12:55
on customer and i do have dimensions
12:58
there unlike items
13:00
i don't get it you can also go to
13:02
related customer dimensions
13:05
so i'm going to go to my customer and
13:08
i'm going to assign default dimensions
13:10
at the customer level as well so let's
13:13
see what happens so i'm going to do a
13:15
customer group of medium so it's
13:17
different than my item and i'm going to
13:19
do a department of prod
13:22
so medium prod instead of sales small
13:25
i'm going to exit out of my customer
13:27
and i'm going to create a new sales
13:30
invoice
13:32
i'm going to choose the same alpine ski
13:34
house
13:35
and one thing you may notice is now that
13:37
i've defined defaults for the customer
13:40
they now show up on the sales header so
13:43
they will default to populate department
13:45
code and customer group code here prod
13:49
and oops you can't see it prod and
13:51
medium what i noticed in my testing is
13:55
when those default and these populate at
13:58
the sales header level
14:00
they will stick with this invoice so if
14:03
you change the default values for this
14:05
customer now
14:07
this invoice remains unchanged and these
14:09
header values will stay in place so if
14:13
you have your line item dimensions
14:15
default based on the customer through
14:18
whatever defaulting mechanism you have
14:21
i found in my test they will default
14:24
from here they will not re-default from
14:27
the customer so the customer defaults
14:30
copy to the header
14:32
and then if your line items are
14:34
defaulting from the customer they will
14:36
default from here
14:38
not from the existing customer default
14:41
value so it's not going to go back to
14:42
the customer and grab the values it'll
14:44
grab whatever is on this sales header
14:48
and
14:49
jeremy confirms master data changes do
14:52
not affect existing open documents
14:55
dimensions or otherwise so yep
14:58
confirmation and so that kind of tripped
15:00
us up we're like why isn't it changing
15:02
then we saw ah it's already on the
15:05
header so bc looks to the header values
15:08
first defaults based on that and only if
15:10
these are blank for instance might it go
15:13
back and pull them again from customer
15:16
and
15:17
eric notes posting never happens from
15:20
default
15:21
okay so i would have to explore that
15:24
more to understand what that means but
15:27
let's let's just go with the defaults
15:29
now and see how the line items behave
15:32
and so i have defined the default at the
15:34
customer level and at the item level
15:37
we're seeing now that these defaults are
15:39
coming into the invoice header so what
15:42
happens if i add my line item of paris
15:45
guest chair which also has default
15:47
dimensions
15:49
we see here that medium and prod come
15:52
through so we're seeing that the medium
15:56
and prod are coming either
15:58
from the customer defaults
16:00
or from these department code customer
16:03
group code let's just do a quick
16:05
impromptu test to see what happens here
16:08
let's say that i delete this line
16:12
and even though i have these defaults
16:14
here let's delete them
16:16
so we don't have anything at the header
16:18
level
16:19
okay so i've cleaned out the defaults at
16:22
the sales invoice header now let's
16:25
re-add this line now that we have both
16:27
item defaults and customer defaults but
16:29
we don't have item header defaults what
16:32
happens
16:33
in this case
16:35
it is defaulting back to the item so it
16:38
looks like the sales invoice is not
16:40
actually pulling from the customer
16:43
default
16:44
values themselves it's only using the
16:47
customer defaults to copy
16:49
defaults to the invoice header
16:52
and then using those as the fault for
16:54
the line item
16:56
so
16:56
i
16:57
i was previously saying that they
16:59
default from customer first and then
17:01
from item based on this test i don't
17:04
think this is accurate or that
17:06
description that i had as accurate i'm
17:08
going to have to update my blog post
17:10
it's actually
17:12
copying from the customer
17:14
to the sales header
17:16
and it defaults first from the sales
17:18
header and then second from the item so
17:22
that's interesting observation okay so
17:25
that's a couple different ways like
17:27
essentially three different places that
17:29
the defaults can come in to a sales
17:32
invoice header
17:34
so
17:35
you're starting to see how this can get
17:37
a little confusing and if you say small
17:39
in sales you're thinking
17:41
where's that coming from
17:43
and
17:44
it will take a little research now i
17:47
don't know if there's an easier way to
17:48
figure out where these are coming from
17:50
like some flow that shows oh these came
17:53
from the item because you didn't have
17:55
these other default in place but you're
17:58
starting to see there's some hierarchy
18:00
going on there are some predefined
18:02
default
18:03
priority mechanisms going on
18:05
and depending on how you have your
18:07
default set up at the master record
18:10
level or at a higher level which i'll
18:12
kind of show a few examples
18:14
you may need to do some sleuthing to
18:16
figure out why is this defaulting at
18:18
smalling sales is this a problem at the
18:20
item level at the customer level is this
18:23
just an old open invoice that got it
18:25
copied from the customer at that time
18:27
and isn't reflecting changes
18:29
is a salesperson involved you know like
18:32
there are couple different layers um
18:35
yeah
18:35
jeremy says that would be a neat utility
18:37
extension dimension expansion it
18:40
dimension inspection yep like
18:43
where did this come from and you could
18:45
kind of reverse engineer the logic that
18:47
bc is using to default this and you
18:49
could go up the chain and kind of show
18:51
okay here are all your defaults it's
18:53
coming from layer 3 and that's why it's
18:56
small in sales
18:58
i can imagine a complex environment that
19:00
being valuable now
19:02
question though
19:04
99 of let's say 90 percent of customers
19:08
use some simple defaulting mechanism
19:10
they don't have an elaborate dimension
19:12
default dimension setup but for those
19:15
few those 10 that do have a multi-layer
19:18
complex multi-location multi-user multi
19:22
like it could get really elaborate in
19:24
terms of how they want their dimensions
19:26
to default
19:28
um
19:30
so
19:31
oh
19:32
yes so eric follows up with a good point
19:34
um
19:35
dimensions needed for gl entries the
19:37
customer default should eventually go to
19:39
the ar posting and the item default
19:41
should eventually go to the
19:44
i l e and sales post so the way that my
19:48
colleague tanya described it is that
19:50
these header dimensions are for your
19:53
balance sheet and the line item
19:55
dimensions are for your um income
19:58
statement and so
20:00
that's how she differentiates these and
20:03
so it is kind of interesting that
20:07
these headers will override what you
20:10
have at the line item level
20:13
so you may need to be careful and so in
20:16
her case i think she said she typically
20:18
doesn't default the dimensions at the
20:20
customer level
20:21
because she doesn't want to override the
20:23
balance sheet settings but she will
20:25
default them at the item level so that
20:28
your income statement accounts get
20:31
specified correctly if i'm
20:33
okay so item ledger entry so if i'm
20:35
remembering correctly that was her
20:37
description so the sales hitter will go
20:39
to balance sheet your item the line
20:42
items will go to income statement so you
20:45
need to unders you don't want to just
20:47
default these just so they show up on
20:49
the line on them correctly you need to
20:50
understand that this is also affecting
20:53
how the
20:54
um the general ledger or
20:57
general journal entries i guess are
21:00
created and what values are used there
21:03
do you want balance sheet do you want
21:04
income statement and so that's another
21:07
entire dimension no pun intended of
21:10
where these are coming from so it starts
21:12
to get complex
21:15
really quickly
21:17
so i was just a super simple example for
21:19
the very just the one small use case
21:22
that i was trying to research
21:25
and
21:26
i'm already seeing like potentially
21:28
confusing complexities and how this
21:30
starts to interact so we're now
21:33
reconsidering like
21:35
do we really want to even default this
21:37
stuff at all like
21:39
are we getting ourselves into trouble
21:41
here and we're thinking tentatively okay
21:45
we'll default based off of the item and
21:47
customer but then we will deal with
21:51
priorities which i'll discuss next but i
21:53
think after that we're like yeah that's
21:55
the limit we just nope we don't support
21:58
more than that we're going to keep it
21:59
basic unless we run into
22:02
use cases that are widely used by our
22:04
customers to say hey we need this
22:06
particular permutation of dimensions
22:09
and um
22:11
so yeah you're starting to see how this
22:14
seemingly innocuous topic of default
22:16
dimension starts to get pretty involved
22:19
and it really
22:20
it permeates everything you do
22:22
throughout the system so
22:24
with that
22:26
oops
22:28
okay
22:29
so
22:31
i asked a seemingly innocent question
22:36
what about company defaults and the
22:38
reason i ask this is because i come from
22:40
the dynamics gp world and we had a
22:43
pretty simple system in dynamics gp
22:46
where if i enter a
22:48
sales invoice with a line item
22:51
the default general ledger accounts we
22:54
didn't we don't quite have the same
22:56
dimension
22:57
concept in
22:59
gp by default like out of the box basic
23:02
functionality we have full gl accounts
23:04
with multiple segments so
23:05
a gl account can default from a line
23:07
item level or it can also default from
23:10
the customer level
23:12
for the sales invoice or it can default
23:15
at the company level or what we might
23:17
call the system level so is there a gl
23:20
account for the items yes if so use
23:22
those in your distributions if not go to
23:25
the customer level is there a default gl
23:28
accounts that i need to use for those if
23:30
so pull those into the distributions if
23:32
not at the customer level then look for
23:35
any defaults at the system or company
23:36
level and pull those in and in theory
23:39
those three layers in a simple scenario
23:42
will be enough to allow you to fully
23:44
default all of your gl accounts all of
23:46
your debits and credits and
23:49
everything is taken care of so it
23:52
in my mind it seemed a little simpler
23:55
and
23:56
granted it it had a little less
23:57
flexibility so if we wanted a particular
24:00
segment of the gl account to change like
24:03
by location or by division or by item
24:06
then that was a little more difficult to
24:09
do if we wanted just this one segment of
24:11
the gl account whereas in business
24:13
central you can
24:15
default those dimensions differently
24:17
depending on what you need so it's a
24:18
little more
24:19
powerful in that respect and that you
24:22
can adjust these different dimensions
24:23
and have them default in from different
24:25
places
24:26
but
24:27
with potentially added complexity so in
24:30
my simple scenario i was thinking item
24:33
customer and company where could a
24:35
company default come from
24:36
and so i asked on twitter about this um
24:39
is there a way to define demo default
24:41
dimension value codes at the company
24:43
level or similar that will default if
24:46
the item or customer vendor don't have
24:48
any defaults and initially i got some
24:51
responses like no i don't think so i'm
24:53
not aware of a way but then
24:55
aj chimes in with a knowledge bomb here
24:58
yes you can with a responsibility center
25:02
set up a responsibility to include
25:04
default dimensions set the default
25:06
responsibility center in the company
25:09
information card under shipping
25:11
and then the default dimensions will be
25:14
applied to new documents so it's it's
25:16
trickling down from the company level
25:19
and he also notes a new twist to this
25:21
responsibility center can also be
25:24
configured in user setup not to be
25:27
confused with users but user setup
25:31
very interesting so let's take a look at
25:33
that so under company default
25:36
or to default at the company level you
25:38
go to company information
25:40
under the shipping fast tab
25:41
responsibility center now a
25:44
responsibility center is it kind of
25:47
looks like a
25:48
a site or a location for a company and
25:51
it has address contact information but
25:54
it also happens to have your global
25:56
dimensions or shortcut dimension one and
25:58
two in there so you can define those two
26:01
values there so in this case i set up a
26:03
hypothetical one of los angeles with a
26:06
los angeles address like a warehouse and
26:09
that location could have global
26:12
dimension or shortcut dimension one and
26:14
two
26:15
defined there so i can set that at the
26:17
company level
26:19
now here's the second place he mentioned
26:21
and this is the user setup not to be
26:24
confused with any other user windows
26:26
user setup i specify my user id and then
26:30
you see that i can have both the sales
26:33
responsibility center and a purchasing
26:36
responsibility center for this user and
26:40
that provides default dimensions at that
26:43
level
26:44
so i mean these default dimensions can
26:46
be coming out of transaction from 10
26:49
different directions
26:50
so you gotta be like if you're gonna use
26:54
these you don't have to use these
26:55
features like this may be irrelevant for
26:57
eighty percent of customers but
26:59
maybe steve is in los angeles and you
27:02
really want those los angeles dimension
27:04
values to default for his transactions
27:07
whether that's on the sales or
27:09
purchasing side
27:10
and you maybe sally's in north carolina
27:13
and you want hers to be on the east
27:14
coast dimension values so
27:17
maybe that's appropriate for your
27:19
business so
27:20
there you go now
27:22
from what i found by default it only
27:24
this only applies to the two global
27:26
dimensions or shortcut dimensions
27:29
out of the box i didn't see a way to
27:31
default the other dimensions so
27:35
yeah lots of you know scenarios you
27:38
could come up with for how you use it so
27:41
let's take a look at that
27:43
so if i go back over to
27:45
this screen
27:47
i still have my alpine ski house and now
27:49
i'm seeing
27:50
that customers are overriding the item
27:53
level because those dimensions are
27:55
coming through at the sales invoice
27:57
header so let's play around i'm going to
27:59
keep this invoice in place
28:01
and
28:03
exit it that's 2263
28:05
and so let's set up let's see what
28:07
should i do first let's do the company
28:09
first so i'm going to go to company
28:11
information
28:14
and see here's my company information
28:17
page and
28:18
i have a responsibility center field
28:21
here so i'm going to choose los angeles
28:24
and let's just take a look at what that
28:26
company information
28:28
excuse me responsibility center
28:33
so in the los angeles responsibility
28:35
center i have large
28:38
or department code adm customer group
28:41
large so large adm
28:44
and so i would expect large an adm to
28:46
potentially come through at the company
28:49
level
28:50
so
28:51
if i do a new sales invoice
28:54
and i need to use a customer that does
28:56
not have any default school of fine art
28:59
and i'm going to choose an item that
29:00
does not have any defaults hopefully
29:03
athens mobile pedestal and there we see
29:06
large and adm they're not defaulting
29:09
from the item or the customer and if we
29:12
scroll down
29:13
ah look at that it's actually defaulting
29:17
here in the sales invoice header
29:20
so
29:22
got it so this is coming through to the
29:24
line item
29:26
so
29:27
even though we don't have anything at
29:29
the customer those company defaults are
29:31
coming through and populating at the
29:33
sales invoice header so
29:36
you want to
29:39
be careful about where you're defaulting
29:43
because my understanding is these will
29:45
now
29:46
affect your balance sheet accounts
29:48
because these are at the header level or
29:50
balance sheet entries and it is
29:53
defaulting in at the line level
29:56
tricky tricky okay so i'm starting to
30:00
really get out of my depth in terms of
30:01
how these things interact and balance
30:03
sheet and income statement
30:05
and
30:06
um
30:07
oh eric says you can set all dimension
30:10
on responsibility center just select
30:12
related dimensions okay let's check that
30:15
out responsibility centers
30:18
okay
30:20
related
30:24
okay responsibility
30:27
dimension single dimensions multiple
30:31
okay
30:33
related
30:35
dimensions multiple
30:39
okay
30:41
and that is all dimensions on all
30:44
responsibility centers that's prod and
30:47
small so
30:49
yep lots of stuff going on here i'd have
30:52
to explore for a few hours and the the
30:55
challenge i found is you can read the
30:56
documentation and it says oh this is
30:58
where you configure responsibility
31:00
centers
31:02
configure your responsibility center and
31:05
it doesn't the documentation doesn't
31:07
really do a great job of necessarily
31:10
explaining the implications of these
31:12
choices and how this flows through the
31:14
system so
31:16
anyway um
31:18
yeah so
31:21
it's starting to get involved here so
31:23
let me jump back here
31:25
so that was on
31:27
that you can that was just an example
31:28
you can use responsibility centers to
31:31
have these dimensions flow at the
31:33
company
31:34
or user level
31:36
and
31:37
really adds complexity into the mix and
31:40
it looks like those are defaulting in at
31:43
the
31:44
um
31:46
at the sales header level though it's
31:49
not and then that will be used to
31:52
override at the item level
31:54
so what if you don't want that
31:56
what if you know you don't want the
31:59
sales header
32:00
dimensions to override your items
32:04
so what do you do
32:06
well enter
32:08
another twist
32:09
dimension priorities
32:12
and so
32:13
this i didn't find the most intuitive
32:15
window in the world not
32:17
not having nav or much bc experience and
32:20
so you're greeted with this thing called
32:22
source code and i'm like
32:24
source code what does that even mean and
32:28
how do i know which source code i want
32:30
for a sales invoice and so just poking
32:33
at the list and taking a educated guess
32:35
i chose sales which appears to be what i
32:38
wanted but there are lots of others in
32:40
there and i don't know where all of
32:41
those are used so you may need to
32:43
explore and learn
32:47
where which source code that you want to
32:49
use so then i was just playing around
32:52
and i noticed well you notice here
32:54
priority one and two so it's like okay
32:56
item is one customer is two that's your
32:58
priority order makes sense so if you're
33:00
entering these tables in choosing these
33:03
tables for demalt dimension priorities
33:05
it provides a default priority number
33:07
for you
33:09
and then
33:12
look at that
33:13
i was just like oh what happens if i
33:15
change the priority to all be the same
33:17
number
33:19
i have no idea you can change multiple
33:23
table ids to have the same
33:25
priority
33:27
and
33:28
i
33:29
i haven't had time to figure out what
33:31
this does i don't know why you'd want to
33:33
do it i don't think you would want to
33:34
use it because this is horribly
33:37
confusing to me like
33:39
what happens when salesperson and
33:41
customer and item are all priority one
33:45
like is that like crossing the streams
33:47
and ghostbusters like
33:49
i don't know so
33:51
i don't think i want to do this it's
33:53
kind of like
33:54
um
33:56
yeah so jeremy says it might be by table
33:58
id because you notice it is resorting
34:01
the tables here by table id so
34:05
probably not a good idea i would prefer
34:07
to be explicit on what my priority is
34:08
because they're not going to come from
34:09
multiple places
34:12
so yeah eric says it's the same as not
34:14
having a priority so i wouldn't want to
34:16
do it but let's check that out let's see
34:18
if this actually works so i'm going to
34:22
go into
34:23
my
34:24
default dimension priorities
34:27
okay
34:28
so i deleted my records just to start
34:31
from scratch and just to show you what
34:32
this looks like it's like um
34:36
as a new bc user
34:38
what in the world am i supposed to
34:41
choose and so i'm just
34:43
like
34:44
sales that sounds good i don't think
34:47
it's sales entry application i don't
34:49
think it sales journals and it's not
34:51
service and maybe there's something else
34:53
that might apply but sales looked like a
34:55
good guess so i went with that
34:58
and table id well i don't know table ids
35:00
like i don't have those things memorized
35:02
like you old school nav veterans do
35:07
there's a few here right like okay well
35:10
if you go up to the top i've kind of
35:12
learned that's kind of a safe bet
35:14
because up near the top you kind of have
35:16
your basic starter tables shall we say
35:19
so
35:20
customer okay customer sounds
35:22
interesting so
35:24
i see item so
35:27
item let's start with item okay cool now
35:30
i then have oops oh i accidentally
35:33
choose customers so item and customer
35:34
that's kind of what i'm used to from the
35:36
gp world
35:37
if it's in the item use item if it's in
35:39
the customer use customer
35:41
now
35:44
this seems to come down to
35:47
when we say default dimension priorities
35:49
based on my test it looks like that's
35:50
the default dimensions that will be used
35:53
on a item when i add a line item to a
35:55
sales invoice it doesn't look like this
35:57
is
35:58
defaulting from the header changing the
36:00
header defaults but let's give that a
36:02
try i didn't actually pay attention to
36:04
that so you'll notice when i add this in
36:06
i get a default priority of one and two
36:09
perfect so you can always change it and
36:11
it reorders so i can change customer to
36:13
one and i can change item to two and so
36:16
you can change this in any
36:18
order at any point and so i'm just gonna
36:20
make item one customer two great now
36:24
let's go back
36:25
and let me do
36:27
okay let me just delete this let me do a
36:29
brand new sales invoice
36:32
and let's see what happens okay so i
36:35
have no department code or customer
36:37
group code so the sales invoice header
36:39
dimension values are currently blank so
36:42
i'm going to choose
36:44
okay so i need to first just confirm
36:46
that my customer as default to my item
36:48
has defaults so let's go over to
36:50
customers and i'm pretty sure my 50 000
36:53
customer does have default dimensions
36:55
related customer dimensions
36:58
yes so i have medium and prod on this
37:01
customer 50 000 okay so that's good
37:05
and now i want
37:07
under my items
37:11
i will have my athens desk
37:15
related item dimensions
37:18
small and sales okay so i've already
37:20
forgotten what those were but we know
37:22
this one is small in sales
37:24
and adm prod i think on the other one
37:27
um all oh eric says alt d is the
37:30
shortcut for dimensions
37:32
okay alt d
37:34
so let's go to customers
37:38
and oh come on
37:41
customers i'll misspell it
37:45
okay so i'm gonna go into my 50 000
37:48
alt d
37:50
look at that
37:52
eric just saved me 20 000 clicks over
37:55
the next 10 years thank you okay so
37:58
there's my dimensions and let's do that
38:00
at the item level
38:03
and
38:04
alt d
38:06
alt d for dimensions a shortcut that
38:08
makes sense
38:09
there we go check that out super handy
38:13
now
38:14
let me get out of my item card
38:17
get out of my customer card so we now
38:19
know we have default dimensions at a
38:20
customer and item level so i'm going to
38:23
choose now on this
38:27
um
38:27
let me get back to my sales invoice so
38:30
my sales invoice still has no customer
38:32
it has no default header dimensions and
38:34
just curious can i do an alt d here no
38:37
okay
38:38
that kind of makes sense so i'm going to
38:39
choose a customer here let me choose my
38:42
50 000 customer
38:44
now
38:46
prod and medium so prod and medium
38:49
apparently just defaulted from my
38:52
customer so it didn't come in from my
38:57
the company default
38:59
whatever that was called i've forgotten
39:01
it already it is called the
39:08
responsibility center sorry so it's not
39:10
coming in from responsibility center
39:12
it's coming in from the customer
39:15
now if i add my item which has different
39:18
dimensions i have dimension priority set
39:20
up let's see what happens i'm going to
39:21
choose my athens desk
39:24
we have small and sales
39:27
so in this case
39:29
in this demo default dimension priority
39:33
did
39:35
override
39:36
the default behavior of pulling from the
39:38
sales header and it has my items
39:42
whatever my item default dimensions
39:45
those pull on to the sales invoice line
39:48
so my understanding is that will affect
39:50
our income statement accounts for this
39:52
item
39:53
but will not affect our balance sheet
39:56
accounts which can come from the
39:58
customer or company or even user
40:02
so hopefully i got that right if that
40:04
isn't horribly confusing
40:06
so
40:07
i thought this would be a simple it
40:08
defaults from the item it defaults from
40:10
the customer and maybe it'll default
40:12
from the company turns out there's a lot
40:14
of things going on and there's the
40:17
header there's the line item you can
40:19
default in different places
40:21
company
40:22
user
40:24
salesperson and you can change the
40:27
priority of how those default in
40:30
and
40:31
potentially affect how they default into
40:33
the balance sheet and income statement
40:36
so
40:39
simple question i ask these simple
40:42
questions naively having no idea what
40:44
i'm getting into and it turns out to be
40:47
this maze of stuff behind the scenes and
40:50
so i have a question um
40:53
is the customer table even used at this
40:55
level when entering the item i would
40:57
think the sales invoice header is being
41:00
used um
41:02
so at this point i would agree that's my
41:05
observation as soon as i choose the
41:07
customer
41:08
it cop bc is pulling the defaults from
41:11
the customer or company or user
41:14
into the sales header and my experience
41:17
in my testing is at that point once that
41:20
sales header default values are
41:22
populated that's what bc uses from that
41:25
point and the customer defaults are no
41:28
longer relevant it's only from the sales
41:30
invoice header if those defaults are
41:32
specified yep that's what it's going to
41:34
use so that is my understanding of how
41:37
it pulls
41:39
but you can with the
41:42
i suspect with the dimension priorities
41:44
actually i believe i tested this with
41:46
default dimension priorities you can say
41:48
that customer is a higher priority than
41:51
item
41:52
and i think that may potentially pull
41:54
from the customer onto your line item
41:57
but that starts to get into some
41:59
nonsensical scenarios i think like you
42:02
wouldn't want to necessarily do that
42:04
it's just not a common scenario but
42:06
maybe you have some customer that has
42:08
some crazy scenarios where you default
42:10
that or maybe you're using
42:12
multi-entity management or some third
42:14
party where that matters
42:16
but anyway
42:18
this was a
42:20
unexpectedly confusing journey
42:23
and let me go back a few slides to the
42:25
code
42:27
and so
42:28
we thought okay we'll default the
42:30
dimensions and we just uh our our
42:32
developer prototyped some basic
42:34
defaulting code then we dug into this
42:37
and we looked at this and found that
42:40
where these
42:42
what looked like
42:43
code that was defaulting in these values
42:46
and
42:48
yeah
42:50
we said
42:51
this is
42:52
far more involved and the the question
42:55
becomes if we wanted to default the
42:58
dimensions on a sales invoice line or
43:01
our version of it that we're developing
43:03
where we have line items on essentially
43:05
a sales document or a template
43:09
down you know trade-offs do we attempt
43:11
to use the business central code for
43:14
defaulting those dimensions
43:16
or do we kind of write our own
43:19
watered-down version of that that deals
43:21
with only certain scenarios
43:23
now
43:24
one might say best practice is to use
43:27
the bc code because it's defaulting in
43:29
all these scenarios and you don't have
43:30
to reinvent the wheel and what if it
43:32
changes
43:34
then you go with whatever their code is
43:36
but then you see how
43:39
involved this is and it's like yeah
43:43
what if we aren't handling jobs what if
43:45
we aren't handling sales people like
43:48
does it get too complex and messy and
43:50
are we getting ourselves into trouble by
43:52
using the default ironically well then
43:54
you say well if you write your own
43:56
you're not handling all these scenarios
43:57
and what if something changes and what
43:59
if you don't handle this particular
44:00
scenario you could get a bug and it may
44:02
not upgrade all this stuff so
44:04
like
44:06
i normally say let's use the the base
44:08
code and just call their their code unit
44:11
call their procedure whatever it is but
44:13
after looking at this
44:15
it's messy and so i've asked for help
44:17
from an expert it's like
44:19
what do we do here
44:21
like it seems like we're gonna get in a
44:22
little trouble either way what is the
44:24
lesser of two evils
44:26
and um
44:28
yeah so
44:30
start to get kind of messy here
44:33
so
44:35
oops hey i disappeared
44:37
so then um a few wrap-up questions that
44:41
was pretty much
44:42
my my journey one moment
44:46
there we go
44:48
so that was my journey with a very
44:50
simple question of how do dimensions
44:52
default and that got into dimension
44:54
priorities that got into responsibility
44:56
centers that got into user and company
44:59
defaulting and sales people and jobs and
45:01
campaigns all sorts of places these
45:03
defaults can come from and then there's
45:05
the balance sheet income statement and
45:07
then there's the sales invoice header
45:09
and do you want to override the line
45:11
item and how does that affect your
45:12
financials so
45:15
jeremy says an unexpectedly complex
45:18
journey could be the alternate title of
45:20
my bc videos yeah like i ask a seemingly
45:23
simple innocent question and i'm like oh
45:25
my gosh is nothing easy
45:28
so eric asks here's the real question if
45:31
you have separate customers for sell to
45:34
and bill to on a sales order how do you
45:37
handle different dimensions on the two
45:41
yeah
45:42
yeah it could get really crazy and what
45:45
if items
45:46
ship from different locations right
45:53
like i'm sure they're customers with
45:55
really really crazy scenarios and at
45:57
that point i'd say hey are you in the
46:00
99th percentile
46:02
if so you probably need a customization
46:04
and
46:06
there there might not be an expectation
46:07
that business central should do this out
46:09
of the box um
46:12
sorry
46:13
so yeah it's like
46:15
business central does provide a
46:17
surprising amount of flexibility to to
46:21
provide dimensions default dimensions
46:23
prioritize dimensions have the
46:25
dimensions come in from all sorts of
46:26
crazy places and now it's up to us to
46:29
figure out okay given what the customer
46:31
needs wants how they operate where their
46:33
data is flowing from
46:37
what makes sense and what limitations
46:39
might you have and then if it's
46:41
moderately complex as i mentioned how do
46:44
you figure out where these things are
46:45
coming from because if you're using four
46:47
levels of default dimensions
46:49
boy that's going to get moderately crazy
46:51
to troubleshoot and is an end user is
46:53
just entering transaction are they
46:55
really expected to understand
46:58
am i getting the right dimension is it
47:00
wrong is it defaulting from the wrong
47:02
place so you got to be kind of careful
47:03
and so in addition to that say dimension
47:06
inspector feature that jeremy uh
47:09
you know proposed do you need a
47:10
dimension validation report like
47:13
what if this is wrong how can you tell
47:15
and maybe it's just that month end in
47:17
your reconciliation you're like why are
47:19
all these entries against west coast
47:21
like this doesn't make sense or maybe
47:24
against sales and so
47:25
i don't know it starts to get complex
47:29
so and and to eric's point dimensions
47:32
aren't just dimensions you don't just
47:33
add them arbitrarily in theory they
47:36
should be driven by some accounting
47:37
purpose reporting purpose analysis
47:39
purpose and like what are using
47:41
dimensions for in the first place and
47:44
it's a metric that you're presumably
47:46
measuring and
47:47
how do you want to use that what is the
47:49
business case for that so lots of stuff
47:52
going on in this seemingly simple
47:55
question of default dimensions
47:57
and dimension priorities and with that
48:01
that is my exploration
48:03
of
48:04
just one business central feature
48:08
and with that
48:10
here's to a new series where i bumble
48:12
through seemingly simple questions and
48:15
get myself into really complex
48:18
answers and with that have a good day
48:21
cheers