358 документов
← К списку

Запросы, динамические списки и отчеты на СКД: требования по локализации

страница

#std762

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. В некоторых случаях строковые литералы из текстов запросов также могут оказаться частью пользовательского интерфейса. В таких случаях строковые литералы необходимо выносить из текста запроса в параметры.

Неправильно:

ЗапросПоВерсиям = Новый Запрос(" |ВЫБРАТЬ |Версии.Ссылка, |ВЫБОР КОГДА Версии.Выпущена = ИСТИНА | ТОГДА ""выпущена"" | ИНАЧЕ ""в разработке"" |КОНЕЦ КАК ТекстПояснения | ИЗ | Справочник.Версии КАК Версии");

Также неправильно:

ТекстЗапроса = "ВЫБРАТЬ |Версии.Ссылка, |ВЫБОР КОГДА Версии.Выпущена = ИСТИНА | ТОГДА &ТекстВыпущеннойВерсии | ИНАЧЕ &ТекстНеВыпущеннойВерсии |КОНЕЦ КАК ТекстПояснения | ИЗ | Справочник.Версии КАК Версии");

ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстВыпущеннойВерсии", НСтр("ru='выпущена'")); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстНеВыпущеннойВерсии", НСтр("ru='в разработке'"));

Правильно:

ЗапросПоВерсиям = Новый Запрос(" |ВЫБРАТЬ |Версии.Ссылка, |ВЫБОР КОГДА Версии.Выпущена = ИСТИНА | ТОГДА &ТекстВыпущеннойВерсии | ИНАЧЕ &ТекстНеВыпущеннойВерсии |КОНЕЦ КАК ТекстПояснения | ИЗ | Справочник.Версии КАК Версии");

ЗапросПоВерсиям.УстановитьПараметр("ТекстВыпущеннойВерсии", НСтр("ru='выпущена'")); ЗапросПоВерсиям.УстановитьПараметр("ТекстНеВыпущеннойВерсии", НСтр("ru='в разработке'"));

2. Аналогичные требования предъявляются к выражениям СКД и запросам, которые используются в наборах данных СКД и содержат строковые литералы, выводимые в пользовательском интерфейсе. Например, если в выражении для параметров СКД встречаются строковые константы, требующие перевода, то следует:

а) в запросе указывать строковые константы, соответствующие "Правилам образования имен переменных" (""ЗавершитеСозданиеДокументов" КАК Рекомендация "), а в списке доступных значений поля указать локализуемый строковый литерал ("Завершите создание документов");

б) либо значение таких параметров с помощью функции НСтр устанавливать не в колонке Выражение, а в модуле отчета в обработчике события ПриКомпоновкеРезультата

Неправильно:

ВЫБОР КОГДА ВидОперации = "Отгрузка клиентам" ТОГДА 1 КОГДА ВидОперации = "Возвраты товаров от клиентов" ТОГДА 2 КОГДА ВидОперации = "Приемка от поставщиков" ТОГДА 3 КОНЕЦ

Правильно:

ВЫБОР КОГДА ВидОперации = &ВидОперацииОтгрузкаКлиентам ТОГДА 1 КОГДА ВидОперации = &ВидОперацииВозвратыТоваровОтКлиентов ТОГДА 2 КОГДА ВидОперации = &ВидОперацииПриемкаОтПоставщиков ТОГДА 3 КОНЕЦ

в) В выражениях, используемых в настройках СКД, например Выражение представления и Выражение упорядочивания на закладке Наборы данных, а также в других им подобных, необходимо использовать функцию НСтр, аналогично тому, как это делается в коде модулей (см. стандарт Интерфейсные тексты в коде: требования по локализации).

Неправильно:

Выбор Когда Объект = Раздел Тогда Выбор Когда Раздел = Значение(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка) Тогда "<Для всех разделов и объектов, кроме указанных>" Иначе "<Для всех объектов, кроме указанных>" Конец Иначе Объект Конец

Правильно:

Выбор Когда Объект = Раздел Тогда Выбор Когда Раздел = Значение(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка) Тогда НСтр("ru='<Для всех разделов и объектов, кроме указанных>'") Иначе НСтр("ru='<Для всех объектов, кроме указанных>'") Конец Иначе Объект Конец

3. Для колонок отчета на СКД для поля выборки, полученного вычислением с заданием ему псевдонима, необходимо задавать синоним при разработке. Нельзя опираться на автоматически сгенерированный заголовок по имени/псевдониму.

Неправильно:

Правильно:

В отчётах, если не стоит галочка у поля выборки, полученного вычислением с заданием ему псевдонима, оно не попадает в результаты поиска редактирования текстов интерфейсов.

4. Для заголовков отчетов СКД, полей, вычисляемых полей и параметров допустимо использовать параметры подстановки через функцию СтрШаблон: %1, %2 и т.д.; а также два варианта именованных параметров подстановки: [Параметр], %Параметр%. Имя параметра должно удовлетворять правилам образования имен переменных.

Такие параметры затем можно заменить в обработчике модуля отчета ПриКомпоновкеРезультата в тех случаях, когда заголовки отчета или его полей зависят от прикладной логики и вычисляются в коде.

  

См. также