Подготовить список часовых поясов для настройки обмена

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

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

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

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

Подготовка

  1. Работайте в отдельной учебной копии базы. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль урока и вызовите ВыполнитьПример() из серверного обработчика учебной команды.

  2. Код выполняется на сервере: часть функций локализации и часовых поясов недоступна непосредственно в тонком клиенте. Реквизиты пользователя, региональные настройки и часовые пояса код не меняет.

  3. Для двух уроков о метаданных используйте копию КА2 Progress: в исходном Languages/Русский.xml действительно есть язык Русский с КодЯзыка = ru. Остальные уроки не требуют объектов конкретной конфигурации.

Процедура ВыполнитьПример() Экспорт
    Пояса = ПолучитьДопустимыеЧасовыеПояса();
    Варианты = Новый СписокЗначений;
    Для Каждого Идентификатор Из Пояса Цикл
        Варианты.Добавить(Идентификатор, ПредставлениеЧасовогоПояса(Идентификатор));
    КонецЦикла;
    Сообщить(Варианты.Количество() = Пояса.Количество());
    Показано = 0;
    Для Каждого Вариант Из Варианты Цикл
        Если Показано = 3 Тогда
            Прервать;
        КонецЕсли;
        Сообщить(Строка(Вариант.Значение) + " — " + Вариант.Представление);
        Показано = Показано + 1;
    КонецЦикла;
    Сообщить("Всего поясов: " + Строка(Варианты.Количество()));
    Сообщить("Учебный фиксированный пояс: " + ПредставлениеЧасовогоПояса("GMT+3:30"));
КонецПроцедуры

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

  1. ПолучитьДопустимыеЧасовыеПояса возвращает массив строк. Строка-идентификатор становится значением выбора; локализованное наименование — его подписью.

  2. Первые три элемента нужны только для осмотра. Первый пояс не объявляется текущим, ближайшим или правильным для клиента.

  3. Кроме каталога платформа допускает формат GMT{+/-}h[h][:mm]. GMT+3:30 — постоянное учебное смещение; ему не приписываем законодательные правила конкретной страны.

  4. Пример только готовит список. Он не вызывает установку пояса сеанса, информационной базы или ОС.

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

  1. Равенство количеств — Истина; показано не более трёх реальных записей и представление фиксированного пояса.

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

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

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

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

  1. Не сохраняйте локализованное представление вместо идентификатора.

  2. Фиксированный GMT-пояс не заменяет именованный региональный пояс с историческими изменениями.

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

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

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

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

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