Почему закрывается календарь и глючит интерфейс в 1С после обновления платформы?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

Многие специалисты сталкиваются с ситуацией, когда после перехода на новые релизы платформы (особенно это коснулось веток 8.3.12 и 8.3.13) интерфейс программы начинает вести себя непредсказуемо. Одной из самых раздражающих проблем является невозможность выбора даты в календаре: как только пользователь наводит курсор на число, окно выбора мгновенно закрывается. Также часто наблюдаются проблемы с буфером обмена и отрисовкой форм в режиме «Такси».

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

Метод 1. Настройка имитации задержки вызова сервера

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

Проанализируем последовательность действий для изменения параметров клиентского приложения:

  1. Откроем 1С:Предприятие в пользовательском режиме.
  2. Перейдем в главное меню: Сервис — Параметры.
  3. В открывшемся окне найдем группу настроек, отвечающую за отладку и имитацию условий работы.
  4. Установим флаг в поле «Имитировать задержку вызова сервера».
  5. В поле «Задержка при вызове (с)» выставим минимальное значение, например, 0,01.
  6. Остальные параметры задержки (передача данных) оставим равными 0.

Этот метод позволяет платформе внести микроскопическую паузу в цикл обработки событий, что иногда предотвращает «схлопывание» календаря из-за слишком быстрой потери фокуса элементом формы.

Метод 2. Исправление проблем масштабирования (High DPI)

Выясним причину, связанную с системными настройками мониторов. В версиях 8.3.12 и выше разработчики 1С существенно переработали механизм поддержки высокого разрешения. Если в Windows установлено масштабирование 125%, 150% или выше, координаты курсора могут вычисляться платформой некорректно.

Рассмотрим по шагам, как переопределить настройки масштабирования для исполняемого файла 1С:

  1. Найдем ярлык, через который запускается 1С, или непосредственно файл 1cv8c.exe (тонкий клиент).
  2. Нажмем правую кнопку мыши и выберем «Свойства».
  3. Перейдем на вкладку «Совместимость».
  4. Нажмем кнопку «Изменить параметры высокого DPI».
  5. В появившемся окне установим галочку «Переопределите режим масштабирования высокого разрешения».
  6. В выпадающем списке выберем значение «Приложение». Это заставит Windows отдать управление отрисовкой самой платформе 1С, не пытаясь масштабировать ее элементы силами ОС.

После применения этих настроек перезагрузим приложение и проверим работу календаря. Часто именно этот метод решает проблему «прыгающего» интерфейса на современных ноутбуках и 4K-мониторах.

Метод 3. Проверка целостности базы и тестирование

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

Сначала воспользуемся утилитой для проверки физической целостности файлов (актуально для файловых баз):

  1. Завершим работу всех пользователей.
  2. Найдем в папке установки платформы (например, bin) файл chdbfl.exe.
  3. Запустим утилиту, укажем путь к файлу 1Cv8.1CD и установим флаг «Исправлять обнаруженные ошибки».

Затем выполним логическую проверку через Конфигуратор:

  1. Зайдем в режим Конфигуратора.
  2. Выберем меню Администрирование — Тестирование и исправление.
  3. Выберем пункты:
    • Реиндексация таблиц информационной базы;
    • Проверка логической целостности;
    • Проверка ссылочной целостности;
    • Пересчет итогов.
  4. Нажмем «Выполнить».

Для клиент-серверных баз рекомендуется также выполнить очистку процедурного кэша на сервере 1С и перезапуск службы Agent 1C:Enterprise.

Метод 4. Глубокая очистка кэша и настроек пользователя

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

Нам необходимо проанализировать содержимое следующих папок на компьютере пользователя:

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

Метод 5. Управление версиями платформы

Если ни один из перечисленных методов не помогает, стоит признать факт наличия критической ошибки в конкретном релизе платформы. В истории 1С ветки 8.3.12 и 8.3.13 считаются переходными, в них внедрялось много изменений в графическое ядро.

Рассмотрим варианты стратегии обновления:

  1. Откат на стабильную версию. Если конфигурация позволяет (например, режим совместимости не выше 8.3.10), можно вернуться на релиз 8.3.10.2732. Это наиболее стабильная версия для старых конфигураций УТ 11 и БП 3.0.
  2. Переход на более свежую ветку. Ошибки отрисовки, характерные для 8.3.13, во многом были исправлены в ветке 8.3.14 и выше (например, 8.3.14.1779). Если ваши типовые конфигурации требуют платформу не ниже 8.3.12, лучше пропустить «глючные» промежуточные релизы и ставить наиболее актуальный из рекомендованных для вашей конфигурации.

Посмотрим на пример того, как проверить текущий режим совместимости в Конфигураторе, чтобы понять, насколько глубоко мы можем «откатиться» по версии платформы:


// В Конфигураторе:
// 1. Правой кнопкой на корень конфигурации -> Открыть свойства
// 2. В самом низу ищем свойство "Режим совместимости"
// Если там указано "Версия 8.3.10", то платформа 8.3.12 и 8.3.13 
// будет работать в режиме эмуляции старых функций, что и вызывает конфликты.

Заключение

Проанализировав ситуацию, мы видим, что проблема с интерфейсом в 1С 8.3.12/13 носит комплексный характер. Для ее решения мы рекомендуем сначала проверить системные настройки масштабирования Windows, затем попробовать внутреннюю настройку имитации задержки сервера, и в случае неудачи — планировать переход на более стабильную ветку платформы (8.3.14+). Помните, что регулярное техническое обслуживание базы с помощью chdbfl.exe и очистка кэша являются обязательными процедурами при любых обновлениях системы.

← На главную