Перевод заголовков экспресс-отчётов

Заголовок экспресс-отчёта может поддерживать несколько языков пользовательского интерфейса, например, русский и английский. Подобные заголовки называются мультиязычными.

Для получения подробной информации о настройке заголовка экспресс-отчёта обратитесь к разделу «Настройка заголовка как интерактивного элемента управления».

Примечание. Использование мультиязычных заголовков доступно с помощью языка Fore. Если заголовок является мультиязычным, то настройка заголовка выполняется для текущего языка репозитория.

Для перевода заголовка экспресс-отчёта на другие языки:

  1. Откройте инструмент «Аналитические запросы (OLAP)».

  2. Выберите режим отображения заголовка в раскрывающемся меню кнопки «Заголовок» на вкладке «Главная» или «Вид» ленты инструментов экспресс-отчёта.

  3. Создайте в навигаторе объект «Ресурсы» с идентификатором RESOURCE, в котором будет содержаться перевод заголовка, например:

  1. Выполните модуль для использования мультиязычного заголовка в экспресс-отчёте.

Для выполнения модуля предполагается наличие в репозитории экспресс-отчёта с идентификатором EXPRESS и ресурса с идентификатором RESOURCE.

Добавьте ссылки на системные сборки: Metabase, Express, IO (ForeIO для примера на Fore.NET).

Sub UserProc;
Var
    MB: IMetabase;
    Resource: IResourceObject;
    Object: IMetabaseObject;
    Express: IEaxAnalyzer;
Begin
    MB := MetabaseClass.Active;
    
// Получим ресурс с переводом заголовка
    Resource := MB.ItemById("EXPRESS").Bind As IResourceObject;
    
// Получим экспресс-отчёт
    Object := MB.ItemById("RESOURCE").Edit;
    Express := Object 
As IEaxAnalyzer;
    
// Зададим ресурс для экспресс-отчёта
    Express.Resources := Resource;
    
// Разрешим использование мультиязычного заголовка
    Express.SupportMultiLanguage := True;
    // Сохраним изменения
    Object.Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeIO;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Resource: IResourceObject;
    Object: IMetabaseObject;
    Express: IEaxAnalyzer;
Begin
    MB := Params.Metabase;
    
// Получим ресурс с переводом заголовка
    Resource := MB.ItemById["EXPRESS"].Bind() As IResourceObject;
    
// Получим экспресс-отчёт
    Object := MB.ItemById["RESOURCE"].Edit();
    Express := Object 
As IEaxAnalyzer;
    
// Зададим ресурс для экспресс-отчёта
    Express.Resources := Resource;
    
// Разрешим использование мультиязычного заголовка
    Express.SupportMultiLanguage := True;
    // Сохраним изменения
    Object.Save();
End Sub;

После выполнения действий при изменении языка репозитория для текущего пользователя на заданный язык перевода в экспресс-отчёте будет отображаться мультиязычный заголовок в соответствии с переводом в ресурсах.

См. также:

Настройка мультиязычности | Перевод в ресурсах