AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2015, 12:20   #1  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Зачем server в RAssetParameters::find() ?
При очередной попытке уменьшить тормоза обратил внимание, что в российских модулях (я смотрел только ОС и подотчетные лица) на таблице параметров RAssetParameters и EmplParameters_RU метод find (и не только) указан выполнение на АОС. Вопрос чем руководствовались наши разработчики? Зачем это?
find массово выполняться на клиенте на форме, и к чему эти лишние транспортные затраты клиент - аос? Затраты на порядок выше! Что там такого в этом методе чтобы тащить вынужденно выполнение на сервер? По моему бред.
В других таблицах параметров (не российского производства) подобного не делают.
Я вообще на четвертой версии, но смотрю в 2009 тоже самое.
За это сообщение автора поблагодарили: AnGor (1).
Старый 14.10.2015, 12:23   #2  
Napalm is offline
Napalm
Участник
 
80 / 88 (3) ++++
Регистрация: 23.05.2012
Старый 14.10.2015, 13:39   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Не вижу смысла так писать. Отрубается вся выгода от кеширования на клиенте.
Старый 14.10.2015, 16:55   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Не то, чтобы это было правильно, но именно в отношении настроек подотчетных лиц и ОС - не критично.

По перекрестным ссылкам видно, что EmplParameters_RU::find() вызывается или в расчетных методах, или при открытии форм. Для RAssetParameters::find() - несколько хуже. Есть вызовы в дисплейных методах форм, но таких форм одна или две

Т.е., видимо, разработчики исходили из предположения, что на клиенте эти таблицы используются чрезвычайно редко. Или какой-то расчет оптимизировали... Хотя, согласен, зря они это сделали

По поводу подотчетных лиц

X++:
public server static client EmplParameters_RU find(boolean _update = false)

В определении есть и server, и client. Просто эти слова разделены словом static
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...

Последний раз редактировалось Владимир Максимов; 14.10.2015 в 16:58.
Старый 14.10.2015, 19:11   #5  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Не то, чтобы это было правильно, но именно в отношении настроек подотчетных лиц и ОС - не критично.

Т.е., видимо, разработчики исходили из предположения, что на клиенте эти таблицы используются чрезвычайно редко. Или какой-то расчет оптимизировали... Хотя, согласен, зря они это сделали

По поводу подотчетных лиц

X++:
public server static client EmplParameters_RU find(boolean _update = false)

В определении есть и server, и client. Просто эти слова разделены словом static
согласен что в целом не критично. Модулем ОС пользуемся не первый год и живем пока. Просто сам наткнулся на форме проводок ОС тупит прорисовка больше чем надо. Я к тому что даже если закладываться на то что этот метод будет только в расчетах запускаемых на АОС выполняться, то все ровно не вижу смысла писать server.
Про find из EmplParameters_RU пардон проглядел) И кста частенько вижу у методов указание client server. В чем фича так писать? я всегда считал что это значит как если бы не писать ни того ни другого.
Старый 14.10.2015, 21:28   #6  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Perc Посмотреть сообщение
И кста частенько вижу у методов указание client server ... я всегда считал что это значит как если бы не писать ни того ни другого.
И это действительно так. Просто такой подход - прямо описывать то, что подразумевается. Из той же оперы модификатор видимости public. Все знают, что он В X++ по умолчанию, но очень многие его указывают (особенно те, кто либо пришел с других языков, либо параллельно работает с другими языками).
В общем, такое уважение к тем, кто будет смотреть метод (включая себя через некоторое время): "ребята", вот для вас прямая подсказка.
А насчет RAssetParameters::find, конечно зря указано прямо место выполнения. Но тут проблема даже не в самом методе, а в его применении в формах. Вместо вызова его один раз в init и запоминания, дергается в куче мест формы (включая дисплейные методы датасорса).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
emeadaxsupport: AX Content: Help Server update for AX2012 R3 is available, easier to find and install Blog bot DAX Blogs 0 03.02.2015 00:11
dynamicsaxbi: Better together: Microsoft Dynamics AX 2012 R2 and SQL Server Power View Blog bot DAX Blogs 0 12.12.2012 13:11
chrisfie: Project Server 2007 TechNet Webcasts recordings and decks Blog bot DAX Blogs 0 21.07.2009 10:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:42.