Как исправить проблему «черного треугольника» и невозможность редактирования номенклатуры после массовой загрузки в 1С

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

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

Выясняем причину: что означает черный треугольник?

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

Рассмотрим ситуацию, когда мы используем внешние обработки типа ЗагрузкаДанныхИзТабличногоДокумента_УФ_v2. Эти инструменты часто записывают данные в режиме ОбменДанными.Загрузка = Истина. В этом режиме программа отключает стандартные проверки и обработчики событий, которые обычно срабатывают при ручном вводе данных в форме (например, процедура ПриИзменении для поля ВидНоменклатуры). В результате в базу попадает «сырой» объект: поле Наименование заполнено, а скрытые технические параметры, жизненно важные для учета, остаются пустыми.

Какие реквизиты обычно «теряются» при загрузке?

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

  1. ВариантОформленияПродажи — определяет, как будет выглядеть документ продажи (реализация товаров или акт выполненных работ).
  2. ИспользованиеХарактеристик — логический флаг, указывающий системе, нужно ли искать характеристики для данного товара.
  3. ТипНоменклатуры — перечисление (Товар, Услуга, Работа), которое должно строго соответствовать настройкам в справочнике ВидыНоменклатуры.
  4. СтавкаНДС — если она не заполнена в карточке, система может блокировать запись, даже если ставка указана в «Виде номенклатуры».

Способ 1: Метод «перевыбора» вида номенклатуры (для малых объемов)

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

Однако, если у вас 114 тысяч позиций, как у автора вопроса, этот метод не подходит. Нам нужно автоматизированное решение.

Способ 2: Групповое изменение реквизитов через смену вида

Проанализируем более эффективный подход. Мы можем заставить систему принудительно обновить данные для всех позиций сразу. Для этого выполним следующие шаги:

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

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

Способ 3: Прямое заполнение служебных реквизитов (Рекомендуемый)

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

Разберем по шагам:

  1. Откроем Групповое изменение реквизитов.
  2. Нажмем кнопку Дополнительные параметры (или иконку шестеренки/настроек в зависимости от версии).
  3. Установим флажок Показывать служебные реквизиты.
  4. Теперь в основном списке доступных для изменения полей появятся технические параметры.
  5. Найдем в списке реквизит Вариант оформления продажи и установим ему значение (например, «Реализация товаров и услуг»).
  6. Найдем реквизит Использование характеристик и установим значение в соответствии с вашей учетной политикой (например, «Не использовать»).
  7. Нажмем Изменить реквизиты.

После завершения операции «черные треугольники» исчезнут из списка, так как все условия валидации объекта будут выполнены.

Как избежать проблемы в будущем?

Рассмотрим рекомендации по работе с загрузчиком ЗагрузкаДанныхИзТабличногоДокумента. Чтобы не тратить время на последующую обработку 100+ тысяч карточек, при настройке сопоставления колонок в загрузчике обязательно добавляйте следующие поля, даже если их нет в вашем исходном Excel-файле:

Для этих полей в загрузчике можно установить фиксированное значение:

  1. ВариантОформленияПродажи — укажите значение из перечисления.
  2. ИспользованиеХарактеристик — установите «Нет» или «Да».
  3. ТипНоменклатуры — выберите «Товар» или «Услуга».

В этом случае при записи объекта в базу через режим загрузки, эти поля уже будут заполнены, и система сразу признает карточку товара валидной.

Техническое резюме

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

← На главную