Как исправить проблему со схлопыванием ширины колонок в списках и таблицах 1С:Предприятие 8.3?

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

При работе в программах «1С:Предприятие 8.3» на управляемых формах (будь то «Управление торговлей 11», «ERP Управление предприятием», «Комплексная автоматизация» или «Зарплата и управление персоналом») пользователи часто сталкиваются с крайне неприятным поведением интерфейса. При попытке вручную растянуть или уменьшить ширину любой колонки в динамическом списке или табличной части она мгновенно «схлопывается» до минимального размера (шириной в один символ или вовсе исчезает с экрана). Попытки вернуть её в исходное состояние с помощью мыши ни к чему не приводят.

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

Почему происходит схлопывание колонок: технический анализ проблемы

Данное поведение интерфейса не связано с настройками конкретной конфигурации или ошибками в коде программистов вашей компании. Это классическая системная ошибка (баг) самой технологической платформы «1С:Предприятие 8». Наиболее массово эта проблема проявилась в ветке релизов 8.3.16 (в частности, на сборках 8.3.16.1148 и 8.3.16.1063).

В официальном баг-трекере фирмы 1С эта проблема зарегистрирована под несколькими взаимосвязанными кодами:

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

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

Решение 1. Сброс настроек формы до стандартных (быстрый способ для пользователя)

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

Выполним следующие шаги:

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

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

Решение 2. Обновление технологической платформы (единственное радикальное решение)

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

Проанализируем версии платформы, в которых этот баг устранен:

Для исправления проблемы системному администратору необходимо обновить платформу «1С:Предприятие» на сервере и всех клиентских рабочих станциях до актуального стабильного релиза.

Решение 3. Временный откат платформы на более ранний релиз

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

Решение 4. Очистка локального кэша пользователей

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

Чтобы исправить это, произведем очистку кэша. Разберем по шагам ручной способ очистки:

  1. Полностью завершите работу во всех сеансах 1С.
  2. Откройте проводник Windows и перейдите в папки локальных данных пользователя:
    • %userprofile%\AppData\Local\1C\1Cv8
    • %userprofile%\AppData\Roaming\1C\1Cv8
  3. Найдите внутри этих папок каталоги с длинными буквенно-цифровыми названиями (например, 8e2b8120-1b29-456d-b8d4...) и удалите их. Это временные файлы настроек и кэша конфигурации.
  4. Запустите 1С заново. Платформа перечитает метаданные и создаст новые чистые настройки отображения форм.

Решение 5. Копирование настроек между пользователями (для администратора)

Если у конкретного пользователя сбились индивидуальные настройки важной формы, а сброс к стандартным параметрам удаляет нужные ему пользовательские отборы, администратор может скопировать корректные настройки отображения от другого сотрудника, который не пострадал от данного бага.

Для этого в режиме «1С:Предприятие» выполним следующие действия:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Выберем пункт Копирование настроек.
  3. В поле «Копировать от» укажем пользователя с исправно работающим интерфейсом.
  4. В поле «Кому копировать» выберем сотрудника, у которого возникли проблемы со схлопыванием.
  5. В списке настроек выберем только ту форму, отображение которой было нарушено, и нажмем кнопку Скопировать.

Решение 6. Обходной путь для разработчиков (изменение свойств элементов формы)

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

Рассмотрим, как это сделать:

  1. Откройте нужную управляемую форму в конфигураторе.
  2. Найдите в дереве элементов формы проблемную таблицу и выберите колонку, которая сжимается при редактировании.
  3. В панели свойств этой колонки найдите параметр РастягиватьПоГоризонтали и установите его значение в Нет (вместо значения Авто).
  4. В свойстве Ширина жестко задайте фиксированное числовое значение ширины в символах (например, 15 или 20).
  5. Сохраните изменения в конфигурации или расширении.

Задав фиксированную ширину и отключив автоэластичность элемента формы, мы исключим срабатывание ошибочного системного алгоритма динамического пересчета размеров.

Решение 7. Скрытие неиспользуемых полей формы

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

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

← На главную