При работе с типовыми конфигурациями (например, 1С:Управление торговлей 11) многие специалисты сталкиваются со странным поведением системы. Проанализируем типичную ситуацию: вы открываете форму списка номенклатуры, нажимаете «ЕЩЕ / Изменить форму», пытаетесь добавить новые поля на форму, но в окне выбора видите два абсолютно одинаковых дополнительных реквизита — например, две строки «ШИРИНА». При этом в самой карточке номенклатуры выводится только один.
Первое, что приходит в голову — почистить локальный кэш пользователя. Однако удаление базы из списка или чистка папок в AppData не дают никакого результата. Разберем по шагам, почему так происходит, где система на самом деле хранит настройки отображения и как грамотно устранить дублирование полей.
Существует распространенное заблуждение, что пользовательские настройки форм (видимость реквизитов, порядок колонок, ширина элементов, снятые или установленные галочки в меню «Изменить форму») хранятся на локальном компьютере пользователя в файлах кэша.
На самом деле это не так. Платформа 1С:Предприятие 8.3 хранит эти данные непосредственно внутри самой информационной базы. За их хранение отвечает специальный системный объект платформы — ХранилищеСистемныхНастроек. Именно поэтому очистка локального кэша компьютера (удаление временных файлов из папок Roaming\1C\1cv8 или Local\1C\1cv8) не помогает. При следующем входе в базу под тем же пользователем настройки заново считываются из внутренних таблиц базы данных и применяются к форме.
Посмотрим, какими способами можно действительно очистить настройки формы, если они сломались или вы хотите вернуть стандартный вид. Рассмотрим три основных варианта:
// Пример программной очистки настроек формы списка справочника "Номенклатура"
КлючОбъекта = "Справочник.Номенклатура.Форма.ФормаСписка";
КлючНастроек = ""; // Оставляем пустым для очистки основных настроек
ИмяПользователя = "ИвановИИ"; // Имя пользователя информационной базы
ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, КлючНастроек, ИмяПользователя);
Теперь выясним причину появления дублей в окне настройки формы. В конфигурациях, построенных на базе БСП (УТ, ERP, КА и др.), механизм дополнительных реквизитов устроен довольно гибко. В основе этого механизма лежит План видов характеристик ДополнительныеРеквизитыИСведения и справочник НаборыДополнительныхРеквизитовИСведений.
Задвоение свойства «ШИРИНА» при настройке формы происходит по следующим причинам:
УДАЛИТЬНоменклатура), в табличной части которого все еще числится дублирующийся параметр.Для платформы это два концептуально разных свойства, даже если они называются одинаково. Поэтому оба поля выводятся в дерево реквизитов для размещения на форме.
Проанализируем шаги, которые необходимо предпринять для устранения этой ошибки. Нам нужно навести порядок в справочниках и планах видов характеристик.
Как только физический дубль исчезнет из базы данных, он перестанет выводиться в окне изменения формы, и путаница с одинаковыми полями исчезнет навсегда.