Массовое изменение справочников и документов в 1С: от поиска команды до своей обработки

· 10 мин

Содержание

Групповую обработку в 1С 8.3 найти проще всего по пути Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов. Это штатная обработка типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Второй путь короче: выделите строки в любом списке справочника или журнала и выберите в меню Ещё команду Изменить выделенные.

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

Где находится групповая обработка в 1С 8.3

В типовых конфигурациях на управляемых формах есть три точки входа. Все ведут в одну и ту же обработку «Групповое изменение реквизитов».

Где искатьПутьКогда удобно
Раздел администрированияАдминистрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитовНужен отбор по условию, объектов много
Форма спискаВыделить строки → Ещё → Изменить выделенныеОбъекты уже найдены и выделены
Все объекты конфигурации≡ → Функции для технического специалиста → Обработки → Групповое изменение реквизитовРаздел скрыт или обрезан настройками

В УТ 11, КА и ERP администрирование вынесено в раздел НСИ и администрирование. Дальше путь тот же: группа Обслуживание, затем Корректировка данных.

Как выделить несколько строк в списке

Команда Изменить выделенные работает только с выделенными строками. Выделяют так:

  • 🖱️ Ctrl + щелчок — добавить строку к выделению;
  • ⇧ Shift + щелчок — выделить диапазон от первой до последней строки;
  • ⌨️ Ctrl+A — выделить весь список с учётом текущего отбора.

Сначала отфильтруйте список (поиск, отбор по колонке), затем нажмите Ctrl+A. Так в обработку попадут только нужные объекты.

Что умеет обработка

  • ✏️ менять реквизиты шапки: склад, подразделение, ответственного, комментарий, вид номенклатуры;
  • 📂 переносить элементы справочника в другую группу (реквизит «Родитель»);
  • 📋 менять реквизиты в табличных частях, если это разрешено для объекта;
  • 🏷️ заполнять дополнительные реквизиты и сведения, которые пользователи завели сами;
  • 🔍 отбирать объекты по любым полям с условиями «равно», «не заполнено», «в списке».

Изменение запускают кнопкой Изменить реквизиты. После обработки программа показывает итог: сколько объектов изменено и на каких записях возникли ошибки.

Почему групповой обработки нет в меню

Пользователь открывает раздел, а пункта «Групповое изменение реквизитов» нет. Причин немного, и проверяют их по порядку.

1. Не хватает прав

Обработка доступна не всем ролям. Рядовому бухгалтеру или кладовщику её обычно не выдают: массовая правка в чужих руках опасна. Право даёт администратор базы через Администрирование → Настройки пользователей и прав → Профили групп доступа. Быстрая проверка: зайдите в базу под пользователем с полными правами. Если у него команда есть, а у сотрудника нет, дело в профиле. Добавьте в профиль сотрудника роль на групповое изменение объектов или поручите правку тому, у кого права уже есть.

2. Команда скрыта настройкой панели

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

3. Конфигурация без БСП или устаревшая

Обработка входит в Библиотеку стандартных подсистем. В нетиповых, отраслевых и сильно доработанных конфигурациях её может не быть. То же касается старых решений на обычных формах. Тогда помогут внешние обработки, о них ниже.

4. Нет пункта «Функции для технического специалиста»

Этот пункт появляется в главном меню ≡ только после настройки. Откройте ≡ → Сервис → Параметры и поставьте флажок Режим технического специалиста. После перезапуска клиента пункт станет доступен. Учтите, что этот режим показывает объекты, но не расширяет права.

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

Другие способы запустить групповую обработку данных

Штатная обработка — не единственный инструмент. Для части задач в 1С есть более подходящие средства.

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

Если цель — заново сформировать движения документов, а не поменять реквизиты, нужна отдельная обработка. В Бухгалтерии 3.0 она находится в разделе Операции, в группе Сервис: «Групповое перепроведение документов ». Задаёте период, при необходимости отбор по видам документов, и запускаете.

Массовая пометка на удаление

Пометить сразу много объектов можно прямо в списке: выделите строки и нажмите Delete или выберите в меню Ещё команду пометки на удаление. Окончательно удаляют помеченное через Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов.

Внешняя «Универсальный подбор и обработка объектов»

Это известная обработка для специалистов. Она отбирает объекты запросом или отбором и применяет к ним набор действий: изменить реквизит, перенумеровать, пометить, выполнить произвольный код. Есть варианты для обычных и для управляемых форм. Подключают через Файл → Открыть или добавляют как дополнительную обработку в разделе администрирования.

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

Поиск и удаление дублей

Частая «групповая» задача — два одинаковых контрагента или товара, и в документах встречаются оба. Менять реквизит в сотне документов вручную не нужно. Обработка Администрирование → Обслуживание → Корректировка данных → Поиск и удаление дублей находит похожие элементы, а затем заменяет ссылки на дубль ссылкой на оригинал во всех документах и справочниках.

Замена ссылок затрагивает проведённые документы. Делайте её вне рабочего времени и после копии базы.

Сценарии, ради которых используют групповую обработку в 1С

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

