Поиск и массовая замена слова в данных 1С: от одного документа до всей базы
Содержание
Чтобы заменить слово в одном поле — встаньте в поле и поправьте текст вручную; чтобы найти, где это слово встречается во всей базе, — глобальный поиск по кнопке с лупой наверху окна; чтобы заменить его сразу в сотнях записей — обработка Групповое изменение реквизитов (Все функции → Стандартные → Групповое изменение реквизитов). Выбор зависит от того, правите вы одну запись или массив и меняете значение целиком или только его часть.
Разберём четыре инструмента и границы каждого: встроенный поиск в форме, полнотекстовый поиск по информационной базе, групповую замену значения реквизита и замену подстроки внутри текста. Отдельно — чем тут помогает и чем не помогает Конфигуратор, и как замена отражается на проведённых документах.
Чем отличается замена в данных от замены в конфигурации
Прежде чем что-то менять, определите, где лежит слово.
- 📄 В данных — это реквизиты справочников и документов: комментарий, наименование контрагента, назначение платежа, содержание услуги. Их правят в режиме
1С:Предприятие. - ⚙️ В конфигурации — это тексты на кнопках, заголовки форм, подписи колонок, строки в модулях. Их правят в
Конфигураторе, и к пользовательским записям они отношения не имеют.
Запрос «заменить слово в 1С» почти всегда про данные. Если же нужно переименовать подпись поля или поправить текст в печатной форме — это совсем другая задача, про конфигурацию, и решается она иначе (коротко — в предпоследнем разделе).
Сначала поймите масштаб: одна запись, десяток или вся база. От этого зависит, хватит ли ручной правки или нужна групповая обработка.
Поиск и правка слова в открытом списке или документе
Самый частый случай — найти запись с нужным словом в открытом списке и поправить её.
- Откройте нужный список (например,
Справочники → Контрагентыили журнал документов ). - Нажмите
Ctrl+Fили начните печатать искомое слово — вверху списка появится строка поиска. - 1С отфильтрует или подсветит строки, где встречается текст. Стрелками переходите между совпадениями.
- Откройте найденную запись двойным щелчком, встаньте в поле и замените слово вручную.
- Запишите изменение кнопкой
Записать и закрыть.
Поиск в списке ищет по видимым колонкам. Если слово лежит в поле, которого нет в списке (скажем, в комментарии документа), откройте сам документ и ищите внутри его формы.
Когда совпадений много, удобнее не перебирать их стрелками, а оставить на экране только нужные строки. Для этого используйте не быстрый поиск, а отбор списка: нажмите Еще → Настроить список и задайте условие по колонке — например, «Наименование содержит» и ваше слово. Список покажет только подходящие записи, и вы спокойно пройдёте по ним. Такой отбор пригодится и дальше — по нему же удобно задавать выборку для групповой замены.
Правка вручную безопаснее всего: вы видите каждую запись перед сохранением и не заденете лишнего. Минус один — так разумно менять единицы записей, не сотни.
Если список большой, не снимайте отбор по периоду перед поиском — иначе 1С будет перебирать всю историю и подвиснет. Сначала сузьте период, потом ищите.
Глобальный поиск слова по всей информационной базе
Когда неизвестно, в каком справочнике или документе встречается слово, помогает полнотекстовый поиск — он просматривает сразу все объекты базы.
Запускается он кнопкой с изображением лупы в верхней части окна программы (в типовых конфигурациях на «Такси» она в правом верхнем углу). Введите слово или фразу и нажмите Найти. Результат — список ссылок на документы, элементы справочников и регистры, где встретился текст, с переходом по клику.
Поддерживаются условия поиска:
- точная фраза — возьмите её в кавычки:
"основной договор"; - несколько слов — найдутся записи, где есть все они;
- часть слова — символ
*в конце:догов*найдёт «договор», «договорённость», «договорной».
Чтобы полнотекстовый поиск находил свежие записи, индекс должен быть актуальным. Управляют им через Все функции → Стандартные → Управление полнотекстовым поиском. Там же индекс обновляют вручную, если поиск перестал находить недавно введённые данные.
Если пункта Все функции нет в главном меню, включите его: Сервис → Параметры → Отображать команду "Все функции" (в «Такси» — через меню настроек программы).
Результаты поиска сгруппированы по типам объектов — отдельно справочники, отдельно документы, отдельно регистры. По группировке сразу видно, где именно живёт слово: только в комментариях документов или ещё и в наименованиях справочника. Это подсказывает, какой инструмент замены понадобится и сколько записей придётся править.
Полнотекстовый поиск находит, но не заменяет. Это инструмент разведки: он показывает, где слово встречается и сколько раз, чтобы вы оценили объём работы и выбрали способ замены.
Массовая замена значения реквизита через групповое изменение
Когда слово нужно заменить одинаково в десятках и сотнях записей, вручную это нереально. Для этого есть штатная обработка Групповое изменение реквизитов.
Открывается она так: Все функции → Стандартные → Групповое изменение реквизитов. В типовых конфигурациях на базе Библиотеки стандартных подсистем её можно вызвать и из списка — через меню Еще над таблицей.
Порядок работы:
- В поле
Изменятьвыберите, что правите, — например, справочникКонтрагентыили документРеализация. - Задайте отбор, чтобы захватить только нужные записи (по группе, по дате, по значению реквизита). Без отбора обработка затронет все элементы — это и есть главная причина испорченных баз.
- На вкладке с реквизитами выберите поле, которое меняете, и укажите новое значение.
- Нажмите
Изменить реквизитыи дождитесь завершения.
Так удобно заменить значение целиком: поставить всем выбранным контрагентам нового ответственного менеджера, сменить статью затрат, проставить одинаковый комментарий. Обработка меняет значение поля на заданное — это замена значения, а не правка слова внутри строки.
Отбор можно задать двумя путями. Первый — условием (по группе, периоду, значению реквизита): так берут записи по признаку. Второй — ручным выбором: открыть список, выделить нужные строки с зажатым Ctrl и вызвать обработку уже на выделенных. Второй способ надёжнее, когда записей немного и важно не задеть лишние: вы заранее видите точный состав того, что меняете.
Групповое изменение переписывает данные пакетно и без отката. Перед запуском на рабочей базе сделайте резервную копию: Администрирование → Обслуживание → Резервное копирование и восстановление (или выгрузите базу в файл .dt из Конфигуратора). Откатить массовую правку можно только из копии.
Замена части слова внутри текстового поля
Групповое изменение ставит новое значение целиком. А если нужно заменить фрагмент — например, во всех договорах поменять «ООО Ромашка» на «ООО Ромашка-Плюс», сохранив остальной текст реквизита, — нужна замена подстроки.
Для этого в групповом изменении реквизитов есть режим ввода значения по формуле (включается, когда вы разворачиваете дополнительные настройки заполнения значения). В формуле применяют встроенную функцию СтрЗаменить:
СтрЗаменить(ТекущийРеквизит, "Ромашка", "Ромашка-Плюс")
СтрЗаменить принимает три аргумента: исходную строку, искомый фрагмент и фрагмент-замену — и возвращает строку, где все вхождения заменены. Регистр учитывается: «Ромашка» и «ромашка» для функции разные слова.
Если типовых возможностей не хватает (нужны сложные условия, несколько полей сразу), применяют внешнюю обработку
«Поиск и замена»: такие обработки распространяются как файлы .epf и запускаются через Файл → Открыть. Прежде чем запускать чужую обработку на рабочей базе, проверьте её на копии и убедитесь, что понимаете, какие объекты она затронет.
Для разовой точечной замены в одном-двух полях формула и внешняя обработка — избыточны. Они оправданы, когда правите массив и именно часть текста, а не всё поле.
Что можно и чего нельзя сделать через Конфигуратор
Здесь чаще всего путаница. В Конфигураторе тоже есть поиск и замена (Правка → Глобальный поиск, Правка → Заменить, сочетание Ctrl+H), но работают они по тексту конфигурации — по модулям, макетам, формам, — а не по данным, которые ввели пользователи.
Что уместно делать в Конфигураторе:
- заменить слово в коде модуля или в формуле (
Ctrl+Hв открытом модуле); - найти, где по всей конфигурации встречается имя переменной или строка (
Глобальный поиск); - поправить тексты интерфейса — подписи кнопок и полей — через
Правка → Редактирование текстов интерфейса.
Чего Конфигуратор не делает: он не меняет содержимое справочников и документов. Чтобы поправить слово в комментарии документа, Конфигуратор бесполезен — это задача для режима 1С:Предприятие.
Правка конфигурации на типовой поставке снимает её с поддержки и осложняет будущие обновления. Если нужно поменять только подпись или текст печатной формы — делайте это расширением конфигурации, а не правкой типовой. Менять конфигурацию есть смысл, когда база уже на сопровождении специалиста.
Как замена отражается на проведённых документах и отчётах
Это упускают чаще всего. Отчёты в 1С строятся не по реквизитам документов напрямую, а по движениям в регистрах — проводкам, остаткам, начислениям. Пока документ не перепроведён, движения хранят старое значение.
Поэтому:
- 📊 если вы заменили реквизит, который влияет на учёт (статью затрат, счёт, подразделение), документы нужно перепровести, иначе в отчётах останутся прежние суммы и аналитика;
- ✍️ если заменили «косметический» реквизит (комментарий, примечание), на проводки это не влияет — перепроводить не нужно;
- 🔒 массовая замена в закрытом периоде может не пройти из-за даты запрета изменения (
Администрирование → Настройки пользователей и прав → Даты запрета изменения). Снимать запрет ради правки задним числом — только осознанно, с пониманием, что это затронет уже сданную отчётность.
Перепровести документы
пачкой можно через Операции → Групповое перепроведение документов (точный путь зависит от конфигурации; в журнале документов перепроведение доступно и через меню Еще). Задайте период и виды документов, чтобы не гонять перепроведение по всей базе без нужды. После замены и перепроведения сверьте ключевой отчёт — оборотно-сальдовую ведомость или нужный регистр — чтобы убедиться, что данные встали корректно.
Если заменённый реквизит участвует в печатных формах (назначение платежа, наименование в акте), проверьте заодно и печать: данные там подставляются из документа при формировании, и после правки их стоит перевыпустить, а не брать ранее сохранённый файл.
Типичные ошибки при замене текста
Отдельно о том, из-за чего массовая замена чаще всего приводит к потере данных.
| Ошибка | Чем грозит | Как избежать |
|---|---|---|
| Запуск без резервной копии | Откатить нечем | Копия перед каждой групповой правкой |
| Групповое изменение без отбора | Переписаны все записи базы | Сначала задать отбор, проверить количество |
| Замена значения вместо подстроки | Затёрт остальной текст поля | Использовать СтрЗаменить, а не замену целиком |
| Не учтён регистр | Часть вхождений не заменилась | Проверить, как слово написано в данных |
| Забыли перепровести документы | В отчётах старые суммы | Перепровести затронутые документы |
Проверяйте результат на 2–3 записях, прежде чем запускать замену на всём массиве. Пара минут на контрольной выборке дешевле восстановления базы из копии.
Частые вопросы
Можно ли отменить массовую замену одной кнопкой?
Почему полнотекстовый поиск не находит слово, которое точно есть в базе?
Все функции → Стандартные → Управление полнотекстовым поиском. Также поиск не находит слишком короткие слова и служебные части речи — попробуйте более длинный фрагмент или поиск по части слова со звёздочкой.Чем отличается замена значения от замены подстроки?
СтрЗаменить в формуле, обычная групповая замена этого не делает.