При переходе с устаревших конфигураций (например, 1С:Управление торговлей 10.3) на современные версии (УТ 11, ERP 2.5, КА 2.5) специалисты часто сталкиваются с визуальным дефектом: в карточке номенклатуры дополнительные реквизиты отображаются зачеркнутыми. Это создает впечатление, что данные помечены на удаление или загружены некорректно. На самом деле, это штатное поведение платформы 1С, сигнализирующее о логическом несоответствии структуры данных. Разберем подробно, почему так происходит и как привести базу в порядок.
В системе 1С:Предприятие 8 зачеркивание значения дополнительного реквизита в форме объекта (номенклатуры, контрагента и др.) означает, что данный реквизит является "лишним" для текущих настроек этого объекта. Проанализируем механику работы 1С:Управление торговлей 11. В этой конфигурации состав дополнительных свойств жестко привязан к справочнику ВидыНоменклатуры.
Когда мы открываем карточку товара, программа выполняет следующие действия:
ВидНоменклатуры назначен данному товару.НаборыДополнительныхРеквизитовИСведений, чтобы понять, какие именно свойства должны отображаться для этого вида.Если в базе данных для товара записано значение реквизита (например, "Цвет"), но в текущем Наборе, закрепленном за видом номенклатуры, этот реквизит отсутствует, система помечает его как "устаревший" и зачеркивает. Таким образом, программа сообщает пользователю: "У этого товара есть данные, которые не предусмотрены его текущими правилами (видом номенклатуры)".
Для исправления ситуации нам необходимо восстановить связь между загруженными реквизитами и видами номенклатуры. Рассмотрим, как это сделать правильно:
Шаг 1. Проверка наборов реквизитов
Перейдем в раздел Администрирование — Общие настройки — Дополнительные реквизиты и сведения. Откроем ссылку Дополнительные реквизиты. В левой части окна мы увидим дерево наборов. Нам нужно найти папку "Номенклатура" и в ней выбрать конкретный вид номенклатуры, у которого возникли проблемы.
Шаг 2. Добавление реквизита в набор
Если список реквизитов в выбранном наборе пуст или в нем отсутствуют те свойства, которые зачеркнуты в карточках товаров, их нужно добавить. Нажмем кнопку Добавить — Из существующих. В открывшемся списке нужно найти именно те свойства, которые были перенесены из старой базы. Как только вы добавите реквизит в состав набора и нажмете "Записать", зачеркивание в карточке номенклатуры исчезнет.
Шаг 3. Анализ дублей
Часто при переносе данных возникают дубли свойств. Например, в УТ 11 уже существовал предопределенный реквизит "Цвет (Общий)", а из УТ 10.3 загрузился еще один "Цвет". Проанализируем ситуацию: если в виде номенклатуры выбран один реквизит, а данные лежат в другом — они будут зачеркнуты. В этом случае необходимо либо перенести данные из одного реквизита в другой, либо добавить оба в набор, а затем провести очистку дублей.
Для программиста важно понимать, где физически хранятся эти данные. В УТ 11 дополнительные реквизиты хранятся в табличной части ДополнительныеРеквизиты самой номенклатуры. Посмотрим на пример кода, который позволяет увидеть, какие "скрытые" или "зачеркнутые" данные есть у объекта:
// Пример обхода дополнительных реквизитов объекта
Для Каждого СтрокаРеквизита Из ОбъектНоменклатура.ДополнительныеРеквизиты Цикл
Сообщить("Свойство: " + СтрокаРеквизита.Свойство + " | Значение: " + СтрокаРеквизита.Значение);
// Если свойство не входит в набор текущего вида номенклатуры,
// в форме оно будет отображаться зачеркнутым.
КонецЦикла;
Если после ручного добавления в набор реквизит всё равно остается зачеркнутым, проверим, не помечено ли на удаление само Значение этого реквизита. В УТ 11 значения дополнительных реквизитов (если это список) — это элементы справочника ЗначенияСвойствОбъектов. Если элемент помечен на удаление, платформа также может визуально выделять его как невалидный.
Разберем еще одну частую ситуацию, упомянутую в обсуждении. При переносе данных из УТ 10.3 структура видов номенклатуры могла измениться. В старой базе свойства могли быть общими для всей номенклатуры, а в новой базе создано несколько разных видов (например, "Обувь", "Одежда", "Аксессуары").
Проанализируем последствия: если товар "Кроссовки" попал в вид номенклатуры "Одежда", а реквизит "Размер обуви" добавлен только в набор для вида "Обувь", то в карточке кроссовок этот реквизит будет зачеркнут. Решение здесь — либо переместить товар в правильный вид номенклатуры, либо сделать реквизит общим для нескольких наборов.
Чтобы избежать зачеркивания в будущем при создании новых видов номенклатуры, мы можем настроить реквизит как общий:
Если товаров с зачеркнутыми реквизитами тысячи, а видов номенклатуры десятки, ручная правка наборов может занять много времени. Мы можем воспользоваться стандартной обработкой "Групповое изменение реквизитов". С её помощью можно массово заменить ВидНоменклатуры у товаров на корректный, либо, что более эффективно в данной ситуации, программно добавить необходимые свойства в справочник НаборыДополнительныхРеквизитовИСведений.
Посмотрим на логику, которую можно использовать в обработке для автоматизации процесса:
// Логика для исправления наборов
Набор = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Номенклатура (Вид: Электроника)");
ОбъектНабор = Набор.ПолучитьОбъект();
// Проверим, есть ли уже реквизит в наборе
НайденнаяСтрока = ОбъектНабор.ДополнительныеРеквизиты.Найти(НужноеСвойство, "Свойство");
Если НайденнаяСтрока = Неопределено Тогда
НоваяСтрока = ОбъектНабор.ДополнительныеРеквизиты.Добавить();
НоваяСтрока.Свойство = НужноеСвойство;
ОбъектНабор.Записать();
КонецЕсли;
Появление зачеркнутых реквизитов после миграции из УТ 10.3 в УТ 11 — это не ошибка загрузки данных, а рассинхронизация настроек метаданных. Данные (значения) в базе есть, но визуальный интерфейс не "разрешает" их отображать как актуальные, так как они не описаны в правилах конкретного вида номенклатуры.
Для исправления достаточно:
После выполнения этих действий зачеркивание исчезнет, а пользователи смогут редактировать и использовать эти данные в отчетах и при печати документов. Помните, что архитектура УТ 11 требует строгого порядка в справочнике видов номенклатуры, так как от него зависит не только состав свойств, но и счета учета, особенности налогообложения и логика ведения складского учета (серии, характеристики).