Куда делась обработка поиск и замена значений в 1С 8.3 и как теперь заменять ссылки и данные?

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

Переход с платформы 1С 8.2 на управляемые формы 1С 8.3 принес множество полезных изменений, однако некоторые привычные инструменты администраторов и разработчиков изменили свое местоположение или вовсе исчезли из стандартной поставки. Один из таких инструментов — классическая обработка «Поиск и замена значений» (файл ПоискИЗаменаЗначений.epf). Многие пользователи конфигураций «Управление торговлей 11», «Бухгалтерия предприятия 3.0» и «Комплексная автоматизация» сталкиваются с тем, что не могут найти эту обработку ни на диске ИТС, ни в самой программе.

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

Почему классическая обработка исчезла из 1С 8.3?

Во времена обычных форм на платформе 1С 8.2 обработка «Поиск и замена значений» была незаменимым инструментом для ручной очистки базы данных. Она позволяла напрямую переписать ссылки на объекты (например, заменить одного контрагента на другого во всех документах и проводках). Однако с развитием Библиотеки стандартных подсистем (БСП) разработчики 1С решили унифицировать этот процесс и сделать его более безопасным для рядовых пользователей. Прямая перезапись ссылок старым инструментом часто приводила к нарушению ссылочной целостности базы данных и ошибкам в регистрах сведений.

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

Способ 1. Использование встроенного механизма «Поиск и удаление дублей» для точечной замены

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

  1. Перейдем в раздел меню НСИ и администрирование, далее выберем пункт Обслуживание, найдем подраздел Корректировка данных и откроем гиперссылку Поиск и удаление дублей.
  2. В открывшемся окне в поле «Искать в» выберем справочник, в котором нам необходимо произвести замену (например, Контрагенты, Договоры или Номенклатура).
  3. В поле «Отбирать» по умолчанию стоит значение «Все элементы». Нажмем на эту гиперссылку, чтобы настроить жесткий отбор. Добавим новое условие: выберем поле Ссылка, укажем вид сравнения В списке и выберем ровно два элемента — тот, который мы хотим заменить (ошибочный), и тот, на который мы хотим заменить (правильный).
  4. В поле «Сравнивать» по умолчанию настроены правила сравнения (например, по наименованию или ИНН). Нам необходимо полностью отключить эти правила, сняв все галочки. Это заставит программу принудительно объединить выбранные нами элементы, даже если они абсолютно разные по написанию.
  5. Нажмем кнопку «Найти дубли». Программа проанализирует базу данных и выведет наши два элемента в виде одной группы.
  6. В списке найденных элементов выделим тот элемент, который должен остаться в базе данных (правильный), и нажмем кнопку «Отметить как оригинал». Ошибочный элемент автоматически пометится как дубль.
  7. Нажмем кнопку «Удалить дубли».

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

Способ 2. Использование сторонних адаптированных обработок под управляемые формы

Если вам категорически неудобен стандартный механизм поиска дублей (например, если перед вами стоит задача массово заменить десятки разных пар объектов и при этом вы не хотите помечать исходные элементы на удаление), можно воспользоваться внешними обработками. На профильных интернет-ресурсах разработчики выкладывают адаптированные версии старой обработки под управляемые формы 1С 8.3 (часто они называются «Поиск и замена значений 3.0» или «Универсальный поиск и замена объектов»).

Для запуска такой обработки выполните следующие действия:

  1. Откройте меню Сервис и настройки (в правом верхнем углу окна программы) -> Файл -> Открыть.
  2. Выберите скачанный файл внешней обработки с расширением .epf.
  3. В открывшейся табличной части добавьте строку, укажите в колонке «Что заменять» исходный объект, а в колонке «На что заменять» — целевой объект.
  4. Нажмите кнопку «Найти ссылки» для анализа использования объектов, а затем «Выполнить замену».

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

Способ 3. Массовое изменение текстовых наименований в справочниках

Иногда перед пользователями встает другая задача: не заменить ссылки на один элемент ссылками на другой, а массово переименовать элементы справочника по определенному правилу. Например, изменить часть наименования номенклатуры с «Товар 123 (10шт)» на «Товар 321 (10 шт.)».

Для решения этой задачи классический поиск и замена ссылок не подходит, так как здесь мы работаем не с объектами-ссылками, а с текстовым реквизитом Наименование. Рассмотрим три эффективных метода решения этой проблемы.

Вариант А. Групповое изменение реквизитов с использованием произвольного алгоритма

Этот способ является наиболее гибким и не требует установки сторонних программ. Он доступен администраторам прямо в режиме предприятия:

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

Объект.Наименование = СтрЗаменить(Объект.Наименование, "123 (10шт)", "321 (10 шт.)");
  1. Нажмем кнопку «Выполнить». Программа последовательно обойдет все выбранные элементы справочника, применит функцию СтрЗаменить для корректировки текста в наименовании и запишет обновленные карточки товаров.

Вариант Б. Применение специализированных внешних обработок

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

Вариант В. Экспорт и импорт данных через Excel

Если правил замены очень много и они сложные, самым простым выходом будет использование табличного редактора Excel:

  1. Выгрузим список номенклатуры из 1С в файл Excel. Обязательно добавим в выгрузку уникальный идентификатор элемента — Код или Артикул, а также колонку Наименование.
  2. Откроем полученный файл в Excel и воспользуемся стандартной функцией замены данных (сочетание клавиш Ctrl + H). С помощью формул или ручной замены приведем наименования к нужному нам виду.
  3. Сохраним файл и вернемся в 1С.
  4. Откроем стандартную обработку «Загрузка данных из табличного документа».
  5. Загрузим наш обновленный файл Excel. На этапе настройки сопоставления полей укажем, что поле Код (или Артикул) является ключом поиска, а поле Наименование подлежит обновлению.
  6. Запустим процесс загрузки. Программа найдет существующие карточки в базе по их кодам и обновит наименования на новые, не создавая при этом нежелательных дублей.

Подводя итог, можно сказать, что хотя классическая обработка «Поиск и замена значений» ушла в прошлое вместе с обычными формами платформы 8.2, современные конфигурации на базе 1С 8.3 предоставляют куда более безопасные, гибкие и мощные инструменты для контроля и изменения данных в информационной базе.

← На главную