Как восстановить и настроить порядок дополнительных реквизитов после обновления 1С?

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

При обновлении конфигураций 1С, в том числе «1С:Бухгалтерии предприятия», пользователи нередко сталкиваются с ситуацией, когда привычное расположение дополнительных реквизитов в карточках справочников или документов сбивается. Поля меняются местами, выстраиваются по алфавиту либо возвращаются к исходным системным настройкам. Выясним причину такого поведения платформы и подробно разберем по шагам все способы решения этой задачи — от базовой настройки в интерфейсе до программного кода.

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

Проанализируем ситуацию, чтобы понять механизм возникновения проблемы. В типовых конфигурациях на базе «Библиотеки стандартных подсистем» (БСП) дополнительные свойства не являются частью жесткой структуры метаданных конкретного справочника. Они формируются динамически при открытии формы объекта программным кодом подсистемы «Свойства».

Очередность вывода реквизитов может нарушаться по следующим причинам:

  1. Работа фоновых процедур обновления: при установке нового релиза запускаются регламентные обработчики обновления информационной базы. Если в обновлении затрагивались механизмы БСП или типовые предопределенные наборы, данные справочника Справочник.НаборыДополнительныхРеквизитовИСведений могут быть перезаписаны в значения по умолчанию.
  2. Сброс персональных настроек форм: если пользователь ранее настраивал расположение элементов через стандартное меню формы, обновление структуры метаданных приводит к сбросу сохраненных настроек в системном хранилище (ХранилищеСистемныхНастроек).
  3. Кэширование данных: динамические формы могут отображаться некорректно из-за устаревшего локального кэша платформы 1С:Предприятие на клиентском компьютере.

Способ 1. Штатная настройка порядка в наборе свойств (для всех пользователей)

Рассмотрим основной и самый правильный способ, который позволяет задать единый порядок полей для всех пользователей информационной базы без написания кода. Порядок вывода реквизитов на форме напрямую определяется позицией строк в табличной части соответствующего набора.

Разберем по шагам процесс настройки:

  1. Перейдем в раздел Администрирование, затем откроем Общие настройки и развернем блок Дополнительные реквизиты и сведения.
  2. Нажмем на гиперссылку Дополнительные реквизиты (также открыть этот список можно напрямую из карточки элемента справочника через команду Еще — Изменить состав дополнительных реквизитов).
  3. В левой части окна выберем нужный справочник или документ, в котором нарушился порядок отображения.
  4. В правой табличной части выделим реквизит, позицию которого необходимо изменить.
  5. Используя стрелки Вверх (или комбинацию клавиш Ctrl + Shift + Вверх) и Вниз (Ctrl + Shift + Вниз) на панели управления, переместим реквизит на требуемую позицию.
  6. Повторим действие для остальных свойств и закроем форму настройки.

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

Обратите внимание: если информационная база работает в режиме распределенной информационной базы (РИБ), настройку порядка в наборах дополнительных реквизитов следует выполнять строго в центральном узле, после чего передавать изменения в периферийные базы через очередной сеанс синхронизации данных.

Способ 2. Индивидуальная настройка формы (на уровне текущего пользователя)

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

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

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

Способ 3. Программное изменение порядка строк

Рассмотрим вариант, упомянутый во втором сообщении форума: программное управление позициями реквизитов. Это актуально, когда реквизитов много и вручную перемещать их долго либо когда требуется автоматизировать процесс в рамках внешней обработки.

Важно учитывать особенность платформы 1С:Предприятие 8: у объекта ТабличнаяЧасть отсутствует метод Переместить(). Для изменения положения строк в коллекциях табличных частей платформой предусмотрен метод Сдвинуть().

Посмотрим на пример кода внешней обработки, с помощью которого можно изменить позицию реквизита в табличной части набора:


// Получаем ссылку на набор дополнительных реквизитов нужного справочника
СсылкаНаНабор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура;

НаборОбъект = СсылкаНаНабор.ПолучитьОбъект();
ТабличнаяЧасть = НаборОбъект.ДополнительныеРеквизиты;

// Найдем строку нужного реквизита по ссылке на свойство
СтрокаРеквизита = ТабличнаяЧасть.Найти(НужноеСвойство, "Свойство");

Если СтрокаРеквизита <> Неопределено Тогда
    ИндексСтроки = ТабличнаяЧасть.Индекс(СтрокаРеквизита);
    
    // Сдвигаем реквизит вверх на 2 позиции (отрицательное смещение)
    // Либо вниз (положительное смещение)
    ТабличнаяЧасть.Сдвинуть(ИндексСтроки, -2);
    
    НаборОбъект.Записать();
КонецЕсли;

Метод Сдвинуть() принимает два параметра: индекс строки (или саму строку) и числовое смещение. После завершения манипуляций обязательно вызываем метод Записать(), чтобы зафиксировать изменения в базе данных.

Что делать, если порядок настроен, но поля не меняются?

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

  1. Закроем программу «1С:Предприятие».
  2. Очистим временные файлы в каталогах пользователя: %LocalAppData%\1C\1cv8 и %AppData%\1C\1cv8 (удаляем папки с длинными буквенно-цифровыми идентификаторами).
  3. Запустим программу повторно и откроем проверяемый справочник.

Таким образом, мы рассмотрели все аспекты работы с последовательностью дополнительных свойств: выяснили причину сбоя при обновлении и разобрали как визуальные, так и программные методы упорядочивания реквизитов.

← На главную