Как изменить единицу измерения номенклатуры в 1С:ERP и Комплексной автоматизации

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

При активной работе в программах 1С:ERP Управление предприятием и 1С:Комплексная автоматизация (КА) пользователи нередко сталкиваются с ситуацией, когда в карточке номенклатуры по ошибке указана неверная единица хранения остатков. Попытка изменить её напрямую часто приводит к разочарованию: поле заблокировано для редактирования, а система бьет тревогу.

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

Почему 1С блокирует изменение единицы хранения?

Блокировка ключевых реквизитов номенклатуры (таких как ЕдиницаИзмерения, СтавкаНДС, ТипНоменклатуры) — это встроенный механизм защиты целостности базы данных. Единица хранения остатков является базовой для всех складских и финансовых расчетов системы.

Если по номенклатуре уже совершены движения (оформлены поступления, отгрузки, перемещения или сборка), то принудительное изменение единицы измерения «задним числом» приведет к следующим тяжелым последствиям:

  1. Искажение складских остатков. В оперативных регистрах накопления (например, в регистре ТоварыНаСкладах) количество физически записывается в базовых единицах. Если на складе числилось 100 «штук», а вы принудительно изменили единицу на «кг», система продолжит считать, что на складе лежит 100 единиц, но теперь уже «килограмм». Физический баланс склада будет безвозвратно нарушен.
  2. Сбой расчета себестоимости и партионного учета. Программа рассчитывает себестоимость на основе количественных данных в регистрах. Смена единицы измерения без пересчета количества сломает закрытие месяца, приведет к зависанию копеек на остатках и некорректной стоимости списания в производство или на продажи.

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

---

Способ 1. Изменение единицы, если по номенклатуре НЕТ движений

Если карточка была создана недавно, документы по ней не проводились (или все документы находятся в состоянии черновиков/помечены на удаление), мы можем безопасно изменить единицу хранения встроенными средствами системы.

Рассмотрим два технических варианта обхода блокировки:

Вариант А: Через разблокировку реквизитов в карточке

  1. Откроем карточку нужной номенклатуры.
  2. В правом верхнем углу нажмем кнопку Еще и выберем пункт Разрешить редактирование реквизитов.
  3. Система выдаст предупреждение о том, что изменение ключевых реквизитов может повлиять на учетные данные. Подтверждаем действие, нажав кнопку «Разрешить редактирование».
  4. После этого поле «Единица хранения» станет доступным для выбора. Устанавливаем нужное значение и нажимаем Записать и закрыть.

Вариант Б: Групповое изменение реквизитов

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

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

Важное предупреждение для разработчиков: Если вы решите написать внешнюю обработку для изменения реквизита программным путем, избегайте прямого отключения проверок через обмен данными, если не уверены в отсутствии движений. Программный код прямой перезаписи выглядит следующим образом, но использовать его нужно с крайней осторожностью:


// Пример небезопасного изменения реквизита (использовать только при отсутствии движений!)
НоменклатураОбъект = СсылкаНаНоменклатуру.ПолучитьОбъект();
НоменклатураОбъект.ОбменДанными.Загрузка = Истина;
НоменклатураОбъект.ЕдиницаИзмерения = СсылкаНаНовуюЕдиницу;
НоменклатураОбъект.Записать();

---

Способ 2. Безопасные альтернативы, если движения по товару УЖЕ ЕСТЬ

Что делать, если по номенклатуре уже велся учет, сдана отчетность, периоды закрыты, но единицу измерения жизненно необходимо скорректировать? Рассмотрим четыре методологически верных сценария.

Вариант А: Использование механизма упаковок (без смены базовой единицы)

Зачастую пользователям требуется изменить единицу хранения только потому, что товар начал приходить или продаваться в других величинах (например, коробках, паллетах или пачках вместо штук). В этом случае менять базовую единицу хранения нет никакой необходимости! Для быстрого заполнения данных по нескольким позициям подойдёт обработка для массового создания индивидуальных упаковок.

Проанализируем настройку упаковок:

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

Вариант Б: Создание новой карточки и перенос остатков (Рекомендуемый сценарий)

Если базовая единица изначально была выбрана неверно и исправить это упаковками невозможно (например, вели учет в «метрах», а нужно в «килограммах»), правильным решением будет создание новой карточки. Для ускорения настройки новой позиции можно использовать расширение для переноса штрихкодов и упаковок между карточками номенклатуры.

Разберем этот процесс по шагам:

  1. Создаем новую карточку номенклатуры с правильной единицей измерения (например, «Шланг (кг)»). Чтобы не путаться, старой карточке временно добавляем к наименованию пометку «(ОШИБКА, НЕ ИСПОЛЬЗОВАТЬ)».
  2. Проводим инвентаризацию и переносим остатки со старой карточки на новую на текущую дату. Сделать это можно двумя способами:
    • Использовать документ Комплектация номенклатуры, где в качестве комплектующего (списываемого товара) указывается старая позиция, а в качестве комплекта (приходуемого товара) — новая карточка с правильной единицей измерения. При этом обязательно указывается корректный коэффициент пересчета.
    • Использовать связку документов Списание недостач товаров (для обнуления остатков по старой карточке) и Оприходование излишков товаров (для ввода остатков по новой карточке в нужных единицах).
  3. В старой карточке номенклатуры на закладке «Настройки» или в реквизитах устанавливаем признаки Не использовать в продажах и Не использовать в закупках. Также рекомендуется переместить старую позицию в специальную папку «Архив», чтобы исключить ее случайный выбор сотрудниками в новых документах.

Вариант В: Настройка «Единицы для отчетов»

Бывает так, что учет на складе ведется в штуках, и это устраивает кладовщиков, но руководству или аналитикам требуется видеть отчеты по продажам в тоннах или квадратных метрах.

Для этого в 1С:ERP и КА предусмотрен специальный безопасный механизм:

  1. Открываем карточку номенклатуры.
  2. Находим реквизит Единица для отчетов. Этот реквизит не заблокирован для редактирования даже при наличии проведенных документов!
  3. Устанавливаем нужную единицу измерения для отчетов и указываем коэффициент пересчета по отношению к единице хранения.
  4. Теперь в стандартных отчетах (таких как «Ведомость по товарам на складах» или «Выручка и себестоимость продаж») в настройках структуры отчета мы можем выбрать вывод показателей в «Единицах для отчетов». Система на лету пересчитает все данные, не затрагивая оперативные регистры.

Вариант Г: Полное перепроведение (для единичных случаев в открытом периоде)

Если документов с данной номенклатурой в базе совсем немного (например, 2-3 накладные) и отчетный период еще не закрыт для редактирования:

  1. Найдем все документы, в которых фигурирует данная номенклатура (это можно сделать через отчет «Движения документа» или воспользовавшись поиском ссылок на объект).
  2. Временно распроведем (отменим проведение) всех этих документов.
  3. Зайдем в карточку номенклатуры, через Еще -> Разрешить редактирование реквизитов разблокируем форму и изменим единицу хранения на правильную. Запишем карточку.
  4. Вернемся в распроведенные документы, зайдем в табличные части, перевыберем номенклатуру (или вручную скорректируем количество и цену под новые единицы измерения) и заново проведем документы.

---

Подведем итоги

Мы рассмотрели все возможные варианты изменения единицы измерения номенклатуры в программах 1С:ERP и Комплексная автоматизация. Главный вывод: никогда не используйте принудительное изменение единицы хранения через групповые обработки или разблокировку реквизитов, если по товару уже есть движения в закрытых периодах.

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

← На главную