Как массово привести наименования товаров в 1С к правильному регистру?

Программист 1С v8.3 (Обычные формы) Промышленность, строительство и АПК
← На главную

Часто в процессе работы с базами данных 1С, особенно в таких конфигурациях как 1С:УПП, мы сталкиваемся с проблемой «разношерстного» написания наименований товаров. Где-то буквы строчные, где-то заглавные, что затрудняет поиск и портит внешний вид печатных документов. Давайте разберемся, как с помощью инструментов 1С привести эти данные в порядок.

Использование функций платформы для работы с регистрами

Платформа 1С обладает встроенными функциями, которые позволяют программно изменять регистр символов. Рассмотрим основные из них:

Важно помнить, что функция ТРег() действует автоматически на все слова, разделенные пробелами. Если ваше наименование содержит аббревиатуры или предлоги, например, «Станок для обработки ММ», то ТРег() превратит его в «Станок Для Обработки Мм», что может быть нежелательно.

Решение задачи через групповую обработку

Если вам нужно исправить тысячи записей, ручное редактирование будет слишком долгим. Мы воспользуемся обработкой «Универсальные подбор и обработка объектов». Выполним следующие шаги:

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

Рассмотрим пример кода, который делает первый символ заглавным, а остальные оставляет как есть (или переводит в нижний регистр):


Объект.Наименование = Врег(Лев(Объект.Наименование, 1)) + Сред(Объект.Наименование, 2);
Объект.НаименованиеПолное = Врег(Лев(Объект.НаименованиеПолное, 1)) + Сред(Объект.НаименованиеПолное, 2);
Объект.Записать();

Важные рекомендации по безопасности данных

Перед тем как приступать к массовому изменению справочников, необходимо учитывать критические риски:

Резервное копирование: Всегда делайте актуальный бэкап базы данных. Групповая обработка без возможности отката может привести к необратимым изменениям.

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

Поля данных: В конфигурациях часто используется два поля: Наименование (короткое) и НаименованиеПолное (для печати). Чтобы избежать путаницы в отчетах и документах, вносите изменения в оба поля одновременно.

Альтернативные подходы

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

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

← На главную