96 DPI и терминальный доступ к Windows Server 2012

1. kipkoalex 17.01.19 23:43 Сейчас в теме
Добрый день.
Помогите пожалуйста решить проблему с установкой 96 DPI при терминальном доступе к 2012R2 серверу.
"Интеллектуальное измерение размера" ставил.
LogPixels в реестре на 60 ставил.
1С запускается с галочкой "Отключить масштабирование изображения при высоком разрешении экрана"
И все равно при открытии любой формы возникает сообщение "Разработку форм рекомендуется выполнять в разрешении 96 DPI".
По форуму находил фиксы для 2008 сервера.
Что ещё можно предпринять?
Платформа 8.3.8.1652
Windows Server 2012 R2 Standart, 64х разрядный.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. kipkoalex 18.01.19 11:14 Сейчас в теме
3. HolyRadiance 06.05.20 12:29 Сейчас в теме
Решена подобная проблема со следующими вводными параметрами.

1. В качестве терминального сервера Windows Server 2016 Standart 1607.
2. Клиент RDP подключается из Windows 10 LTSC.
3. У клиента разрешение 1920х1080. Текст увеличен до 150%.
4. Галочка "отключить масштабирование изображения при высоком разрешении экрана" на закладке "совместимость" ярлыка 1С на рабочем столе терминального сервера - отключена.
5. При выходе пользователя через кнопку "Пуск" сеанс не завершается, а лишь только отключается.
6. Если сеанс принудительно завершить администратором, или перезагрузкой сервера, то проблема снова появляется.

Порядок действий такой:

1. Сбросил масштабирование размера текста на своём рабочем столе до 100%.
2. Зашёл в новый (! не бывший отключенным ранее) сеанс RDP.
3. Вышел с отключением (!) сеанса.
4. Установил у себя масштабирование текста на 150%.
5. Подключился к серверу с автоматическим восстановлением ранее отключенного сеанса.
6. Запускаю 1С. Шрифты в 1С большие, хорошо читаемые. Формы никаких жалоб по поводу 96 dpi не выдают. Поля при их размещении на форме как неадекватные не прыгают.

Поиск в интернете говорит, что причина скачущих полей при редактировании форм в 1С с нерекомендуемыми dpi связанна с привязкой платформы к масштабированию определённого шрифта.
На самом деле, 1С проверяет метрики шрифта DEFAULT_GUI_FONT, который получает через функцию GetStockObject. В windows и wine это растровый MS Shell Dlg, который в реестре подменяется на векторный Microsoft Sans Serif.

Если шрифт MS Shell Dlg вместо Microsoft Sans Serif заменять на Tahoma, то ошибка воспроизводиться и в windows. Очевидно это баг в 1С - привязываться к метрикам конкретного шрифта Microsoft Sans Serif. Ведь MS Shell Dlg может заменять любой шрифт.

Эта проблема со шрифтом, как я понимаю, впервые была обнаружена на Unix.

В майском обновлении 2019 года Windows 10 1903 в диспетчере задач появилась новая колонка с указанием режима поддержки масштабирования dpi исполняемой в ОС программой.
4. agressor 123 28.11.20 12:26 Сейчас в теме
Можно решить вопрос батником который перед стартом 1с меняет разрешение 96 dpi, после закрытия 1С возвращает стандартные настройки с помощью nircmd, что то типа 1cv8_96DPI.cmd:

*echo off
nircmd.exe setdisplay 1366 768 32
Start /wait 1cv8.exe
nircmd.exe setdisplay 1920 1080 32
EXIT

что бы окно cmd было свернутым, запустить 1cv8_96DPI.cmd другим 1cv8.cmd:

*echo off
Start /min 1cv8_96DPI.cmd
EXIT

На рабочем столе разместить ярлык на 1cv8.cmd, при работе с обычными формами использовать данный ярлык.
Прикрепленные файлы:
96DPI.ZIP
user1194547; +1 Ответить
5. Apolonov-Erik 46 17.06.23 12:27 Сейчас в теме
Мне удалось после многочисленных танцов с бубном просто немного изменить местоположение реквизита на форме и сохранить ее на разрешении 96DPI. При этом границы привязки я не менял. После этого у всех пользователей стало все открываться как положено.
Сообщение тоже пропало после этого.
6. sokir 2 28.11.23 14:39 Сейчас в теме
Не знаю почему тут пишут про разрешение экрана.
Эта ошибка никак не зависит от разрешения - проверено 100 раз и не важно терминально или локально работаете.
Ошибка возникает всегда при изменении размера текста с рекомендуемых 100% на более высокий.
Собственно я всю жизнь работал на разных разрешениях, но всегда на 100% размере текста и таких сообщений не появлялось.
Теперь купил моник 2560х1440 27 дюймов, поставил его далеко (на расстоянии двух вытянутых рук) и понятное дело что шрифт стал маленький. Поэтому с рекомендуемых 100% выставил 125% и после этого формы заругались.
Единственное решение что я нашел это в свойствах ярлыка запуска 1С во вкладке совместимость поставить галку "Переопределите режим ..." и выбрать Система. Но при таком решении шрифт на формах и на боковой панели выглядит убого.

Может у кого есть нормальное решение?
maxchaos; user717534; +2 Ответить
7. user1880116 28.11.23 17:24 Сейчас в теме
(6)
купил моник 2560х1440 27 дюймов
Мироздание прямо открытым текстом тебе говорит - нечего смешивать работу и личную жизнь. Монитор fullhd в достойном состоянии на авито копейки стоит.
8. sokir 2 18.12.23 18:35 Сейчас в теме
(7) и куда мне ставить этот второй монитор?
И я не только 1С занимаюсь - фулхд явно мало.
9. sokir 2 20.12.23 12:00 Сейчас в теме
В общем, так понимаю, что нормального решения (из коробки) нет и не будет.
А всё потому что 1С забила на обычные формы (при этом конфигуратор то на обычных формах). Кучу "полезняшек" никому не нужных добавляет, а "устаревшие" формы сделать по человечески принципиально не будет. Потому что она так решила - это её стратегическое решение.
10. user1880116 20.12.23 13:15 Сейчас в теме
(9) Бросай этот 1С. Ты ж не только им занимаешься.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот