Как изменить уникальный идентификатор внешнего отчета или обработки в 1С?

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

При разработке отчетов и обработок в 1С часто возникает ситуация, когда после копирования файла внешнего отчета (epf) или обработки (erf) система считает их идентичными. Это приводит к конфликтам: настройки пользователей пересекаются, отчеты открываются некорректно, или платформа вовсе отказывается запускать второй экземпляр, если первый уже активен. Это происходит потому, что внутренний уникальный идентификатор (UUID) объекта остается прежним. Давайте разберем, как эффективно решить эту проблему и принудительно изменить идентификатор.

Способ 1: Метод пересохранения формы (для отчетов с формами)

Этот метод подходит, если у вашего отчета или обработки есть пользовательская форма. Суть метода заключается в принудительном удалении и повторном создании формы, что заставляет платформу сгенерировать для нее новый идентификатор.

  1. Откройте нужный отчет или обработку в Конфигураторе.
  2. Перейдите в ветку Формы и сохраните существующую форму во внешний файл (нажмите Ctrl+C в списке форм или выберите экспорт).
  3. Удалите текущую основную форму из дерева метаданных отчета.
  4. Вставьте сохраненную форму обратно (Ctrl+V).
  5. Установите эту форму как основную, вызвав контекстное меню и выбрав соответствующий пункт.

После сохранения файла epf/erf на диск 1С присвоит отчету новый UUID, что исключит конфликты настроек.

Способ 2: Метод через «Конфигурацию» (самый надежный)

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

  1. Запустите Конфигуратор любой базы данных (можно пустой).
  2. В дереве конфигурации перейдите к разделу Отчеты или Обработки.
  3. Нажмите правой кнопкой мыши и выберите Вставить отчет/обработку из файла. Выберите ваш исходный файл.
  4. После того как объект появился в конфигурации, нажмите правой кнопкой на него и выберите Копировать.
  5. У вас появится копия объекта с новым внутренним UID.
  6. Нажмите правой кнопкой на созданную копию и выберите Сохранить как внешний отчет/обработку.

Теперь у вас есть файл, который полностью независим от оригинала. Этот способ гарантирует, что СКД, Макеты и Формы получат абсолютно новые идентификаторы.

Способ 3: Метод замены формы через F9

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

  1. Откройте отчет в Конфигураторе.
  2. В ветке Формы выберите форму и нажмите F9 (копирование).
  3. Назначьте новую скопированную форму Основной формой.
  4. Удалите старую, исходную форму.
  5. Сохраните файл на диск.

Этот простой трюк часто помогает «обмануть» кэш настроек 1С, так как основная точка входа (форма) получила новый идентификатор, и платформа начинает воспринимать отчет как новый объект.

Важные рекомендации при работе с СКД

Если вы работаете с отчетами на СКД (Система компоновки данных), помните, что настройки пользователя часто привязываются не только к отчету, но и к самой схеме. Если проблема сохраняется, выполните следующие действия:

Помните про кэш! Если после всех манипуляций отчет все еще открывается «по-старому», очистите кэш 1С:Предприятия. Также проверьте справочник Сохраненные настройки (если он есть в вашей конфигурации), так как там могут храниться записи со старыми идентификаторами, которые могут подтягиваться автоматически.

Используя эти методы, вы сможете легко создавать копии своих разработок, избегая конфликтов и ошибок в работе пользователей.

← На главную