В процессе работы с 1С:Управление торговлей 11 (УТ 11) часто возникает ситуация, когда характеристика была ошибочно заведена не для того товара или когда требуется реструктуризация каталога. На первый взгляд кажется, что достаточно просто нажать одну кнопку и сменить Владельца у характеристики в справочнике. Однако за внешней простотой скрываются серьезные архитектурные риски. Рассмотрим подробнее, почему прямая перепривязка опасна и как выполнить эту задачу правильно, сохранив целостность данных, остатки и цены.
Давайте проанализируем ситуацию с точки зрения архитектуры базы данных 1С. Характеристики в УТ 11 — это подчиненный справочник. Поле Владелец связывает конкретную характеристику с карточкой Номенклатура. Казалось бы, программная смена этого поля решит проблему, но это не так. Разберем основные причины:
ЗапасыНаСкладах, ВыручкаИСебестоимостьПродаж или СебестоимостьТоваров, измерения Номенклатура и Характеристика хранятся в отдельных полях. Если вы измените владельца в справочнике, записи в регистрах за прошлые периоды останутся неизменными. В них по-прежнему будет значиться связка «Старый товар + Старая характеристика». При попытке сформировать отчет по остаткам или валовой прибыли система может выдать некорректные данные, так как связь между объектами в справочнике больше не соответствует связям в движениях документов.Чтобы избежать описанных выше проблем, необходимо использовать методику «создание новой характеристики + перенос остатков». Разберем этот процесс по шагам.
Перед началом работ необходимо четко зафиксировать текущее состояние дел по переносимой характеристике. Нам нужно знать:
Для целевого товара (куда мы переносим данные) необходимо создать новую карточку характеристики. Важно понимать, что даже если название (например, «Размер 42, Цвет Красный») совпадает, это должен быть новый элемент справочника ХарактеристикиНоменклатуры с новым уникальным идентификатором (GUID).
Это самый важный этап, который гарантирует чистоту учета. Мы должны физически списать остаток со старой аналитики и оприходовать на новую. Проанализируем два способа реализации этого шага:
Способ А: Через складские акты.
Используем связку документов СписаниеНедостачТоваров и ПрочееОприходованиеТоваров. В первом документе указываем старый товар и старую характеристику, во втором — новый товар и новую характеристику. В качестве статьи доходов/расходов лучше использовать техническую статью с типом «Активы/Пассивы», чтобы эта операция не повлияла на финансовый результат (прибыль/убыток).
Способ Б: Через документ «Сборка (разборка) товаров».
Этот метод считается более элегантным. Мы создаем документ СборкаТоваров с операцией «Разборка». В качестве разбираемого товара указываем «Старый товар + Характеристика», а в табличную часть «Комплектующие» добавляем «Новый товар + Характеристика». Это позволяет перенести стоимость без использования промежуточных статей доходов и расходов.
Поскольку цены в 1С хранятся в регистре сведений ЦеныНоменклатуры в привязке к паре объектов, нам необходимо создать новый документ УстановкаЦенНоменклатуры. Рассмотрим пример того, как это можно сделать программно, если характеристик много:
// Пример логики для установки цены на новую характеристику
НовыйДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
// ... заполнение реквизитов шапки ...
НоваяСтрока = НовыйДокумент.Товары.Добавить();
НоваяСтрока.Номенклатура = НовыйТовар;
НоваяСтрока.Характеристика = НоваяХарактеристика;
НоваяСтрока.Цена = СтараяЦена; // которую мы запомнили ранее
НоваяСтрока.ВидЦены = НужныйВидЦены;
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
После того как остатки перенесены и цены установлены, старую характеристику нельзя просто удалить, так как на нее ссылаются старые документы. Правильная последовательность действий:
ПометкаУдаления = Ложь.Если в вашей базе часто возникает необходимость использовать одни и те же характеристики для разных товаров, стоит проанализировать возможность перехода на модель «Общие для вида номенклатуры характеристики». В этом режиме владельцем характеристики является не конкретный товар, а Вид номенклатуры. Это позволяет легально использовать одну и ту же карточку характеристики для всех товаров данного вида, и проблема «перепривязки» исчезнет сама собой.
Мы выяснили, что попытка «сэкономить время» путем прямой смены владельца характеристики в коде 1С неизбежно приведет к ошибкам в расчете себестоимости и некорректным отчетам в будущем. Единственный надежный способ — это создание нового объекта и отражение перемещения ТМЦ в складском учете. Такой подход обеспечивает прозрачную историю движений и сохраняет партионный учет в целостности.