Как в 1С 8.3 массово изменить реквизиты объектов

· 8 мин

Содержание

Чтобы поменять один реквизит сразу у сотен элементов, в 1С 8.3 есть штатная обработка Групповое изменение реквизитов. Открывается она через Главное меню → Все функции → Обработки → Групповое изменение реквизитов. Внутри вы выбираете, какой объект менять, задаёте отбор и указываете новое значение — программа перебирает все отобранные элементы и перезаписывает их.

Обработка входит в Библиотеку стандартных подсистем, поэтому работает одинаково в «1С:Бухгалтерии 8» (ред. 3.0), «1С:Зарплате и управлении персоналом» (ред. 3.1), «Управлении торговлей» (ред. 11), а также в КА и ERP. Интерфейс описан для платформы 8.3 в режиме «Такси».

Руками через буфер обмена вы максимум скопируете значение в одну ячейку. Групповая обработка — единственный безопасный способ изменить поле у всей выборки сразу, с протоколом ошибок.

Что умеет штатная обработка и когда её применять

Групповое изменение реквизитов закрывает типовые задачи ведения справочников и документов:

  • 🔹 проставить одно значение реквизита всем элементам (например, вид номенклатуры всей группе товаров);
  • 🔹 очистить ошибочно заполненное поле у выборки;
  • 🔹 перенести элементы из одной группы справочника в другую;
  • 🔹 заменить значение по условию — через произвольную формулу на встроенном языке;
  • 🔹 изменить реквизит шапки у пачки документов одного вида.

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

Подготовка: резервная копия и права доступа

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

В файловой базе копия — это Администрирование → Обслуживание → Выгрузить информационную базу (файл .dt). В клиент-серверной копию делает администратор сервера штатными средствами СУБД.

Что ещё проверить до запуска:

  • 🔸 Права. Команда Все функции и сама обработка доступны только пользователям с полными или административными правами. Если пункта меню нет — прав не хватает.
  • 🔸 Отображение команды. Если в Главном меню нет строки Все функции, включите её: Главное меню → Сервис → Параметры → Отображать команду "Все функции".
  • 🔸 Нагрузка. Изменение затронет объекты, которые в этот момент могут редактировать другие пользователи. Запускайте массовую правку, когда в базе работает минимум людей.
Перед запуском групповой обработки
Выполнено: 0 / 5

Запуск обработки и выбор объекта изменения

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

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

Тип объекта задаётся один раз на запуск. Чтобы поправить и справочник, и документы, придётся прогнать обработку дважды — под каждый тип отдельно.

Как отобрать нужные элементы

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

В разделе отбора добавляйте условия по любому реквизиту объекта:

Что отбираемПоле отбораПример условия
Товары одной группыРодитель / группа«Равно» выбранной папке
Контрагентов-поставщиковВид / признак«Равно» нужному значению
Документы за периодДата«В интервале» дат
Незаполненные карточкиНужный реквизит«Не заполнено»

Условия можно комбинировать — обработка применит их по «И». Кроме «Равно» и «Не заполнено» доступны «В списке» (несколько значений сразу), «В группе» (элемент и все вложенные) и «В интервале» для дат и чисел. Для документов типичный отбор — по виду, организации и периоду.

После настройки отбора рядом обычно показывается, сколько объектов попало в выборку. Сверьте это число с ожидаемым: если вместо 50 товаров отобралось 5000, отбор задан неверно.

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

Чем заполнить реквизит: значение или формула

Когда объекты отобраны, задайте, что с ними сделать.

Простой способ — новое значение. Отметьте флажком нужный реквизит и в соседнем поле укажите значение, которое получат все отобранные объекты. Чтобы очистить поле — оставьте значение пустым и включите признак очистки.

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

Объект.Комментарий = "Проверено";

Формула выполняется для каждого отобранного объекта по очереди. Так удобно заполнять одно поле на основе другого. Например, скопировать краткое наименование контрагента в полное там, где полное пустое:

Объект.НаименованиеПолное = Объект.Наименование;

Сложную логику (условия, вычисления по другим полям) пишите здесь же на встроенном языке — но только если уверены в синтаксисе, иначе часть объектов останется неизменной с ошибкой. Перед запуском на всей выборке прогоните алгоритм на одном-двух объектах, сузив отбор.

