Как в 1С 8.3 массово изменить реквизиты объектов
Содержание
Чтобы поменять один реквизит сразу у сотен элементов, в 1С 8.3 есть штатная обработка Групповое изменение реквизитов. Открывается она через Главное меню → Все функции → Обработки → Групповое изменение реквизитов. Внутри вы выбираете, какой объект менять, задаёте отбор и указываете новое значение — программа перебирает все отобранные элементы и перезаписывает их.
Обработка входит в Библиотеку стандартных подсистем, поэтому работает одинаково в «1С:Бухгалтерии 8» (ред. 3.0), «1С:Зарплате и управлении персоналом» (ред. 3.1), «Управлении торговлей» (ред. 11), а также в КА и ERP. Интерфейс описан для платформы 8.3 в режиме «Такси».
Руками через буфер обмена вы максимум скопируете значение в одну ячейку. Групповая обработка — единственный безопасный способ изменить поле у всей выборки сразу, с протоколом ошибок.
Что умеет штатная обработка и когда её применять
Групповое изменение реквизитов закрывает типовые задачи ведения справочников и документов:
- 🔹 проставить одно значение реквизита всем элементам (например, вид номенклатуры всей группе товаров);
- 🔹 очистить ошибочно заполненное поле у выборки;
- 🔹 перенести элементы из одной группы справочника в другую;
- 🔹 заменить значение по условию — через произвольную формулу на встроенном языке;
- 🔹 изменить реквизит шапки у пачки документов одного вида.
Чего обработка не делает: она не правит строки табличных частей документов и не пересчитывает суммы. Для табличных частей и перепроведения с пересчётом нужны либо специализированные обработки конфигурации, либо доработка. Поэтому сначала решите, что именно вы меняете — реквизит шапки или данные внутри строк.
Подготовка: резервная копия и права доступа
Перед массовым изменением сделайте резервную копию базы . Откатить групповую запись штатными средствами нельзя — только восстановить базу целиком.
В файловой базе копия — это Администрирование → Обслуживание → Выгрузить информационную базу (файл .dt). В клиент-серверной копию делает администратор сервера штатными средствами СУБД.
Что ещё проверить до запуска:
- 🔸 Права. Команда
Все функциии сама обработка доступны только пользователям с полными или административными правами. Если пункта меню нет — прав не хватает. - 🔸 Отображение команды. Если в
Главном менюнет строкиВсе функции, включите её:Главное меню → Сервис → Параметры → Отображать команду "Все функции". - 🔸 Нагрузка. Изменение затронет объекты, которые в этот момент могут редактировать другие пользователи. Запускайте массовую правку, когда в базе работает минимум людей.
Запуск обработки и выбор объекта изменения
- Откройте
Главное меню → Все функции → Обработки → Групповое изменение реквизитов. - В поле «Изменять» выберите тип объекта — конкретный справочник (
Номенклатура,Контрагенты,Физические лица) или вид документа. - После выбора типа ниже появится список его реквизитов, доступных для изменения.
Рядом есть переключатель режима. В обычном режиме доступны пользовательские реквизиты. Есть и расширенный режим, который показывает служебные и предопределённые поля — его стоит включать, только если вы точно понимаете последствия: менять служебные реквизиты вслепую опасно.
Тип объекта задаётся один раз на запуск. Чтобы поправить и справочник, и документы, придётся прогнать обработку дважды — под каждый тип отдельно.
Как отобрать нужные элементы
Без отбора обработка изменит все объекты выбранного типа. Почти всегда это не то, что нужно, поэтому настройте отбор.
В разделе отбора добавляйте условия по любому реквизиту объекта:
| Что отбираем | Поле отбора | Пример условия |
|---|---|---|
| Товары одной группы | Родитель / группа | «Равно» выбранной папке |
| Контрагентов-поставщиков | Вид / признак | «Равно» нужному значению |
| Документы за период | Дата | «В интервале» дат |
| Незаполненные карточки | Нужный реквизит | «Не заполнено» |
Условия можно комбинировать — обработка применит их по «И». Кроме «Равно» и «Не заполнено» доступны «В списке» (несколько значений сразу), «В группе» (элемент и все вложенные) и «В интервале» для дат и чисел. Для документов типичный отбор — по виду, организации и периоду.
После настройки отбора рядом обычно показывается, сколько объектов попало в выборку. Сверьте это число с ожидаемым: если вместо 50 товаров отобралось 5000, отбор задан неверно.
Самый надёжный способ не промахнуться — сначала наложите тот же отбор в обычном списке справочника (Еще → Настроить список или поле поиска) и посмотрите глазами, те ли это элементы.
Чем заполнить реквизит: значение или формула
Когда объекты отобраны, задайте, что с ними сделать.
Простой способ — новое значение. Отметьте флажком нужный реквизит и в соседнем поле укажите значение, которое получат все отобранные объекты. Чтобы очистить поле — оставьте значение пустым и включите признак очистки.
Способ по условию — произвольный алгоритм. Если новое значение зависит от самого объекта, переключитесь в режим с формулой. В алгоритме доступна переменная объекта, через которую вы читаете и пишете его реквизиты. Простейший пример — проставить комментарий:
Объект.Комментарий = "Проверено";
Формула выполняется для каждого отобранного объекта по очереди. Так удобно заполнять одно поле на основе другого. Например, скопировать краткое наименование контрагента в полное там, где полное пустое:
Объект.НаименованиеПолное = Объект.Наименование;
Сложную логику (условия, вычисления по другим полям) пишите здесь же на встроенном языке — но только если уверены в синтаксисе, иначе часть объектов останется неизменной с ошибкой. Перед запуском на всей выборке прогоните алгоритм на одном-двух объектах, сузив отбор.
После настройки нажмите кнопку запуска изменения внизу формы (в типовых конфигурациях — Изменить реквизиты). Обработка начнёт перебирать выборку.
Короткий сквозной пример
Допустим, нужно перенести 200 товаров из группы «Разное» в группу «Канцелярия» справочника Номенклатура.
- В поле «Изменять» выбираете
Номенклатура. - В отборе ставите условие:
Родитель«Равно» группе «Разное». Видите в счётчике 200 элементов — сходится. - В списке реквизитов отмечаете
Родительи указываете новое значение — группу «Канцелярия». - Запускаете. Обработка переносит все 200 карточек; по товарам, которые кто-то открыл на редактирование, вы получите строку в протоколе — их прогоните повторно.
Ни перепроведения, ни пересчёта здесь не требуется: справочник движений не формирует.
Групповое изменение документов и перепроведение
У документов есть нюанс, которого нет у справочников: изменение реквизита шапки само по себе не пересчитывает движения по регистрам.
- Если вы поменяли реквизит, который не влияет на проводки (например, комментарий или ответственного) — перепроводить не нужно.
- Если реквизит влияет на учёт (склад, статья затрат, подразделение) — документы нужно перепровести, иначе в отчётах останутся старые данные.
Групповое перепроведение — это отдельная операция. В «1С:Бухгалтерии» она выполняется через Операции → Регламентные операции → Групповое перепроведение документов (точный путь может отличаться по релизу). Перепроведение большой пачки документов — тяжёлая операция, планируйте её на время с минимальной нагрузкой.
Перепроведение меняет движения по регистрам и может затронуть закрытые периоды. Убедитесь, что период не закрыт на редактирование, и что перепроведение не сдвинет уже сданную отчётность.
Большие объёмы: как не повесить базу
Обработка записывает объекты поштучно, поэтому на десятках тысяч элементов она идёт долго и даёт заметную нагрузку. Несколько приёмов:
- Дробите выборку. Вместо «вся номенклатура» прогоняйте по группам или по диапазонам — так проще контролировать результат и прервать при ошибке.
- Запускайте в тихие часы. На время работы изменяемые объекты блокируются; если их параллельно редактируют пользователи, вы получите массу ошибок «объект занят».
- Не требуйте монопольный доступ без нужды. Групповому изменению реквизитов монопольный режим не нужен — база остаётся доступной. Монополия нужна другим операциям (загрузка
.dt, обновление структуры), а не этой. - Следите за объёмом лога. На больших выборках протокол ошибок может разрастись — просматривайте его порциями.
Если элементов сотни тысяч и обработка не успевает за разумное время, задачу обычно решают запросом или внешней обработкой под конкретную базу — это уже работа специалиста.
Ещё одна деталь механики: обработка не меняет данные «в обход», а записывает каждый объект штатно. Значит, срабатывают проверка заполнения и обработчики записи конфигурации — те же, что при ручном сохранении. Отсюда и скорость, и часть ошибок: объект, который не сохраняется руками, не сохранится и в группе.
На ответственную правку рабочей базы потренируйтесь сначала на свежей копии. Разверните резервную копию в отдельную базу, прогоните обработку там, проверьте результат — и только потом повторяйте в рабочей. Это дешевле, чем откатывать боевую базу.
Проверка результата и разбор ошибок
После завершения обработка показывает, сколько объектов изменено успешно, а сколько — с ошибкой. Не закрывайте окно, не прочитав протокол: именно там перечислены объекты, которые остались без изменений, и причина.
Самые частые причины, по которым объект не изменился:
Чтобы убедиться, что всё прошло верно, откройте список изменённых объектов и настройте в нём колонку с изменённым реквизитом — так вы глазами увидите новое значение по всей выборке. Для документов, если делали перепроведение, сверьте ключевые отчёты (ОСВ, остатки) до и после.
Частые вопросы
Можно ли отменить групповое изменение, если ошибся?
Почему в «Главном меню» нет команды «Все функции»?
Главное меню → Сервис → Параметры, поставив флажок отображения команды. Если флажка нет вовсе — у пользователя недостаточно прав.Обработка меняет строки табличной части документа?
Групповое изменение реквизитов работает только с реквизитами шапки объекта. Для строк табличных частей нужна специализированная обработка конфигурации или доработка.