Справочники и Данные · 9 мин
Как заменить слово в 1С: рабочие способы
Как заменить слово в 1С: поиск и замена текста в документах, обработка «Групповое изменение реквизитов», замена значений в справочниках и безопасные приёмы работы.
Задача заменить слово в 1С возникает в двух разных ситуациях. Первая — нужно заменить текст внутри конкретного документа, например в печатной форме, текстовом поле или макете. Вторая — требуется массово исправить значение во множестве объектов базы: переименовать номенклатуру, поправить наименование контрагента, заменить реквизит в сотнях документов. Способы решения принципиально отличаются, и выбор неправильного инструмента может привести к порче данных.
В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, ERP, Зарплата и управление персоналом) для массовых изменений предусмотрена штатная обработка «Групповое изменение реквизитов». Для точечной правки текста внутри одного объекта достаточно стандартного редактирования полей. Программная замена через встроенный язык нужна только в нестандартных случаях и требует навыков разработки.
Перед любыми массовыми изменениями обязательно сделайте резервную копию базы. Ошибочная групповая замена может затронуть тысячи объектов, и откатить её без бэкапа будет невозможно.
Определите, какая именно замена вам нужна
Прежде чем искать инструмент, ответьте на два вопроса: где находится слово и сколько объектов нужно изменить. От ответа зависит весь дальнейший порядок действий.
Если слово находится в одном открытом документе — в поле «Комментарий», в тексте печатной формы, в наименовании элемента справочника — достаточно отредактировать это поле вручную. Это самый безопасный сценарий: вы видите результат сразу и контролируете каждое изменение.
Если одно и то же слово или значение нужно исправить в десятках и сотнях объектов — например, организация сменила название, и оно встречается в договорах, номенклатуре и документах — ручная правка непрактична. Здесь нужна групповая обработка с фильтрами и предварительным просмотром результата.
Как выбрать способ замены
Точечная замена слова в документе или справочнике
Откройте нужный документ или элемент справочника двойным щелчком. Найдите поле, содержащее слово: наименование, комментарий, описание, адрес. Установите курсор в поле, выделите старое слово и введите новое. Затем нажмите «Записать» или «Записать и закрыть» — без записи изменения не сохранятся.
Если объект открыт в режиме просмотра, сначала нажмите кнопку «Изменить» или клавишу F2 — в типовых конфигурациях многие формы по умолчанию защищены от случайной правки. Это сделано намеренно, чтобы исключить случайное изменение данных при просмотре.
В длинных текстовых полях и табличных документах удобно использовать стандартный поиск: нажмите Ctrl+F, введите искомое слово, и программа подсветит все вхождения. В табличном документе (например, в редактируемой печатной форме) доступна и замена: откройте меню «Правка» или используйте сочетание клавиш замены, укажите старое и новое значение.
Массовая замена через «Групповое изменение реквизитов»
Это основной штатный инструмент для замены слов и значений сразу во многих объектах. В типовых конфигурациях обработка находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов». В некоторых конфигурациях путь может немного отличаться, но обработка доступна по поиску в меню «Все функции».
Порядок работы такой. Сначала выберите тип объектов: «Документы», «Справочники» или конкретный вид, например «Номенклатура». Затем настройте отбор — условия, по которым отберутся только нужные элементы: например, все товары, в наименовании которых встречается старое слово. После этого укажите, какой реквизит менять и на какое значение.
Перед выполнением обработка показывает список объектов, которые будут изменены. Обязательно просмотрите этот список: убедитесь, что в него не попали лишние элементы. Только после проверки нажимайте кнопку изменения и дождитесь завершения.
- 1Сделайте резервную копию базы
- 2Откройте «Администрирование» → «Обслуживание» → «Групповое изменение реквизитов»
- 3Выберите вид объектов и настройте отбор по условию
- 4Укажите реквизит и новое значение
- 5Проверьте список объектов, которые будут изменены
- 6Запустите изменение и проверьте результат на нескольких объектах
Учтите ограничение: обработка заменяет значение реквизита целиком, а не отдельное слово внутри длинной строки. Если нужно заменить только часть наименования (например, убрать аббревиатуру из названий тысячи товаров), штатными средствами это решается сложнее — потребуется либо дополнительный режим обработки, либо помощь разработчика.
Поиск и замена в текстах, макетах и конфигураторе
Стандартный механизм «найти и заменить» работает в текстовых редакторах платформы. В поле многострочного текста, в редакторе табличного документа и в конфигураторе нажмите Ctrl+F для поиска. Для замены в конфигураторе используйте меню «Правка» → «Заменить» или сочетание Ctrl+H: укажите искомую строку, строку замены и область поиска — текущий модуль или вся конфигурация.
Глобальная замена по всей конфигурации — мощный, но опасный инструмент. Замена короткого слова может затронуть имена переменных, процедур и строковые литералы одновременно, что нарушит работу кода. Всегда включайте опцию поиска целых слов, если заменяете имена, и просматривайте каждое вхождение перед подтверждением.
Для поиска по данным всей базы (не по коду) в пользовательском режиме есть полнотекстовый поиск — обычно поле поиска в верхней части окна программы. Он находит объекты, содержащие слово, но сам по себе ничего не заменяет: дальше объекты открывают и правят вручную или обрабатывают групповой обработкой.
Программная замена через обработку на встроенном языке
Когда штатных средств не хватает — например, нужно заменить подстроку внутри наименований по шаблону или обработать данные по сложному условию — задачу решает разработчик. Типовой подход: запрос выбирает нужные объекты, цикл обходит их, функция СтрЗаменить() подменяет фрагмент текста, объект записывается.
Пример простейшего кода замены подстроки в наименованиях номенклатуры:
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ Наименование ПОДОБНО &Шаблон");
Запрос.УстановитьПараметр("Шаблон", "%СтароеСлово%");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.Наименование = СтрЗаменить(Объект.Наименование, "СтароеСлово", "НовоеСлово");
Объект.Записать();
КонецЦикла;Такую обработку должен писать и запускать специалист: ошибка в условии отбора или в логике замены изменит данные по всей базе. Запуск выполняют только на копии или после резервного копирования, а результат проверяют выборочно на нескольких объектах.
Проверка результата и типичные ошибки
После любой замены — ручной или групповой — проверьте результат. Откройте несколько изменённых объектов и убедитесь, что текст корректен: не появились ли двойные пробелы, обрезанные слова, нарушенные окончания. Если менялся реквизит, участвующий в печатных формах, сформируйте одну печатную форму и посмотрите её.
Дополнительная проверка — повторный поиск старого слова через полнотекстовый поиск или отбор в списке. Если старое значение всё ещё находится там, где его быть не должно, значит, отбор был неполным и часть объектов пропущена.
Частые вопросы
Как заменить слово сразу во всех документах 1С?
Через обработку «Групповое изменение реквизитов» в разделе «Администрирование» → «Обслуживание». Выберите вид документов, настройте отбор по условию, укажите реквизит и новое значение, проверьте список объектов и выполните изменение. Перед этим создайте резервную копию базы.
Можно ли заменить только часть слова в наименовании товаров?
Штатная групповая обработка обычно заменяет значение реквизита целиком. Для замены подстроки внутри наименования нужна программная обработка с функцией СтрЗаменить() — такую задачу выполняет разработчик, предварительно проверяя логику на копии базы.
Как отменить ошибочную групповую замену?
Штатной кнопки «отменить» у групповых обработок нет. Восстановить данные можно только из резервной копии, сделанной до изменения. Поэтому бэкап перед массовой заменой — обязательный шаг, а не рекомендация.
Почему после замены в печатной форме старый текст появился снова?
Печатные формы формируются из данных объекта при каждом открытии. Если вы исправили текст только в самой форме, при следующей печати она снова возьмёт значение из реквизита. Исправляйте данные в карточке объекта, а не в отпечатке.
Как найти, где в базе встречается нужное слово?
Используйте полнотекстовый поиск — поле поиска в верхней части окна программы. Он покажет список объектов, содержащих слово. Если поиск ничего не находит, возможно, индекс полнотекстового поиска устарел — его обновление выполняется в разделе администрирования.
Нужны ли права администратора для групповой замены?
Да, обработка «Групповое изменение реквизитов» обычно доступна только пользователям с правами администратора. Если у вас её нет в меню, обратитесь к администратору базы — это ограничение защищает данные от случайных массовых изменений.
Что важно запомнить
Одиночное слово правьте вручную в поле объекта с последующей записью. Массовую замену выполняйте обработкой «Групповое изменение реквизитов» с отбором и предпросмотром. Перед любыми групповыми изменениями делайте резервную копию, а после — проверяйте результат на нескольких объектах.