При обновлении технологической платформы 1С:Предприятие 8.3 до релизов 8.3.15 (например, 8.3.15.1830, 8.3.15.1869 и более свежих) многие пользователи и разработчики сталкиваются с неприятным визуальным багом. В режиме отображения окон "Формы в закладках" элементы интерфейса начинают вести себя некорректно: колонки табличных частей становятся неестественно широкими, поля ввода "улетают в космос" за пределы экрана, появляется бесконечная горизонтальная полоса прокрутки, а сама верстка выглядит абсолютно нечитаемой. При этом в современном интерфейсе "Такси" те же самые формы отображаются абсолютно нормально.
В рамках этой статьи мы подробно проанализируем причины возникновения данной проблемы, рассмотрим быстрые способы её локального устранения для пользователей, разберем технические методы исправления форм в конфигураторе для разработчиков, а также обсудим единственное фундаментальное решение, которое позволит навсегда забыть об этой ошибке.
Для того чтобы эффективно бороться с проблемой, необходимо понять физику процесса. Начиная с версии платформы 8.3.15, разработчики фирмы 1С существенно переработали внутренний движок компоновки и отрисовки управляемых форм. Основной целью этих изменений было улучшение юзабилити, адаптивности и внешнего вида интерфейса. Однако вся эта оптимизация проектировалась, разрабатывалась и тестировалась исключительно под актуальный интерфейс "Такси".
Рассмотрим ключевые факторы, которые приводят к искажению форм в режиме закладок:
АвтоМаксимальнаяШирина или РастягиватьПоГоризонтали, движок платформы в режиме закладок не может корректно определить границы родительского контейнера. В результате элементы растягиваются до максимально возможных теоретических размеров.Если у вас нет доступа к конфигуратору или вы используете полностью типовую конфигурацию на замке, попробуем исправить отображение локальными методами на рабочем месте пользователя.
Часто платформа "запоминает" некорректное состояние ширины колонок. Чтобы заставить систему пересчитать геометрию заново, выполним следующие действия:
В некоторых случаях помогает принудительный сброс параметров позиционирования окна через главное меню. Для этого перейдем в главное меню системы 1С, выберем раздел "Окна" и нажмем команду "Восстановить положение окон". Это сбросит кэшированные размеры для всех открытых в данный момент форм.
Если обычная чистка временных файлов (папок Local и Roaming) не помогла, рекомендуется выполнить полный сброс настроек конкретного пользователя. Для этого удалим базу данных из списка запуска стартера 1С, закроем стартер, снова откроем его и добавим базу заново. Это гарантированно очистит идентификаторы информационной базы и связанные с ними сохраненные настройки интерфейса в файлах v8sp.vrd и кэше пользователя.
Если вы занимаетесь поддержкой нетиповой или доработанной конфигурации, вы можете внести точечные изменения непосредственно в структуру проблемных управляемых форм. Рассмотрим два проверенных способа.
Этот классический прием позволяет удержать значащие колонки таблицы в рамках их естественной ширины. Проанализируем этот метод по шагам:
Номенклатура, Количество, Цена, Сумма) жестко установим свойство Ширина в символах.Нет) для свойства РастягиватьПоГоризонтали.ПустаяКолонка. Для нее не задаем текст заголовка и связываемые данные.РастягиватьПоГоризонтали в значение Да.При таком подходе платформа сожмет все информационные колонки до их фиксированной ширины, а всё оставшееся "лишнее" пространство экрана отдаст пустой фиктивной колонке в конце таблицы. В результате визуальная верстка останется аккуратной.
Если на форме разъезжаются обычные поля ввода (например, длинные текстовые поля или поля ссылочного типа в шапке документа), выполним следующие настройки:
АвтоМаксимальнаяШирина и снимем с него флаг (переведем в значение Ложь).МаксимальнаяШирина вручную укажем разумное ограничение (например, 30 или 40 символов в зависимости от типа данных).Группировка. Если установлена группировка Горизонтальная, рекомендуется ограничить ширину самой группы или в явном виде управлять растяжением подчиненных элементов.Необходимо открыто признать тот факт, что интерфейс "Формы в закладках" является морально устаревшим. Фирма 1С планомерно отказывается от его поддержки, ориентируя все новые механизмы платформы исключительно на интерфейс "Такси". Любые ручные доработки и "костыли" в конфигураторе под старый интерфейс с высокой долей вероятности будут ломаться при последующих обновлениях платформы.
Основным аргументом пользователей (особенно бухгалтеров) против перехода на интерфейс "Такси" является так называемая "гигантомания" — огромные шрифты, избыточные пустые поля и "слоновьи" отступы между элементами, из-за которых на экране помещается в два раза меньше информации, чем раньше.
К счастью, разработчики платформы предусмотрели это и создали специальный режим отображения. Разберем по шагам, как перевести пользователя на современный интерфейс без потери полезной площади экрана:
Параметры).Что нам дает компактный режим? Он уменьшает размер шрифтов интерфейса, сокращает до минимума отступы между полями, строками таблиц и кнопками. Плотность информации на экране становится точно такой же (а в некоторых случаях даже выше), как и в старом интерфейсе "в закладках". При этом полностью исчезают проблемы с бесконечным растягиванием полей ввода, некорректной горизонтальной прокруткой и неверным масштабированием при DPI, отличном от 100%. Перевод пользователей на "Такси" с компактным масштабом — это единственный способ обеспечить стабильную и комфортную работу в современных конфигурациях 1С.