среда, 3 января 2018 г.

Мультиязычность. Конструктор строк на разных языках

В случае проектирования мультиязычного прикладного решения, возникает необходимость формировать сообщения пользователям на том языке, что для данного пользователя определен. Для этого служит конструктор строк на разных языках, и функция НСтр().
Например, в конфигурации заданы языки русский и испанский, один из них может быть определен для пользователя:
Для того, чтобы выводить сообщение пользователю на нужном языке, в тексте модуля нужно вызвать конструктор:
И в его полях прописать соответствующие сообщения:
По кнопке Ок, платформа сгенерит текст на основании заданных вариантов языка:
"ru = 'Привет!'; sp = 'Hola amigo!'"
Далее останется включить этот текст в программный код:

***
Вопрос 04.24 экзамена 1С:Профессионал по платформе. Каким образом можно задать текст надписей для элементов управления на выбранном языке?
  1. В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку "Кнопка открытия". В появившемся окне "Строки на разных языках" ввести надпись
  2. Сменить язык редактирования конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)
  3. Нет правильного ответа
  4. Верны ответы 1 и 2
Правильный ответ четвертый. Можно задать для кнопки наименование на разных языках:
Для отдельных элементов управления можно задать наименование, переключив язык редактирования конфигурации в целом (Конфигурация -> Язык редактирования конфигурации):

***
Вопрос 04.25 экзамена 1С:Профессионал по платформе. Конструктор строк на разных языках может использоваться для...
  1. определения строковых представлений интерфейса на разных языках
  2. определения нескольких форматных строк под разные языки
  3. перевода данных базы на разные языки
  4. верно утверждение 1 и 2
  5. верны все утверждения
Правильный ответ четвертый - на сами данные базы конструктор не распростраяется.

***
Вопрос 04.26 экзамена 1С:Профессионал по платформе. Для открытия окна конструктора строк на разных языках необходимо...
  1. нажать кнопку открытия в палитре свойств элемента управления формы в свойстве Формат
  2. установить курсор в текст модуля и выбрать пункт "Текст – Конструктор строк на разных языках"
  3. находясь в палитре свойств элемента управления формы в свойстве Формат, выбрать пункт "Текст – Конструктор строк на разных языках"
  4. верно утверждение 1 и 2
Правильный ответ четвертый, разбор см.выше.

***
Вопрос 04.27 экзамена 1С:Профессионал по платформе. Количество языков для конструктора строк на разных языках...
  1. предопределено в платформе и неизменно
  2. задается настройками конфигуратора
  3. определяется в конфигурации и ограничено набором языков
  4. определяется в конфигурации и может расширяться программно
Правильный ответ четвертый. Языки редактирования конфигурации задаются в соответствующей ветке дерева объектов, см. пост Мультиязычность.

13 комментариев:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Вопрос 04.25 экзамена 1С:Профессионал по платформе. Конструктор строк на разных языках может использоваться для...

    определения строковых представлений интерфейса на разных языках
    определения нескольких форматных строк под разные языки



    Объясните, пожалуйста, как Конструктор строк на разных языках может использоваться для определения нескольких форматных строк под разные языки? И что под этим вообще подразумевается? Форматная строка и так определяется под конкретный язык, указанный в ней самой.

    ОтветитьУдалить
  3. Александр вопрос 4,25 ответ 4, проверенно на платных тестах

    ОтветитьУдалить
  4. halo amigos) по вопросу 4.26. Долго искал свойство Формат. Оказалось это про свойство ФорматРедактирования.

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
    2. А у меня нет свойства ФорматРедактирования у элемента типа Дата, зато есть свойство формат, но через него вызывается конструктор форматной строки. Поэтому я не понимаю с какого перепуга первый ответ тоже считается правильным.

      Удалить
    3. Свойство Формат - выводится для ПоляВвода в палитре свойств в ОФ, а в УФ для элемента формы связанного с реквизитом формы типа Дата - ФорматРедактирования. Но в любом случае открывается конструктор форматной строки, а не конструктор строк на разных языках.
      По-моему это тот случай когда надо зазубрить ответ для сдачи, хоть он и не верный.

      Удалить
  5. По 04.27 не понятно почему правильный 4й. По-моему 3й. Как можно расширить количество языков программно?
    Отвечаю сам себе: https://forum.infostart.ru/forum9/topic138177/ Но на мой взгляд это очередной вопрос из разряда "как бы нам завалить сдающего", в реальном коде никто так не делает.

    ОтветитьУдалить
  6. Подскажите пожалуйста, как включить отображение вкладки "Разделение данных", которое есть на 1м скрине

    ОтветитьУдалить
    Ответы
    1. не совсем понятен вопрос, но если вдруг вы все еще ждете ответа :) и я смогу помочь, то вот как открыть это окно: https://prnt.sc/JnEjU5wWcMXR
      на главном меню выбрать "Администрирование" -> "Пользователи" и откроется список пользователей. Там нажать на карандаш - "Изменить текущий элемент".

      Удалить
  7. Каким образом можно задать текст надписей для элементов формы на выбранном языке?
    В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку "Кнопка открытия". В появившемся окне "Строки на разных языках" ввести надпись
    Сменить язык редактирования конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)
    Нет правильного ответа
    Варианты 1 и 2

    Ответ - 4.Проверено 1с тренажер.

    ОтветитьУдалить