17.06.2019, 15:12 | #1 |
Участник
|
erconsult: Get a cost center in D365FO
Источник: http://erconsult.eu/blog/get-a-cost-center-in-d365fo/
============== It is shocking to see over and over again functional consultants failing to create the Cost center dimension backed by the Organization units table (Organisation administration > Organisations > Operating units), choosing a custom dimension type instead and loosing the ability to specify an address, make a hierarchy of cost centers, specify a cost center manager etc. This has also given a rise to excruciatingly dumb custom code snippets predating the dimension name CostCenter as if there were no British English or other languages. With the proper setup and the proper coding this reduces to 3 essential lines: static void main(Args _args) { DefaultDimensionView defaultDimensionView; RefRecId testDefaultDimensionRecId = (select firstonly DefaultDimension from ProdTable where ProdTable.ProdId == "P000173").DefaultDimension; // Copy of the private method OMOperatingUnit::getDimensionViewId() RefTableId getDimensionViewId(OMOperatingUnitType _omOperatingUnitType) { Dictionary dict = new Dictionary(); DictEnum dictEnum = new DictEnum(enumNum(OMOperatingUnitType)); return dict.tableName2Id(strFmt('DimAttribute%1', dictEnum.index2Symbol(_omOperatingUnitType))); } // Filter by the virtual backing entity table Id for cost centers select defaultDimensionView where defaultDimensionView.BackingEntityType == getDimensionViewId(OMOperatingUnitType::OMCostCenter) && defaultDimensionView.DefaultDimension == testDefaultDimensionRecId; info(defaultDimensionView.DisplayValue); } The post Get a cost center in D365FO appeared first on ER-Consult. Источник: http://erconsult.eu/blog/get-a-cost-center-in-d365fo/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
18.06.2019, 08:04 | #2 |
Участник
|
Это же не очень правильно, ссылаться на аналитику по таблице. т.е. ничто ж не мешает завести CostCenter2, CostCenter3 с точно такой-же таблицей. По практике наиболее безопасный путь - это хардкодить это имя. Или пост о чем то другом
В догонку - https://denistrunin.com/xpptools-devfindim Последний раз редактировалось sukhanchik; 18.06.2019 в 16:03. Причина: Орфография |
|
18.06.2019, 08:26 | #3 |
Участник
|
Цитата:
Но магия с strFmt и OMOperatingUnitType мне здесь тоже не очень нравится. Последний раз редактировалось sukhanchik; 18.06.2019 в 16:03. Причина: Орфография |
|
18.06.2019, 09:02 | #4 |
Участник
|
Присоединюсь к предыдущим комментаторам, ИМХО, лучше создать новое поле в параметрах и выбирать там атрибут который вам нужен, мне кажется тут даже тема была "как правильно".
Ну и жёлтый цвет вообще не читается |
|
18.06.2019, 09:44 | #5 |
Banned
|
Цитата:
Сообщение от trud
Это же не очень правильно, ссылаться на аналитику по таблице. т.е. ничто ж не мешает завести CostCenter2, CostCenter3 с точно такой-же таблицей. По практике наиболее безопастный путь - это хардкодить это имя. Или пост о чем то другом
В догонку - https://denistrunin.com/xpptools-devfindim |
|
18.06.2019, 15:53 | #6 |
Moderator
|
Цитата:
Сообщение от EVGL
Заводить несколько видов центров затрат - это абсурд. Такое тоже видел на теперяшнем клиенте. Клиент больно укололся и теперь мучительно истребляет зоопарк индивидуальных для компаний центров затрат. Как обычно, исправлять тяжелее, чем сделать все сразу правильно, особенно в новых версиях, где на любой чих надо систему в maintenance mode вводить.
|
|
18.06.2019, 16:45 | #7 |
Banned
|
Ну да, "Цель". Такие как раз обычно custom делают, если хотят сгруппировать по видам номенклатур.
|
|
18.06.2019, 17:55 | #8 |
Moderator
|
Речь о том что аналитику "Цель" в подобной структуре тоже можно (и правильнее) привязывать к оргструктуре (точнее - цель и центр затрат должны к разным веткам оргструктуры быть привязаны). Потому что по хорошему, затраты привязываются не к самой номенклатуре или номенклатурной группе, а к начальникам продуктового и линейного отделов, которые эти траты согласовали. Так что две аналитики, привязаные к оргструктуре, иногда становяться неизбежны.
|
|
18.06.2019, 22:00 | #9 |
Banned
|
Ничто не запрещает это сделать для business unit, даже объединить их в одну оргструктуру. Соответствующая аналитика получает другой tableId, запрос преобразуется так:
where defaultDimensionView.BackingEntityType == getDimensionViewId(OMOperatingUnitType::OMBusinessUnit) |
|
|
|