Сформировать порядковые подписи своих этапов

Учебные задачи

В строке задаются шесть категорий числительных; %1 подставляет число, L выбирает язык.

Где и как запускать

Своя процедура клиент / сервер; только собственные числа в памяти.

Подготовка

  1. Тело кнопки собственной формы или отдельной процедуры, клиент / сервер. Данные конфигурации, файлы и сеть не нужны.

  2. Это порядковые номера этапов, не количество товаров: по-русски 1-й этап, по-английски 1st step.

ШаблонRU = ";;;;;%1-й этап";
ШаблонEN = ";%1st step;%1nd step;%1rd step;;%1th step";
Для Номер = 1 По 13 Цикл
    ПодписьRU = СтрокаСЧислом(ШаблонRU, Номер, ВидЧисловогоЗначения.Порядковое, "L=ru;ЧГ=0");
    ПодписьEN = СтрокаСЧислом(ШаблонEN, Номер, ВидЧисловогоЗначения.Порядковое, "L=en;ЧГ=0");
    Сообщить(ПодписьRU + " / " + ПодписьEN);
КонецЦикла;

Разбор по шагам

  1. Задайте шесть форм для каждого языка.

  2. Передайте Порядковое третьим аргументом.

  3. Сравните окончания 1 / 2 / 3 и 11 / 12 / 13.

Как проверить результат

  1. Для английских 11 / 12 / 13 ожидается th, не st / nd / rd; для русского все значения используют последнюю форму.

  2. Метод не переводит произвольные предложения и не склоняет русский текст автоматически: нужные формы задаёт автор шаблона.

Ожидаемый результат

Перечисление управляет настоящим формированием коротких порядковых подписей.

На что обратить внимание

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.