К статье
Практический материал

Справочники и Данные · 9 мин

Как заменить слово в 1С: рабочие способы

Как заменить слово в 1С: поиск и замена текста в документах, обработка «Групповое изменение реквизитов», замена значений в справочниках и безопасные приёмы работы.

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

В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, ERP, Зарплата и управление персоналом) для массовых изменений предусмотрена штатная обработка «Групповое изменение реквизитов». Для точечной правки текста внутри одного объекта достаточно стандартного редактирования полей. Программная замена через встроенный язык нужна только в нестандартных случаях и требует навыков разработки.

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

Определите, какая именно замена вам нужна

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

Если слово находится в одном открытом документе — в поле «Комментарий», в тексте печатной формы, в наименовании элемента справочника — достаточно отредактировать это поле вручную. Это самый безопасный сценарий: вы видите результат сразу и контролируете каждое изменение.

Если одно и то же слово или значение нужно исправить в десятках и сотнях объектов — например, организация сменила название, и оно встречается в договорах, номенклатуре и документах — ручная правка непрактична. Здесь нужна групповая обработка с фильтрами и предварительным просмотром результата.

Маршрут решения

Как выбрать способ замены

Слово в одном документе или элементе справочникаОткройте объект и отредактируйте поле вручную
Значение нужно заменить во многих объектах одного видаИспользуйте «Групповое изменение реквизитов» с отбором
Замена в текстовом файле, макете или модуле конфигурацииИспользуйте поиск и замену (Ctrl+F, Ctrl+H) в редакторе
Требуется сложная логика замены по условиямПоручите задачу разработчику — нужна обработка на встроенном языке

Точечная замена слова в документе или справочнике

Откройте нужный документ или элемент справочника двойным щелчком. Найдите поле, содержащее слово: наименование, комментарий, описание, адрес. Установите курсор в поле, выделите старое слово и введите новое. Затем нажмите «Записать» или «Записать и закрыть» — без записи изменения не сохранятся.

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

В длинных текстовых полях и табличных документах удобно использовать стандартный поиск: нажмите Ctrl+F, введите искомое слово, и программа подсветит все вхождения. В табличном документе (например, в редактируемой печатной форме) доступна и замена: откройте меню «Правка» или используйте сочетание клавиш замены, укажите старое и новое значение.

Массовая замена через «Групповое изменение реквизитов»

Это основной штатный инструмент для замены слов и значений сразу во многих объектах. В типовых конфигурациях обработка находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов». В некоторых конфигурациях путь может немного отличаться, но обработка доступна по поиску в меню «Все функции».

Порядок работы такой. Сначала выберите тип объектов: «Документы», «Справочники» или конкретный вид, например «Номенклатура». Затем настройте отбор — условия, по которым отберутся только нужные элементы: например, все товары, в наименовании которых встречается старое слово. После этого укажите, какой реквизит менять и на какое значение.

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

Порядок групповой замены
  1. 1
    Сделайте резервную копию базы
  2. 2
    Откройте «Администрирование» → «Обслуживание» → «Групповое изменение реквизитов»
  3. 3
    Выберите вид объектов и настройте отбор по условию
  4. 4
    Укажите реквизит и новое значение
  5. 5
    Проверьте список объектов, которые будут изменены
  6. 6
    Запустите изменение и проверьте результат на нескольких объектах

Учтите ограничение: обработка заменяет значение реквизита целиком, а не отдельное слово внутри длинной строки. Если нужно заменить только часть наименования (например, убрать аббревиатуру из названий тысячи товаров), штатными средствами это решается сложнее — потребуется либо дополнительный режим обработки, либо помощь разработчика.

Поиск и замена в текстах, макетах и конфигураторе

Стандартный механизм «найти и заменить» работает в текстовых редакторах платформы. В поле многострочного текста, в редакторе табличного документа и в конфигураторе нажмите Ctrl+F для поиска. Для замены в конфигураторе используйте меню «Правка» → «Заменить» или сочетание Ctrl+H: укажите искомую строку, строку замены и область поиска — текущий модуль или вся конфигурация.

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

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

Программная замена через обработку на встроенном языке

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

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

1c
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ Наименование ПОДОБНО &Шаблон");
Запрос.УстановитьПараметр("Шаблон", "%СтароеСлово%");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Объект = Выборка.Ссылка.ПолучитьОбъект();
    Объект.Наименование = СтрЗаменить(Объект.Наименование, "СтароеСлово", "НовоеСлово");
    Объект.Записать();
КонецЦикла;

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

Проверка результата и типичные ошибки

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

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

Типичные ошибки
01
Замена без резервной копии — при ошибке данные не восстановить
02
Слишком широкий отбор в групповой обработке — изменяются лишние объекты
03
Замена подстроки без учёта вхождений внутри других слов — например, замена «кол» заденет «колонка»
04
Правка только печатной формы вместо реквизита — в следующих документах ошибка появится снова
05
Забытая запись объекта после ручной правки — изменения теряются

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

Как заменить слово сразу во всех документах 1С?

Через обработку «Групповое изменение реквизитов» в разделе «Администрирование» → «Обслуживание». Выберите вид документов, настройте отбор по условию, укажите реквизит и новое значение, проверьте список объектов и выполните изменение. Перед этим создайте резервную копию базы.

Можно ли заменить только часть слова в наименовании товаров?

Штатная групповая обработка обычно заменяет значение реквизита целиком. Для замены подстроки внутри наименования нужна программная обработка с функцией СтрЗаменить() — такую задачу выполняет разработчик, предварительно проверяя логику на копии базы.

Как отменить ошибочную групповую замену?

Штатной кнопки «отменить» у групповых обработок нет. Восстановить данные можно только из резервной копии, сделанной до изменения. Поэтому бэкап перед массовой заменой — обязательный шаг, а не рекомендация.

Почему после замены в печатной форме старый текст появился снова?

Печатные формы формируются из данных объекта при каждом открытии. Если вы исправили текст только в самой форме, при следующей печати она снова возьмёт значение из реквизита. Исправляйте данные в карточке объекта, а не в отпечатке.

Как найти, где в базе встречается нужное слово?

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

Нужны ли права администратора для групповой замены?

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

Итог

Что важно запомнить

Одиночное слово правьте вручную в поле объекта с последующей записью. Массовую замену выполняйте обработкой «Групповое изменение реквизитов» с отбором и предпросмотром. Перед любыми групповыми изменениями делайте резервную копию, а после — проверяйте результат на нескольких объектах.