При работе в программах «1С:Предприятие 8.3» на управляемых формах (будь то «Управление торговлей 11», «ERP Управление предприятием», «Комплексная автоматизация» или «Зарплата и управление персоналом») пользователи часто сталкиваются с крайне неприятным поведением интерфейса. При попытке вручную растянуть или уменьшить ширину любой колонки в динамическом списке или табличной части она мгновенно «схлопывается» до минимального размера (шириной в один символ или вовсе исчезает с экрана). Попытки вернуть её в исходное состояние с помощью мыши ни к чему не приводят.
В этой статье мы подробно проанализируем ситуацию, выясним технические причины возникновения этой ошибки и разберем по шагам все возможные варианты решения проблемы — от простых пользовательских настроек до глобального исправления на уровне системы.
Данное поведение интерфейса не связано с настройками конкретной конфигурации или ошибками в коде программистов вашей компании. Это классическая системная ошибка (баг) самой технологической платформы «1С:Предприятие 8». Наиболее массово эта проблема проявилась в ветке релизов 8.3.16 (в частности, на сборках 8.3.16.1148 и 8.3.16.1063).
В официальном баг-трекере фирмы 1С эта проблема зарегистрирована под несколькими взаимосвязанными кодами:
8.3.16.1148, в котором предыдущее исправление сработало некорректно.Сбой активируется в тот момент, когда платформа пытается пересчитать геометрию управляемой формы «на лету». Если в таблице настроено условное оформление, объединение колонок в группы или закрепление колонок по краям экрана, алгоритм расчета размеров дает сбой, принудительно сбрасывая ширину изменяемого элемента до нуля.
Рассмотрим подробнее все доступные методы исправления данной ситуации, разделив их на экстренные (для обычных пользователей) и административные.
Если колонка уже схлопнулась и вам нужно срочно вернуть её видимость для продолжения работы, самым простым решением будет сброс персональных настроек отображения данной формы.
Выполним следующие шаги:
После выполнения этих действий таблица вернется к своему первоначальному виду, и скрытые колонки снова станут видимыми. Важно: этот способ является временным. Если пользователь снова попытается потянуть границу колонки мышкой, она с высокой долей вероятности схлопнется опять.
Поскольку проблема кроется непосредственно в ядре платформы, полностью избавиться от нее можно только путем установки релиза платформы, в котором данная ошибка была официально исправлена разработчиками фирмы 1С.
Проанализируем версии платформы, в которых этот баг устранен:
8.3.16.1224 и все последующие сервисные сборки (включая финальные версии этой ветки).8.3.17.1386 и выше.Для исправления проблемы системному администратору необходимо обновить платформу «1С:Предприятие» на сервере и всех клиентских рабочих станциях до актуального стабильного релиза.
Если по каким-то причинам оперативное обновление на самые свежие версии платформы невозможно (например, из-за требований совместимости других используемых конфигураций), рекомендуется временно откатить платформу на стабильный релиз, предшествующий появлению ошибки. Практика показывает, что использование стабильных сборок из ветки 8.3.15 или более ранних версий 8.3.16 (до релиза 8.3.16.1063) полностью решает проблему со сжатием табличных элементов.
Бывают ситуации, когда платформу уже обновили до исправленной версии (например, до 8.3.18), но у некоторых сотрудников колонки по-прежнему продолжают схлопываться. Это происходит из-за того, что некорректная геометрия форм записалась в локальный кэш пользователя на его компьютере.
Чтобы исправить это, произведем очистку кэша. Разберем по шагам ручной способ очистки:
%userprofile%\AppData\Local\1C\1Cv8%userprofile%\AppData\Roaming\1C\1Cv88e2b8120-1b29-456d-b8d4...) и удалите их. Это временные файлы настроек и кэша конфигурации.Если у конкретного пользователя сбились индивидуальные настройки важной формы, а сброс к стандартным параметрам удаляет нужные ему пользовательские отборы, администратор может скопировать корректные настройки отображения от другого сотрудника, который не пострадал от данного бага.
Для этого в режиме «1С:Предприятие» выполним следующие действия:
Если вы являетесь разработчиком или сопровождаете нетиповую конфигурацию (либо используете расширения), проблему можно локализовать непосредственно в конфигураторе, запретив системе автоматически рассчитывать ширину конкретной колонки.
Рассмотрим, как это сделать:
РастягиватьПоГоризонтали и установите его значение в Нет (вместо значения Авто).Ширина жестко задайте фиксированное числовое значение ширины в символах (например, 15 или 20).Задав фиксированную ширину и отключив автоэластичность элемента формы, мы исключим срабатывание ошибочного системного алгоритма динамического пересчета размеров.
Ещё один простой способ реанимировать форму без вмешательства в код — уменьшить плотность отображения данных. Ошибка часто проявляется, когда на экране выведено слишком много колонок одновременно и им банально не хватает места для корректного авторасчета.
Порекомендуйте пользователям через меню «Ещё» — «Изменить форму» снять галочки с тех полей таблицы, которые не требуются им для оперативной работы. Уменьшение количества колонок разгрузит интерфейсный движок платформы и вернет оставшимся полям возможность штатной регулировки ширины.