For students who study 1C:Professional course.

#1
People who like this: 0 Yes / 0 No
Just came
1C:Professional
Rating: 0
Joined: May 15, 2015
Company: CloudOffice AB

What order of dimensions in accumulation register is better? For example, for register Materials? 1) Material, 2) warehouse or 1) warehouse, 2) material. Why?

 
#2
People who like this: 0 Yes / 0 No
Moderator
1C:Professional
Rating: 6
Joined: May 8, 2013
Company: 1C Company

The most important requirement here is the following (from the Lesson 2): "You need to have a dimension for every condition in your “WHERE” clause. Or (the same from another perspective) you need to use all dimensions in the query’s “WHERE” clause."

If this requirement is met, the order of dimensions plays no practical role. The only (100% pure theoretical) recommendation could be: place more populated dimensions closer to the top of the list. In our example it would mean placing the Material dimension first because it has more different values than Warehouse dimension (we have very few warehouses and hundreds of materials). That said, we've never seen any practical effect of following this recommendation in any real-world system, so you can just ignore this factor.

Using only some of the dimensions in the WHERE clause is quite a different story.

Let's say you have an accumulation register with five dimensions (Dim1, Dim2, ...). You created these particular dimensions set for a reason - the main (most frequently executed) query uses all of them. But what if you have some peripheral functionality that needs a query with only some of the dimensions (say, 3 and 4)? In order for this query to execute efficiently, you need to place these two dimensions first. I.e, your dimensions set, should be Dim3, Dim4, Dim1, Dim2, Dim5. Not following this rule can cause significant slowing down of this particular query.

OK, but what if you have another peripheral functionality that uses say, Dim5 and Dim2 in its query? Well this problem has no solution with the only register (we cannot place two different pairs of dimensions to the top of the list at the same time), so you are going to need another accumulation register for this.

 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.

/* Улучшаем читаемость списков в документации */ .workarea ul, .content ul { margin: 15px 0 20px 25px !important; padding: 0 !important; list-style-type: disc !important; } .workarea li, .content li { margin-bottom: 8px !important; padding-left: 5px !important; line-height: 1.6 !important; } /* Ультимативный фикс для всех уровней заголовков в контенте */ .workarea h1, .workarea h2, .workarea h3, .workarea h4, .workarea h5, .workarea h6, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, div[id*="content"] h5, div[class*="content"] h5 { display: block !important; font-weight: 700 !important; color: #005aa0 !important; /* Наш фирменный синий */ text-transform: none !important; margin-top: 30px !important; margin-bottom: 15px !important; line-height: 1.2 !important; font-family: Arial, sans-serif !important; } /* Принудительные размеры в пикселях (чтобы не зависеть от % или em) */ .workarea h1, .content h1 { font-size: 28px !important; } .workarea h2, .content h2 { font-size: 24px !important; } .workarea h3, .content h3 { font-size: 21px !important; } .workarea h4, .content h4 { font-size: 19px !important; } .workarea h5, .content h5 { font-size: 18px !important; } /* Для 5 решеток ##### */ .workarea h6, .content h6 { font-size: 16px !important; } /* Фикс, если Битрикс добавил лишние отступы перед списками после заголовка */ .workarea h5 + ul, .content h5 + ul { margin-top: 5px !important; }