После настройки нажмите кнопку запуска изменения внизу формы (в типовых конфигурациях — Изменить реквизиты). Обработка начнёт перебирать выборку.

Короткий сквозной пример

Допустим, нужно перенести 200 товаров из группы «Разное» в группу «Канцелярия» справочника Номенклатура.

  1. В поле «Изменять» выбираете Номенклатура.
  2. В отборе ставите условие: Родитель «Равно» группе «Разное». Видите в счётчике 200 элементов — сходится.
  3. В списке реквизитов отмечаете Родитель и указываете новое значение — группу «Канцелярия».
  4. Запускаете. Обработка переносит все 200 карточек; по товарам, которые кто-то открыл на редактирование, вы получите строку в протоколе — их прогоните повторно.

Ни перепроведения, ни пересчёта здесь не требуется: справочник движений не формирует.

Групповое изменение документов и перепроведение

У документов есть нюанс, которого нет у справочников: изменение реквизита шапки само по себе не пересчитывает движения по регистрам.

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

Групповое перепроведение — это отдельная операция. В «1С:Бухгалтерии» она выполняется через Операции → Регламентные операции → Групповое перепроведение документов (точный путь может отличаться по релизу). Перепроведение большой пачки документов — тяжёлая операция, планируйте её на время с минимальной нагрузкой.

Перепроведение меняет движения по регистрам и может затронуть закрытые периоды. Убедитесь, что период не закрыт на редактирование, и что перепроведение не сдвинет уже сданную отчётность.

Большие объёмы: как не повесить базу

Обработка записывает объекты поштучно, поэтому на десятках тысяч элементов она идёт долго и даёт заметную нагрузку. Несколько приёмов:

  1. Дробите выборку. Вместо «вся номенклатура» прогоняйте по группам или по диапазонам — так проще контролировать результат и прервать при ошибке.
  2. Запускайте в тихие часы. На время работы изменяемые объекты блокируются; если их параллельно редактируют пользователи, вы получите массу ошибок «объект занят».
  3. Не требуйте монопольный доступ без нужды. Групповому изменению реквизитов монопольный режим не нужен — база остаётся доступной. Монополия нужна другим операциям (загрузка .dt, обновление структуры), а не этой.
  4. Следите за объёмом лога. На больших выборках протокол ошибок может разрастись — просматривайте его порциями.

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

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

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

Проверка результата и разбор ошибок

После завершения обработка показывает, сколько объектов изменено успешно, а сколько — с ошибкой. Не закрывайте окно, не прочитав протокол: именно там перечислены объекты, которые остались без изменений, и причина.

Самые частые причины, по которым объект не изменился:

Диагностика: выберите симптом

Чтобы убедиться, что всё прошло верно, откройте список изменённых объектов и настройте в нём колонку с изменённым реквизитом — так вы глазами увидите новое значение по всей выборке. Для документов, если делали перепроведение, сверьте ключевые отчёты (ОСВ, остатки) до и после.

Частые вопросы

Можно ли отменить групповое изменение, если ошибся?
Штатной отмены нет. Единственный способ вернуть прежние данные — восстановить базу из резервной копии, сделанной до запуска. Поэтому копия обязательна.
Почему в «Главном меню» нет команды «Все функции»?
Она скрыта по умолчанию. Включите её в Главное меню → Сервис → Параметры, поставив флажок отображения команды. Если флажка нет вовсе — у пользователя недостаточно прав.
Обработка меняет строки табличной части документа?
Нет. Групповое изменение реквизитов работает только с реквизитами шапки объекта. Для строк табличных частей нужна специализированная обработка конфигурации или доработка.
Нужно ли перепроводить документы после изменения реквизита?
Только если реквизит влияет на движения по регистрам (склад, счёт, подразделение). Если меняли комментарий или ответственного — перепроведение не требуется.
Как поменять реквизит только у части элементов, а не у всех?
Настройте отбор перед запуском. Без отбора обработка изменит все объекты выбранного типа, что почти всегда нежелательно. Всегда сверяйте число отобранных объектов с ожидаемым.