Показать сообщение отдельно
Старый 29.03.2023, 19:46   #11  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от dech Посмотреть сообщение
Много, порядка сотни.
Через аксаптовские метки можно работать только с одним языком. Мы сделали решение - C#-функцию, позволяющую перевести текст метки на любой язык, указанный в параметре. Проблема в том, что эта функция работает медленно, и отчет вместо 5 секунд отрабатывает за 30. Сейчас как раз пытаемся это оптимизировать.
Вот собственно тормоза потому и происходят, что на уровне отчёта происходит дополнительная выборка данных. Тормоза происходят, как только SSRS начинаешь напрягать выборкой и расчетом данных. Это увы - правда жизни... Сам бы хотел, чтобы SSRS умел бы чуть больше. Но нет .
Поэтому для целей перевода и была организована (у меня) табличка с уже предрассчитанным значениями меток. Безусловно, у этого решения много минусов, но существенный плюс - оно работает также быстро, как и для одногоязычного отчёта.
Есть конечно еще один безумный вариант - на каждую надпись создавать свой енум и в отчете использовать Ax Enum Provider для вывода значения этого енума (=надписи) на нужном языке (но нужна предрассчитанная табличка SRSAnalysisEnums)

Вариант через XML передавать по сути перечень всех меток отчета на нужном языке - это вариант, но нужно тут засечь время на распарсивание этого XML внутри SSRS (ведь парситься будет каждая надпись)
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: dech (2).