Как исправить ошибку ОбщаяКартинка.Информация: Имя не уникально! в 1С?

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

Многие разработчики при переходе на новые версии платформы 1С:Предприятие 8.3 (начиная с релизов 8.3.17.х и выше) сталкиваются с диагностическим сообщением при сохранении или обновлении конфигурации: ОбщаяКартинка.Информация: Имя не уникально!. Эта ситуация может возникнуть даже в тех конфигурациях, которые не менялись годами и успешно работали ранее. Разберем детально природу этого явления и выясним, как с ним бороться.

Выясним причину возникновения ошибки

Проанализируем ситуацию: почему платформа внезапно начала выдавать предупреждение о неуникальности имени объекта, если в дереве метаданных конфигурации картинка Информация присутствует в единственном экземпляре? Причина кроется в развитии самой платформы «1С:Предприятие».

Начиная с версии 8.3.17, фирма «1С» расширила состав стандартных (встроенных в платформу) картинок. В ядро системы были добавлены новые ресурсы, которые получили идентификаторы, совпадающие с наиболее часто используемыми именами в прикладных решениях. К ним относятся:

Когда вы открываете конфигурацию в новой версии платформы, Конфигуратор видит конфликт: у вас в дереве метаданных (в ветке Общие -> Общие картинки) есть объект с именем Информация, и в самой платформе теперь зарезервировано точно такое же имя для стандартной картинки. Именно об этом пересечении пространств имен и сообщает система.

Почему не помогает режим совместимости?

Рассмотрим важный нюанс: многие программисты пытаются решить проблему понижением режима совместимости конфигурации (например, до 8.3.12 или 8.3.15), но предупреждение не исчезает. Это происходит потому, что проверка уникальности имен — это механизм самого Конфигуратора как приложения. Он «видит» свои встроенные ресурсы всегда, независимо от того, какая логика исполнения задана для конкретной информационной базы. Таким образом, это не ошибка исполнения кода, а предупреждение среды разработки о потенциальном конфликте.

Вариант решения 1: Игнорирование сообщения

Проанализируем последствия, если оставить все как есть. Данное сообщение является предупреждением, а не критической ошибкой. Оно не препятствует обновлению конфигурации базы данных и не приводит к аварийному завершению работы пользователей. Если это сообщение не мешает вашим процессам автоматизированной сборки (CI/CD), вы можете просто игнорировать его. Платформа в данном случае будет отдавать приоритет картинке из вашей конфигурации при обращении через код ОбщаяКартинка.Информация.

Вариант решения 2: Переименование объекта в конфигурации

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

  1. Найдите в дереве метаданных объект ОбщаяКартинка.Информация.
  2. Переименуйте его в нечто уникальное, например, в ИнформационнаяИконка или Картинка_Информация_Своя.
  3. После переименования необходимо выполнить глобальный поиск по всей конфигурации (Ctrl+Shift+F) по строке "ОбщаяКартинка.Информация", чтобы найти упоминания в программном коде.
  4. Замените старое имя на новое во всех модулях и свойствах форм.

Рассмотрим пример кода, который может потребовать правки:


// Было:
Элементы.ГруппаИнформация.Картинка = БиблиотекаКартинок.Информация;

// Стало:
Элементы.ГруппаИнформация.Картинка = БиблиотекаКартинок.ИнформационнаяИконка;

Вариант решения 3: Использование стандартных ресурсов платформы

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

  1. Выясним, в каких местах конфигурации используется ваша картинка Информация.
  2. В свойствах элементов форм или команд, где выбрана эта картинка, нажмите на кнопку выбора.
  3. Перейдите в раздел "Из стандартных".
  4. Найдите там картинку с именем Информация и выберите ее.
  5. После того как все ссылки на вашу локальную общую картинку будут удалены, вы сможете просто удалить объект ОбщаяКартинка.Информация из дерева метаданных.

Важный момент: стандартные картинки платформы могут незначительно отличаться по стилистике в зависимости от версии. Проверьте визуальное отображение в интерфейсе «Такси» после замены.

Проблема автоматизации (CI/CD)

Проанализируем ситуацию для крупных проектов, где используется автоматическое обновление конфигураций через командную строку. Скрипты часто настроены на анализ потока вывода, и любое появление слова «не уникально» может восприниматься системой сборки как провал теста. В таких случаях официальная рекомендация службы поддержки 1С (зафиксированная в статусах ошибок типовых решений, например, УТ 11 или ЗУП 3) — либо использовать для разработки платформу версии 8.3.16, где этих ресурсов еще нет, либо выполнить очистку метаданных от дублирующих имен.

Заключение

Мы выяснили, что появление сообщения ОбщаяКартинка.Информация: Имя не уникально! — это штатное поведение платформы 1С версии 8.3.17 и старше. Оно сигнализирует о том, что разработчики платформы унифицировали часть графического интерфейса, добавив общие иконки в системную библиотеку. Для небольших самописных решений самым простым выходом будет игнорирование, а для профессиональной разработки — перевод конфигурации на использование стандартных картинок платформы с последующим удалением лишних объектов из метаданных.

← На главную