← На главную
В типовых конфигурациях 1С, таких как 1С:Управление торговлей 11, 1С:ERP и 1С:Комплексная автоматизация, пользователи нередко сталкиваются с ситуацией: дополнительный реквизит был переименован, однако в карточке вида номенклатуры на вкладках «Фильтр по свойствам» и «Настройки создания» он продолжает отображаться под старым именем. Если же взамен старого реквизита создается новый с аналогичным исходным именем, в интерфейсе появляются две одинаковые строки, что приводит к путанице при настройке фильтров и обязательности заполнения.
Разберем подробно причины такого поведения программы и рассмотрим практические способы решения проблемы с использованием типовых механизмов 1С.
Почему переименование не обновляет списки в виде номенклатуры
Проанализируем архитектуру хранения дополнительных реквизитов (подсистема «Свойства» библиотеки стандартных подсистем БСП):
- Разделение системных полей: у каждого дополнительного реквизита (элемента плана видов характеристик
ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения) есть реквизиты Заголовок, Наименование и Имя. При редактировании карточки реквизита в пользовательском режиме часто изменяется только поле Заголовок. Системное поле Наименование генерируется автоматически при первичном создании по шаблону и при последующей правке заголовка может не синхронизироваться автоматически.
- Фиксация данных в табличных частях: настройки на вкладках «Фильтр по свойствам» и «Настройки создания» хранятся непосредственно в табличных частях справочника
Справочник.ВидыНоменклатуры. При добавлении реквизита данные о нем записываются в строку табличной части и не пересчитываются динамически каждый раз при открытии формы.
Способ 1. Перепривязка реквизита в виде номенклатуры
Самый простой и быстрый способ обновить визуальное представление реквизита без использования административных обработок — перезаполнить настройку в карточке вида номенклатуры. Разберем этот процесс по шагам:
- Перейдем в раздел «НСИ и администрирование» → «Классификаторы номенклатуры» → «Виды номенклатуры».
- Откроем нужный вид номенклатуры.
- Перейдем на вкладку «Фильтр по свойствам» и снимем флаги видимости и отбора со старого реквизита (либо удалим строку с ним).
- Перейдем на вкладку «Настройки создания» и также очистим настройки для данного реквизита.
- На вкладке «Дополнительные реквизиты» удалим ошибочный реквизит и добавим актуальный.
- Нажмем кнопку «Записать».
- Вернемся на вкладки «Фильтр по свойствам» и «Настройки создания» и заново установим требуемые параметры отображения для нового реквизита.
- Запишем и закроем карточку вида номенклатуры.
Способ 2. Удаление старого реквизита и замена ссылок через удаление помеченных объектов
Если старый реквизит больше не требуется использовать в учете, но на него уже ссылаются позиции номенклатуры, применим типовой механизм замены ссылок при удалении:
- Откроем ошибочный дополнительный реквизит и установим на него пометку на удаление.
- Перейдем в раздел «НСИ и администрирование» → «Обслуживание» → «Удаление помеченных объектов».
- Выберем режим «Выборочное удаление», найдем помеченный дополнительный реквизит и нажмем «Удалить».
- Система выполнит проверку и выдаст сообщение о невозможности удаления объекта из-за наличия ссылок в справочнике
Номенклатура или настройках вида номенклатуры.
- В окне со списком неудаленных объектов выделим наш дополнительный реквизит и нажмем кнопку «Заменить...».
- В открывшемся окне укажем новый корректный дополнительный реквизит в качестве целевого объекта для замены.
- Если у старого реквизита были индивидуальные значения (справочник
ЗначенияСвойствОбъектов), выполним аналогичную замену для самих значений.
- Нажмем кнопку «Повторить удаление». Программа автоматически перенесет ссылки во всех позициях номенклатуры и удалит старый дубликат.
Способ 3. Использование типовой обработки «Поиск и удаление дублей»
В ситуациях, когда замену нужно выполнить централизованно без ручного сопоставления ссылок при удалении, воспользуемся обработкой «Поиск и удаление дублей»:
- Откроем «НСИ и администрирование» → «Обслуживание» → «Корректировка данных» → «Поиск и удаление дублей».
- В поле «Искать в:» выберем объект
Дополнительные реквизиты и сведения.
- Настроим правило отбора (например, по совпадению или частичному сходству наименования) и нажмем «Найти дубли».
- В списке найденных элементов укажем новый правильный реквизит как «Оригинал» (он будет отмечен стрелкой), а старый реквизит отметим как дубль.
- Нажмем кнопку «Объединить». Система автоматически заменит ссылки на старый реквизит во всех объектах конфигурации (включая табличные части видов номенклатуры и самой номенклатуры) и удалит лишний элемент.
Очистка пустых значений доп. реквизитов в номенклатуре
Рассмотрим случай, когда в базе применяются специализированные доработки, автоматически добавляющие пустые строки свойств в табличную часть ДополнительныеРеквизиты справочника Номенклатура:
- Для массовой очистки строк без прямого изменения кода используем обработку «Групповое изменение реквизитов» (раздел «НСИ и администрирование» → «Обслуживание» → «Корректировка данных»).
- В поле выбора элементов укажем справочник
Номенклатура и настроим отбор по нужному виду номенклатуры.
- В дополнительных параметрах обработки (кнопка «Дополнительные параметры») включим режим разработчика (редактирование служебных реквизитов и табличных частей).
- В списке реквизитов перейдем к табличной части «Дополнительные реквизиты» и очистим строки, где свойство соответствует устаревшему реквизиту.
- Выполним изменение выделенных элементов, после чего старый реквизит сможет быть удален стандартной процедурой контроля ссылочной целостности.