К статье
Практический материал

Справочники и Данные · 8 мин

Как перенести номенклатуру в другую группу в 1С 7.7

Пошаговая инструкция по переносу номенклатуры в другую группу в 1С 7.7: ручной перенос, групповая обработка, типичные ошибки и проверка результата.

Перенос элементов справочника «Номенклатура» между группами — типовая задача при наведении порядка в базе 1С 7.7. Со временем структура каталога разрастается: появляются дубли папок, товары оказываются не в тех группах, и отчёты по остаткам становятся неудобными для анализа.

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

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

Как устроена иерархия справочника номенклатуры

Справочник «Номенклатура» в 1С 7.7 — иерархический: в нём есть группы (папки) и элементы. Группа может содержать другие группы и элементы, элемент — только лежать внутри группы. Уровней вложенности может быть несколько, ограничение задаётся длиной кода и настройками конфигурации.

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

Учтите, что в некоторых конфигурациях (например, «Торговля и склад») помимо основной иерархии может использоваться дополнительная классификация через реквизиты: тип номенклатуры, вид, свойства. Перенос по группам не меняет эти реквизиты — их при необходимости корректируют отдельно.

Перенос одной позиции через карточку элемента

Самый надёжный способ для единичного переноса — редактирование карточки. Откройте справочник «Номенклатура» через меню «Справочники», найдите нужную позицию и откройте её двойным щелчком.

В карточке найдите поле выбора группы — обычно оно расположено в верхней части формы и подписано как «Группа». Нажмите кнопку выбора, в открывшемся дереве укажите целевую группу и подтвердите выбор. Затем нажмите «ОК» или «Записать», чтобы сохранить изменения.

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

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

Перенос перетаскиванием и клавишами в списке справочника

Быстрый способ без открытия карточки — работа прямо в форме списка. Включите отображение в виде дерева (кнопка иерархического списка на панели инструментов формы), найдите элемент и перетащите его мышью на нужную группу. Программа спросит подтверждение переноса — ответьте «Да».

Альтернатива мыши — комбинация клавиш. Установите курсор на элемент и нажмите Ctrl+F5 (в большинстве типовых конфигураций это команда «Перенести в другую группу») либо выберите аналогичный пункт в меню «Действия». В появившемся окне укажите целевую группу.

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

Массовый перенос через групповую обработку

Когда перенести нужно много позиций, используйте стандартную обработку «Групповая обработка справочников и документов». В типовых конфигурациях она доступна через меню «Сервис» — «Групповая обработка справочников и документов». Если пункт отсутствует, файл обработки GroupProcess.ert можно запустить через «Файл» — «Открыть».

В обработке выберите вид объекта «Справочник.Номенклатура», задайте отбор — например, все элементы конкретной группы или позиции, отобранные по реквизиту. Сформируйте список и внимательно проверьте его перед запуском: обработка применится ко всем строкам без исключения.

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

Отбор элементов перед обработкой

Качество массового переноса определяется точностью отбора. Если нужно перенести всё содержимое группы, отбирайте по реквизиту «Родитель» со значением исходной группы. Если только часть позиций — добавьте условия по наименованию, артикулу или другим реквизитам.

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

Особенности и ограничения переноса

В многопользовательском режиме перенос может завершиться ошибкой «Запись невозможна. Элемент заблокирован», если другой пользователь редактирует этот же элемент или группу. Дождитесь освобождения объекта или выполняйте массовые операции в монопольном режиме.

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

Перенос самой группы в другую группу выполняется теми же способами: через карточку группы или перетаскивание в дереве. При этом всё содержимое группы перемещается вместе с ней. Ограничение одно: нельзя перенести группу внутрь самой себя или внутрь собственной подгруппы — программа такую операцию заблокирует.

Типичные ошибки
01
Перенос без архивной копии — при ошибочном отборе восстановить структуру можно только из резервной копии
02
Слишком широкий отбор в групповой обработке — в новую группу попадают лишние позиции, которые потом приходится разбирать вручную
03
Попытка переноса при открытых у пользователей карточках — часть элементов не переносится из-за блокировок, итог остаётся незамеченным
04
Ожидание пересчёта остатков после переноса — остатки и не должны меняться, перенос влияет только на иерархию

Проверка результата после переноса

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

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

Контрольные точки

Как проверить результат

Состав целевой группы
Норма

Все перенесённые позиции присутствуют, лишних нет

Тревожный признак

Часть позиций отсутствует или появились посторонние элементы

Исходная группа
Норма

Остались только позиции, которые должны были остаться

Тревожный признак

Перенесены не все запланированные элементы

Итог отчёта по остаткам
Норма

Общий итог по складу совпадает с данными до переноса

Тревожный признак

Итог изменился — искать посторонние складские операции

Часто задаваемые вопросы

Влияет ли перенос номенклатуры в другую группу на остатки и документы?

Нет. Документы и регистры ссылаются на сам элемент справочника, а не на его положение в иерархии. Остатки, себестоимость и история движений сохраняются полностью. Меняется только отображение в дереве и группировка в отчётах, построенных по иерархии.

Можно ли перенести сразу несколько позиций без обработки?

Штатного множественного выделения с перетаскиванием в типовых формах списка 1С 7.7 нет. Для нескольких позиций придётся либо переносить каждую по очереди (Ctrl+F5 или перетаскивание), либо использовать групповую обработку — для массовых операций это единственный разумный вариант.

Что делать, если при переносе появляется ошибка блокировки?

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

Как перенести целую группу со всем содержимым?

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

Можно ли отменить ошибочный массовый перенос?

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

Итог

Что важно запомнить

Перенос номенклатуры между группами — это изменение реквизита «Родитель»: для одной позиции достаточно карточки или Ctrl+F5, для массового переноса используйте групповую обработку с точным отбором. Остатки и документы операция не затрагивает, но перед массовыми изменениями всегда делайте архивную копию базы.