Перейти к содержанию
#std762

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

1.

Если строковые литералы из текста запроса выводятся пользователю, не оставляйте их в тексте #!sdbl.

Передавайте такие значения через параметры запроса и задавайте через НСтр.

Неправильно

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

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

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

Правильно

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

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

Те же требования применяйте к выражениям СКД и запросам наборов данных СКД, если они формируют интерфейсный текст.

Пример локализации параметров СКД

  • Если значение параметра зависит от прикладной логики, задавайте его в модуле отчета в ПриКомпоновкеРезультата, а не в колонке Выражение.

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

Неправильно

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

Правильно

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

Правильно

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

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

Не используйте автоматически сгенерированный заголовок по имени или псевдониму.

Неправильно

Автосгенерированный заголовок

Правильно

Явно заданный синоним

Если не установить синоним, такие поля хуже обнаруживаются при поиске интерфейсных текстов.

4.

В заголовках отчетов СКД, полей, вычисляемых полей и параметров допускаются параметры подстановки СтрШаблон:

  • %1, %2 и т.д.;
  • [Параметр];
  • %Параметр%.

Имя параметра должно соответствовать правилам #std454: Правила образования имен переменных.

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

#acc:320 #acc:462 #acc:463 #acc:465 #acc:491 #acc:1297 #acc:1298 #acc:1299 #acc:1300 #acc:1354

Источник

https://its.1c.ru/db/v8std#content:762