Глобальный контекст.ПолучитьКраткийЗаголовокПриложения

Методы · GetShortApplicationCaption

Получает краткий заголовок приложения, размещенный в заголовке окна приложения перед текстом системного заголовка.

Синтаксис

ПолучитьКраткийЗаголовокПриложения()
Полное описание, параметры и ограничения

Глобальный контекст.ПолучитьКраткийЗаголовокПриложения (Global context.GetShortApplicationCaption)

Глобальный контекст (Global context)

ПолучитьКраткийЗаголовокПриложения (GetShortApplicationCaption)

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

Рекомендуется использовать:

ПолучитьКраткийЗаголовок

Доступен, начиная с версии 8.2.

Синтаксис:
ПолучитьКраткийЗаголовокПриложения()
Возвращаемое значение:
Тип: Строка.

Описание:

Получает краткий заголовок приложения, размещенный в заголовке окна приложения перед текстом системного заголовка.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).

Примечание:
Недоступен в режиме запуска ОбычноеПриложение.
Использование в версии:

Доступен, начиная с версии 8.2.

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

Описание изменено в версии 8.3.10.

Методическая информация

Практические примеры

Отличить заголовки приложения и рабочую дату от текущего времени компьютера

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

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

В учебной управляемой форме создайте команду УчебныйПример и кнопку для неё. Назначьте обработчик действия УчебныйПример. Приведённую процедуру целиком вставьте в модуль формы. Не вставляйте её внутрь другой процедуры. Запустите форму в тонком или толстом клиенте Windows.

Подготовка

  1. Создайте отдельную учебную обработку с управляемой формой, командой УчебныйПример и кнопкой; назначьте действие одноимённой процедуре.

  2. Запускайте в режиме управляемого приложения: краткий заголовок недоступен в обычном приложении.

  3. Выводится информация текущего сеанса, не её фиксированный снимок из какой-либо вашей конфигурации.

&НаКлиенте
Процедура УчебныйПример(Команда)
    Сообщить("Заголовок клиентского приложения: " + ПолучитьЗаголовокКлиентскогоПриложения());
    Сообщить("Системный заголовок: " + ПолучитьЗаголовокСистемы());
    Сообщить("Краткий заголовок: " + ПолучитьКраткийЗаголовокПриложения());
    Сообщить("Используется рабочая дата: " + Строка(ИспользованиеРабочейДаты));
    Если ИспользованиеРабочейДаты Тогда
        Сообщить("Рабочая дата: " + Формат(РабочаяДата, "ДФ=dd.MM.yyyy"));
    Иначе
        Сообщить("Рабочая дата не используется; не подменяйте ею автоматически время обмена");
    КонецЕсли;
    Сообщить("Текущее клиентское время отдельно: " + Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd HH:mm:ss"));
КонецПроцедуры

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

  1. Три метода читают связанные, но не обязательно одинаковые заголовки приложения.

  2. ИспользованиеРабочейДаты сообщает, применяется ли рабочая дата пользователем.

  3. РабочаяДата читается только в ветке её использования. Это не системные часы.

  4. ТекущаяДата показывает клиентское текущее время отдельно: оно не подменяет дату бухгалтерского документа.

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

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

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

  2. При выключенной рабочей дате выводится пояснение; при включённой её значение показано отдельно от текущего времени.

  3. Заголовки окна и рабочая дата после команды не меняются.

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

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

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

  1. Рабочая дата не подходит автоматически для отметки времени HTTP-запроса или подписи токена.

  2. В клиент-серверной базе часы и часовые пояса клиента/сервера требуют отдельного согласованного решения.

  3. Заголовок окна не является техническим именем конфигурации или идентификатором базы.

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

Изменить legacy-краткий заголовок только своего клиента и восстановить действительное исходное значение

Отдельный полный модуль формыА сохраняет настоящие длинный и краткий заголовки своего клиента, временно задаёт учебную метку, подтверждает значения native-getter-ами и возвращает исходные значения без догадки о заголовке по умолчанию.

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

Полный модуль собственной управляемой общей формы УчебноеОкноА85: отдельная серверная функция без контекста возвращает имя конфигурации, UI выполняется в новом тонком клиенте УчебныеОкна85, платформа8.5.1.1343; legacy-совместимость с явным восстановлением.

Подготовка

  1. Создайте новую пустую конфигурацию УчебныеОкна85 на платформе8.5.1.1343; тонкий клиент, Управляемое приложение, Такси. Рабочую базу не переименовывайте. Общие реквизиты-разделители, расширения и чужие обработчики отсутствуют.

  2. Общие формы → УчебноеОкноА85, тип Управляемая. Основной код этого урока — весь модуль именно этой формы, включая отдельное серверное чтение имени конфигурации и клиентские действия. Не вставляйте сюда код менеджера тестов.

  3. Добавьте строковый реквизит МеткаСеанса и одноимённое поле только для просмотра. Команды ПодготовитьСвойСеанс, ПоказатьСвоеСообщение, ЗавершитьСвойСеанс имеют одноимённые клиентские действия и кнопки, ИзменяетСохраняемыеДанные=Ложь.

  4. Назначьте ПриОткрытии(Отказ) и ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка). Закрытие во время собственного изменения отклоняется до явного восстановления.

  5. Для открытия формы создайте свою общую команду ОткрытьУчебноеОкноА85, без параметра, с дополнительным модулем ниже и видимой кнопкой в единственной учебной подсистеме. Не открывайте второе окно этого урока параллельно.

  6. Нажмите F7 и обновите только этот стенд. runtimeVerifiedScenarios=0: здесь приложение и действия не запускались. Это legacy-совместимость, не рекомендация для нового прикладного кода.

  7. Откройте свою форму, запомните видимый текущий заголовок. Нажмите ПодготовитьСвойСеанс: метка берётся из реального нового UUID и проверяются настоящие значения заголовков.

  8. Нажмите ПоказатьСвоеСообщение для сообщения с той же действительной меткой. Затем ЗавершитьСвойСеанс возвращает исходные заголовки, после чего форму можно закрыть.

  9. Четыре legacy-функции не рекомендуются с8.3.10. Установленная справка рекомендует Установить/ПолучитьЗаголовок и Установить/ПолучитьКраткийЗаголовок соответствующего контекста. Не переносите краткий legacy-заголовок в Обычное приложение: там он недоступен.

