Как убрать или изменить курсы валют в заголовке окна 1С:Управление нашей фирмой 3.0

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет
← На главную

В типовой конфигурации 1С:Управление нашей фирмой (УНФ) редакции 3.0 в заголовке главного окна программы по умолчанию отображаются текущие курсы основных валют. Часто это выглядит как строка: Управление нашей фирмой, редакция 3.0 / CNY 13,37 / EUR+5% 110,33 / (1С:Предприятие). Для многих компаний такой формат избыточен или вводит сотрудников в заблуждение (особенно если используются расчетные курсы с наценкой). В этой статье мы подробно разберем, как управлять этим поведением системы — от простых настроек до программной корректировки через расширение.

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

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

  1. Перейдем в раздел Настройки.
  2. Выберем пункт Общие настройки.
  3. Найдем поле Заголовок программы.

Проанализируем ситуацию: если мы введем в это поле название своей организации, например, ООО "Ромашка", то заголовок примет вид: ООО "Ромашка" / Управление нашей фирмой, редакция 3.0 / [Курсы валют]. Как мы видим, стандартная настройка лишь добавляет текст в начало строки, но не скрывает системную информацию о конфигурации и курсах валют. Если поле оставить пустым, программа выводит значения по умолчанию.

Почему в заголовке появляются проценты (например, EUR+5%)

Выясним причину появления странных обозначений типа +5% или +10% рядом с валютой. Это не ошибка программы, а результат настройки справочника Валюты. Рассмотрим механизм их формирования:

Если в справочнике для конкретной валюты установлен способ установки курса Рассчитывать по формуле (например, EUR * 1.05), система автоматически интерпретирует это как наценку и выводит пояснение в заголовок. Чтобы изменить это отображение, необходимо зайти в карточку валюты и проверить формулу или изменить наименование/код валюты, так как алгоритм выбора валют для заголовка опирается на приоритет их кодов.

Программное решение: поиск «вкусненького» в коде

Если нам необходимо полностью убрать курсы или радикально изменить логику их вывода, нам придется обратиться к программному коду конфигурации. Проанализируем, где именно формируются эти данные. Ключевая логика сосредоточена в общем модуле, отвечающем за работу с валютами в УНФ.

Рассмотрим процедуру ПриДобавленииПараметровРаботыКлиентаПриЗапуске, которая находится в модуле ВалютыУНФ. Именно здесь система выполняет запрос к базе данных для получения курсов. Разберем фрагмент логики, который обнаружил автор темы:


// Внутри общего модуля ВалютыУНФ
Процедура ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры) Экспорт
    // ... логика формирования структуры параметров ...
    // Система делает запрос:
    // ВЫБРАТЬ ПЕРВЫЕ 3 КурсыВалютСрезПоследних 
    // ГДЕ Валюта <> &НациональнаяВалюта
    // ...
КонецПроцедуры

Программа выбирает первые три активные валюты (кроме валюты учета, обычно рубля) и помещает их в параметры клиента. Затем клиентское приложение при запуске вызывает метод ПриУстановкеЗаголовкаКлиентскогоПриложения в модуле ОбщегоНазначенияКлиентПереопределяемый, где эта строка окончательно собирается и выводится на экран.

Реализация изменения через расширение (рекомендуемый способ)

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

Создадим расширение и добавим в него процедуру-перехватчик. Нам нужно воздействовать на результат формирования заголовка. Оптимальнее всего использовать аннотацию &После для процедуры в переопределяемом модуле:


&После("ПриУстановкеЗаголовкаКлиентскогоПриложения")
Процедура Расш1_ПриУстановкеЗаголовкаКлиентскогоПриложения(ЗаголовокПлатформы)
    // Переменная ЗаголовокПлатформы уже содержит сформированную строку
    // Мы можем принудительно изменить её на ту, которую хотят пользователи
    УстановитьУстановитьЗаголовокКлиентскогоПриложения("Моя компания: Учет ведется успешно!");
КонецПроцедуры

Если же ваша задача — оставить стандартный заголовок «УНФ», но убрать только хвост с валютами, можно воспользоваться строковыми функциями для поиска разделителя / и обрезки лишнего текста. Однако помните, что структура заголовка может меняться в разных релизах платформы 1С:Предприятие.

Альтернативный метод управления через коды валют

Посмотрим на ситуацию под другим углом. Поскольку система выбирает ПЕРВЫЕ 3 валюты, мы можем повлиять на результат, не меняя код. В справочнике Валюты порядок выборки часто зависит от кода валюты (цифрового или символьного).

Если вы хотите, чтобы определенная валюта (например, тот самый EUR+10%) не попадала в заголовок, попробуйте изменить её код таким образом, чтобы она оказалась в конце списка (например, заменив код на яяя). В этом случае в заголовок попадут другие, более «приоритетные» по алфавиту валюты, у которых нет наценок в формулах.

«Костыльный» метод с использованием пробелов

Существует еще один способ, предложенный участниками сообщества, который не требует программирования, но является скорее хитростью. Если в поле Заголовок программы (в общих настройках) ввести очень длинную строку, состоящую из названия компании и огромного количества пробелов или невидимых символов, то блок с курсами валют просто «вытеснится» за пределы видимости окна или будет скрыт платформой из-за превышения длины заголовка.

Однако мы не рекомендуем этот метод для постоянного использования, так как в веб-клиенте или на мониторах с низким разрешением это может привести к непредсказуемому отображению интерфейса и неудобству навигации между окнами в панели задач Windows.

Итоги и рекомендации

Подведем итоги нашего разбора. Для изменения заголовка в УНФ 3.0 у нас есть три основных пути:

  1. Пользовательский: Заполнение названия организации в общих настройках. Частично меняет текст, но не скрывает валюты.
  2. Организационный: Настройка кодов в справочнике Валюты, чтобы «вытеснить» ненужные записи из первой тройки выборки.
  3. Профессиональный (через расширение): Перехват процедуры ПриУстановкеЗаголовкаКлиентскогоПриложения. Это самый гибкий метод, позволяющий установить любой текст заголовка или полностью скрыть блок валют, сохранив при этом возможность ведения учета в нескольких валютах.

Рекомендуется использовать именно расширение, так как это позволяет точечно решить задачу, не нарушая логику расчета самих курсов, которые могут быть необходимы для работы документов (заказов поставщикам, прайс-листов и т.д.), даже если они раздражают пользователей своим присутствием в заголовке окна.

← На главную