ЗадачаЧто выбрать в обработкеНа что смотреть
Перенести 300 позиций номенклатуры в новую группуСправочник «Номенклатура», реквизит «Родитель»Отбор по наименованию или старой группе
Проставить ответственного в документах за кварталНужный вид документа, реквизит «Ответственный»Отбор по дате и организации
Заполнить страну происхождения у импортных товаровНоменклатура, реквизит страныОтбор «Страна не заполнена»
Заменить склад в черновиках реализацийДокумент реализации, реквизит «Склад»Отбор «Проведён = Нет»
Дописать пометку в комментарийЛюбой документ, реквизит «Комментарий»Значение заменяет старое целиком

Поле «Комментарий» обработка перезаписывает, а не дополняет. Старый текст пропадёт. Для дописывания нужна внешняя обработка или ручная правка.

Пример: перенос номенклатуры в другую группу

  1. Откройте Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов.
  2. В поле выбора объектов укажите справочник «Номенклатура».
  3. Нажмите ссылку с отбором и задайте условие, например «Наименование содержит “кабель”».
  4. Проверьте счётчик: сколько элементов попало под отбор. Если цифра неожиданная, уточните условие.
  5. В таблице реквизитов отметьте «Родитель» и выберите новую группу.
  6. Нажмите Изменить реквизиты и дождитесь итогового сообщения.

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

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

Ошибки при групповой обработке и как их избежать

Массовое изменение не откатывается кнопкой «Отменить». Поэтому ошибки дешевле предупредить, чем исправлять.

Дата запрета изменения

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

Объект заблокирован

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

Проведённые документы и их движения

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

Неверный отбор

Ошибка в одном условии — и обработка изменит не 40, а 4000 объектов. Перед запуском всегда смотрите количество отобранных элементов.

Перед массовым изменением
Выполнено: 0 / 5

Собственная обработка для массового изменения

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

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

&НаСервере
Процедура ЗаполнитьЕдиницыНаСервере(Группа, Единица)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
    |    И НЕ Номенклатура.ЭтоГруппа
    |    И Номенклатура.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.КлассификаторЕдиницИзмерения.ПустаяСсылка)";
    Запрос.УстановитьПараметр("Группа", Группа);

    Выборка = Запрос.Выполнить().Выбрать();
    Изменено = 0;

    Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        Объект.ЕдиницаИзмерения = Единица;
        Попытка
            Объект.Записать();
            Изменено = Изменено + 1;
        Исключение
            Сообщить(СтрШаблон("Не записан %1: %2", Выборка.Ссылка, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
        КонецПопытки;
    КонецЦикла;

    Сообщить(СтрШаблон("Изменено элементов: %1", Формат(Изменено, "ЧГ=0")));

КонецПроцедуры

Имена реквизитов здесь взяты из Бухгалтерии 3.0. В другой конфигурации сверьте их в Конфигураторе.

Почему не стоит включать режим загрузки

В интернете часто советуют перед записью ставить Объект.ОбменДанными.Загрузка = Истина. Запись ускоряется, но пропускаются проверки и обработчики объекта. Это значит: не заполнятся служебные поля, не сработает контроль, могут не зарегистрироваться изменения для обменов. Режим загрузки оправдан только тогда, когда разработчик точно знает, какие обработчики он обходит.

Как ускорить массовые операции в 1С

Пока изменяют 50 объектов, скорость не важна. При 50 000 тот же запуск может занять час и мешать работе всем остальным.

  • ⏰ Запускайте вне рабочего времени. Каждая запись ставит блокировки. Днём это приводит к ожиданиям и ошибкам у коллег.
  • 📦 Дробите на части. Перепроведение за год лучше делать по месяцам. Так проще найти сбой и не нужно начинать сначала.
  • 🔎 Сужайте отбор. Условие «реквизит не заполнен» избавит от перезаписи объектов, которые и так в порядке.
  • 🖥️ В своей обработке выполняйте цикл на сервере. Не перебирайте объекты на клиенте с вызовом сервера на каждый объект — это сотни лишних обращений.
  • 🧩 Для очень больших объёмов — фоновое задание. Обработка не блокирует экран, а прогресс можно контролировать по журналу регистрации.

Групповое перепроведение задним числом пересчитывает себестоимость и партии. Чем шире период, тем больше перезапишется. Начните с самого раннего месяца, где нашли ошибку, и не захватывайте лишнее.

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

Можно ли отменить групповое изменение реквизитов?
Кнопки отмены нет. Вернуть старые значения можно повторным запуском с прежним значением, если вы его знаете, или восстановлением из резервной копии.
Видно ли, кто запускал групповую обработку?
Да. Каждая запись объекта попадает в журнал регистрации с именем пользователя и временем. Отберите журнал по событию изменения данных и нужному интервалу.
Сколько объектов можно изменить за один запуск?
Жёсткого предела нет. На практике удобно держать в пределах нескольких тысяч, чтобы запуск не шёл часами и ошибки было легко разобрать.
Подходит ли групповая обработка для регистров сведений?
Обработка рассчитана на справочники, документы и планы видов характеристик. Например, счета учёта номенклатуры в Бухгалтерии 3.0 хранятся в регистре, поэтому их групповой обработкой номенклатуры не поменять. Записи регистров меняют через формы самих регистров или отдельной внешней обработкой. Чем групповая обработка отличается от загрузки из Excel? Загрузка из файла создаёт или обновляет элементы по таблице, где у каждой строки своё значение. Групповая обработка ставит одно значение всем отобранным объектам. Если значения разные, удобнее загрузка.