Перем СвойСеансПодготовлен;
Перем ИсходныйЗаголовок;
Перем ИсходныйКраткийЗаголовок;

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ЭтотОбъект.АвтоЗаголовок = Ложь;
    ЭтотОбъект.Заголовок = "Учебное окноА85";
    СвойСеансПодготовлен = Ложь;
    МеткаСеанса = "";
КонецПроцедуры

&НаКлиенте
Процедура ПодготовитьСвойСеанс(Команда)
    Если СвойСеансПодготовлен Тогда
        ВызватьИсключение "Сначала восстановите свои исходные заголовки";
    КонецЕсли;
    ИсходныйЗаголовок = ПолучитьЗаголовокКлиентскогоПриложения();
    ИсходныйКраткийЗаголовок = ПолучитьКраткийЗаголовокПриложения();
    МеткаСеанса = "УчебныеОкна85-" + Строка(Новый УникальныйИдентификатор);
    СвойСеансПодготовлен = Истина;
    УстановитьЗаголовокКлиентскогоПриложения(МеткаСеанса);
    УстановитьКраткийЗаголовокПриложения("Учебный тест85");
    Если ПолучитьЗаголовокКлиентскогоПриложения() <> МеткаСеанса
        Или ПолучитьКраткийЗаголовокПриложения() <> "Учебный тест85" Тогда
        ВызватьИсключение "Legacy-заголовки своего клиента ещё не подтвердились";
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПоказатьСвоеСообщение(Команда)
    Если Не СвойСеансПодготовлен Или МеткаСеанса = "" Тогда
        ВызватьИсключение "Сначала подготовьте свой сеанс";
    КонецЕсли;
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Учебное сообщение85: " + МеткаСеанса;
    Сообщение.Сообщить();
КонецПроцедуры

&НаКлиенте
Процедура ЗавершитьСвойСеанс(Команда)
    Если Не СвойСеансПодготовлен Тогда
        Возврат;
    КонецЕсли;
    УстановитьКраткийЗаголовокПриложения(ИсходныйКраткийЗаголовок);
    УстановитьЗаголовокКлиентскогоПриложения(ИсходныйЗаголовок);
    Если ПолучитьКраткийЗаголовокПриложения() <> ИсходныйКраткийЗаголовок
        Или ПолучитьЗаголовокКлиентскогоПриложения() <> ИсходныйЗаголовок Тогда
        ВызватьИсключение "Исходные собственные заголовки ещё не восстановлены";
    КонецЕсли;
    СвойСеансПодготовлен = Ложь;
    МеткаСеанса = "";
КонецПроцедуры

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
    СтандартнаяОбработка = Истина;
    Если СвойСеансПодготовлен Тогда
        Отказ = Истина;
        ТекстПредупреждения = "Сначала восстановите собственные заголовки кнопкой ЗавершитьСвойСеанс";
    КонецЕсли;
КонецПроцедуры

ОткрытьУчебноеОкноА85

УчебныеОкна85 → Общие команды → ОткрытьУчебноеОкноА85 → Модуль

Полный модуль собственной общей команды без параметра в подготовленном учебном разделе: серверная функция читает имя конфигурации, клиент проверяет полученную строку и открывает свою общую форму.

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ОткрытьФорму("ОбщаяФорма.УчебноеОкноА85");
КонецПроцедуры

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

  1. Перед изменением вызываются действительные getters длинного и краткого заголовков собственного клиента; значения сохраняются в закрытых переменных этого единственного окна.

  2. Флаг собственного изменения выставляется до setters, поэтому исключение не забывает необходимость восстановления. Новый UUID — только локальная учебная метка заголовка, не идентификатор чужой службы.

  3. УстановитьКраткийЗаголовокПриложения получает обычную собственную строку Учебный тест85. Native-getter затем подтверждает именно заданную строку, а не предполагаемое оформление окна ОС.

  4. Системный полный заголовок окна может содержать дополнительные компоненты и разделители. Контроль getter-а краткого заголовка проверяет значение API, а не объявляет точное внешнее оформление одинаковым на всех клиентах.

  5. Завершение возвращает реальные сохранённые значения обоими setters и повторно проверяет getters. Флаг и метка очищаются только после подтверждения; при ошибке ручная повторная попытка сохраняет действительные исходные значения.

  6. ПередЗакрытием только отклоняет потерю незавершённого учебного изменения. Отдельная серверная функция при проверке формы и общей команды возвращает фактическое имя своей конфигурации; оно проверяется как строка на клиенте. Автоматического закрытия приложения, файлов и записи прикладных данных нет.

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

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

  2. После подготовки getter краткого заголовка должен вернуть Учебный тест85, а поле метки содержит фактический UUID этого опыта.

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

  4. При попытке закрыть форму до завершения закрытие отклоняется. После ЗавершитьСвойСеанс обе проверки исходных значений проходят и метка становится пустой.

  5. Текст сообщения содержит ту же метку и приходит от настоящего СообщениеПользователю. Наличие сообщения не означает запись объекта в базу.

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

В разрешённом ручном опыте краткий legacy-заголовок своего клиента изменён, native-getter подтвердил значение, затем оба действительных исходных заголовка восстановлены. Здесь этот runtime-результат не получен.

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

  1. УстановитьКраткийЗаголовокПриложения поддерживается в этой версии ради совместимости, но не рекомендуется с8.3.10; для новой разработки применяйте рекомендованный метод соответствующего клиентского контекста.

  2. Краткий заголовок недоступен в Обычное приложение. Даже широкая доступность отдельных вызовов в справке не делает этот клиентский визуальный опыт серверным или внешним соединением.

  3. Заголовок API и полный текст окна ОС — разные значения; платформа добавляет системный заголовок и разделитель. Не проверяйте внешнее окно сравнением только с краткой строкой.

  4. Сбой или принудительное завершение может потерять сохранённые значения памяти окна. Этот урок рассчитан на один новый собственный клиент и нормальное явное восстановление, не на production-управление заголовками всех сеансов.

  5. Runtime не проверялся, runtimeVerifiedScenarios=0. База, файлы, сеть, резервные копии и архивы не менялись.

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

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

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

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

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